MATLAB整数型、浮点数型和字符型数据之间的操作
本文介绍了整数型、浮点数型、字符型之间的操作,整数型只能与相同的整数型或者双精度浮点数型数据进行运算。双精度浮点数与整数型运算得到整数型,双精度浮点数与单精度浮点数运算得到单精度浮点数型,单精度浮点数型与字符型运算得到单精度浮点数型,双精度浮点数型与字符型运算得到双精度浮点数型。eps函数可以获取单/双精度浮点数与真实数之间的间隙。
操作方法
- 01
第一,启动MATLAB,在命令行窗口(Command Window)输入如下代码: a=uint16(10),b=int32(20),c=int64(30) d=single(1.5),e=3.5,f='good' 其中,d,e,f另起一行输入是按Shift+Enter进行换行。
- 02
第二,输入完a,b,c, d,e,f后按回车(Enter),在命令行窗口会列出相应的数值。输入whos按回车,可以得到如下数据类型列表。 Name Size Bytes Class Attributes a 1x1 2 uint16 b 1x1 4 int32 c 1x1 8 int64 d 1x1 4 single e 1x1 8 double f 1x4 8 char 其中a属于无符号16位整数,b属于有符号32位整数,c属于有符号64位整数,d属于单精度浮点数类型,e属于双精度浮点数类型,f属于字符型。
- 03
第三,在命令行窗口输入a*b,a*c,a*d,然后按回车,会提示如下错误: 错误使用 .* 整数只能与相同类的整数或标量双精度值组合使用。
- 04
第四,既然整数只能与相同类的整数或标量双精度值组合使用,那么就输入a*a,a*e,然后按回车,得到如下结果。 ans =100 ans =35
- 05
第五,接着在命令行窗口输入d*e,d*f,e*f按回车,得到如下结果: ans =5.2500ans =154.5000 166.5000 166.5000 150.0000ans =360.5000 388.5000 388.5000 350.0000 这说明单精度浮点数与双精度浮点数之间,单精度浮点数与字符型之间,双精度浮点数与字符型之间是可以计算的。
- 06
第六,由于单精度浮点数与双精度浮点数都是用有限位数存储指数部分和小数部分,表示的数值是有限且离散。eps函数可以获取实际数值与浮点数之间的间隙。输入eps(d),eps(e)按回车得到如下结果。 ans =1.1921e-07 ans =4.4409e-16 因为d是单精度,e是双精度,可见双精度浮点型数值与实际值间隙更小。