![787faf9419cbf8e91c6e40c157adc054.png](https://i-blog.csdnimg.cn/blog_migrate/9fe731aef2507fcb7a7dc9231a432d61.jpeg)
MATLAB的数据类型
MATLAB一共有15种基本的数据类型,其中包括:8种整数类型、单精度浮点型、双精度浮点型、逻辑数值、字符串型、单元数组型、结构体类型和函数句柄。本文介绍MATLAB中的整数、浮点数、复数和逻辑类型的数据。
整数
MATLAB的8种整数数据类型及其占用的字节数如下:
类型
字节数
![8d1a79baf031030cffac3083906153fb.png](https://i-blog.csdnimg.cn/blog_migrate/2277d78fd0aa871919b570c699a3026b.png)
MATLAB默认的数据类型为双精度浮点型,可以通过整形函数进行转换,例如:
a=1.65;
b=int8(a);
结果如下:
![cfb3e34c08c5b9e4a6623a2698f05208.png](https://i-blog.csdnimg.cn/blog_migrate/0d2b7067027406624d0d92b04311089f.png)
转换成其他类型整数的方法类似。另外,还可以通过一些取整函数将小数转化为整数:
![aecd45df93702ab5e9cded9dcad5130a.png](https://i-blog.csdnimg.cn/blog_migrate/2b479b74ad39446fa50b06688bae69b2.png)
例2 round函数:
源代码:
a1=2.3;
a2=3.6;
a3=-2.3;
a4=-4.6;
b1=round(a1)
b2=round(a2)
b3=round(a3)
b4=round(a4)
结果:
![d9c6f7a1b1aa2eff423a062d3325843d.png](https://i-blog.csdnimg.cn/blog_migrate/18cc511265ade7651db05a267cc5d2d7.png)
例3:fix函数
源代码:
a1=2.3;
a2=3.6;
a3=-2.3;
a4=-4.6;
b1=fix(a1)
b2=fix(a2)
b3=fix(a3)
b4=fix(a4)
运行结果:
![28c4db700e101e3c403b0d4e8d256d3c.png](https://i-blog.csdnimg.cn/blog_migrate/30bb0b5515e6745104659f4990f7cafd.png)
例 4 floor函数
源代码
a1=2.3;
a2=-2.3;
b1=floor(a1)
b2=floor(a2)
结果:
![2d4159aa457948362e738b30a955ec0b.png](https://i-blog.csdnimg.cn/blog_migrate/63d5416be36674c4bc3aa22fe71609ff.png)
例 5 ceil函数
源代码
a1=2.3;
a2=-2.3;
b1=ceil(a1)
b2=ceil(a2)
结果:
![fc9e05e50d9237396ca046ea10ec0a5d.png](https://i-blog.csdnimg.cn/blog_migrate/8071181438f37e6275f338db49cb04b1.png)
浮点数
浮点数包括单精度浮点数和双精度浮点数,对应类型为single和double。双精度浮点数为8个字节,即二进制数的64位,第63位是符号位,0为正,1为负;52-62位表示制数部分,0-51位表示小数部分。
单精度浮点型4个字节,即二进制数的32位,第31位是符号位,0为正,1为负;23-30位表示制数部分,0-22位表示小数部分。单精度浮点型数据表示的范围比双精度小,其精度也比双精度浮点数据小。
例 6 用whos命令查看数据所占字节数
源代码
a1=5.3
a2=single(a1)
whos
结果:
![bb8108980e708436482a16648f6da151.png](https://i-blog.csdnimg.cn/blog_migrate/6f15e35128906128fbe35ffa31587271.png)
复数
MATLAB中采用i或j表示虚数单位,可以直接赋值,a=1+2i;也可以调用complex(m,n)函数,m表示实部,n位虚部。MATLAB中常用的复数操作为:
![32bf8c3b00249f43261fa5b923959e2c.png](https://i-blog.csdnimg.cn/blog_migrate/86012562171cc0db2636566d24391f4e.png)
例 7 复数的常用操作
源代码
a=1+2i
b1=real(a)
b2=imag(a)
b3=abs(a)
b4=angle(a)
b5=conj(a)
结果:
![af713a2712c2bb8f4cc87c88a25b5574.png](https://i-blog.csdnimg.cn/blog_migrate/8bacd7229ed673d7ee03c4661cccb38d.png)
逻辑类型
MATLAB的逻辑类型包括逻辑真和逻辑假,分别用ture和flase表示,0代表逻辑假,1代表逻辑真,两种逻辑都占用一个字节。可以用logical()函数将其他类型的数值转化为逻辑值,所有非零数值都为真,0为逻辑假。
例 8 其他类型数据转换成逻辑值
源代码
a1=2;
a2=0;
a3=-1;
b1=logical(a1)
b2=logical(a2)
b3=logical(a3)
结果
![42809443deb5e76154ccb1ac297cce80.png](https://i-blog.csdnimg.cn/blog_migrate/764c591a5140dfd35d5c9493e0859b63.png)