MATLAB整数型、浮点型和逻辑型数据之间的运算

2025-10-28 05:56:22

1、第一,输入以下代码:

close all; clear all; clc

a = int32(15); b = uint32(10);

c = single(7.9); d = double(pi);

f = 'hello';

MATLAB整数型、浮点型和逻辑型数据之间的运算

2、第二,保存和运行上述代码后,在命令窗口输入whos,得到如下结果:

Name      Size            Bytes  Class     Attributes

  a         1x1                 4  int32               

  b         1x1                 4  uint32              

  c         1x1                 4  single              

  d         1x1                 8  double              

  f         1x5                10  char     

也就是说,a为有符号32位整数,b为无符号32位整数,c为单精度浮点数,d为双精度浮点数,f为字符型变量。

MATLAB整数型、浮点型和逻辑型数据之间的运算

3、第三,下面开始整数、浮点数、字符型变量之间的运行。首先是有符号32位整数a,与无符号32位整数b,单精度浮点数c之间的运算。在命令行窗口输入:one = a*b,two = a*c;然后回车出现以下结果:

整数只能与相同类的整数或标量双精度值组合使用。可见整数型与整数型变量之间的运算要是相同的整数类型,整数型与单精度浮点数也不能运算。

MATLAB整数型、浮点型和逻辑型数据之间的运算

4、第四,在命令行窗口输入three = a*d,然后回车得到如下结果:

three =47

然后输入whos three查看three的数据类型:

Name       Size            Bytes  Class    Attributes

  three      1x1                 4  int32    

可见,整数型可以与双精度浮点数运算,得到结果仍是整数型。

MATLAB整数型、浮点型和逻辑型数据之间的运算

5、第五,在命令行输入four = a*f,five = c*d,six = c*f,seven = d*f,然后回车得到如下结果:

>> four = a*f

错误使用  .* 

整数只能与相同类的整数或标量双精度值组合使用。

>> five = c*d

five =24.8186

>> six = c*f

six =821.6000  797.9000  853.2000  853.2000  876.9000

>> seven = d*f

seven =326.7256  317.3009  339.2920  339.2920  348.7168

可见,整数型与不同与字符型变量预算,单精度浮点数可以与双精度浮点数做运算,双精度浮点数可以与字符型变量做运算。

MATLAB整数型、浮点型和逻辑型数据之间的运算

6、第六,在命令行输入whos five six seven,回车得到如下结果:

  Name       Size            Bytes  Class     Attributes

  five       1x1                 4  single              

  seven      1x5                40  double              

  six        1x5                20  single  

可见单精度与双精度运算是单精度,单精度与字符型运算也是单精度,双精度与字符型运算是双精度。

MATLAB整数型、浮点型和逻辑型数据之间的运算

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢