欢迎来到天天文库
浏览记录
ID:48977867
大小:570.50 KB
页数:57页
时间:2020-01-29
《MATLAB经典教程。第三章_数据类型.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章数据类型概述基本数据类型逻辑类型字符串结构元胞数组3.1概述早期版本:二维数组和字符类型,目前:多达十几种的基本数据类型,在不同的专业工具箱中还有特殊的数据类型。MATLAB支持的基本数据类型见图3-1。图3-1MATLAB的数据类型note:获取MATLAB的数据类型列表可以在MATLAB命令行窗口中键入helpdatatypes命令。note:1)MATLAB的M语言和其他高级编程语言不同的是,MATLAB没有具体的变量或对象声明和定义过程。(问题:c中是如何操作的?)2)元胞数组是MATLAB中常用的一种
2、独有的数据类型。(评价如何?)3.2MATLAB基本数值类型3.2.1基本数值类型入门表3-1MATLAB的基本数值类型复数数据类型复数可以用表格中所示的各种数据类型创建,但是由于复数由实部数据和虚部数据组成,所以占用的字节数为构成复数的数据类型的两倍,例如复数z=1+i,在MATLAB中占用了16个字节的内存。例子3-1使用不同的数据类型。在MATLAB命令行窗口中,键入下面的指令:>>A=[123];>>class(A)(求对应的类型)ans=double>>B=int16(A);(类型转换)>>class(B)
3、ans=int16note:1)在MATLAB中,任何数据变量都不需要预先的声明;2)MATLAB将自动地将数据类型设置为双精度类型;3)其他类型的数据,通过数据类型的转换完成;4)MATLAB的数据类型名称同样就是数据类型转换的函数。例子3-2使用不同的数据类型。在MATLAB命令行窗口中,键入下面的指令:>>a=[123];>>b=[345];>>c=a+b;>>int16(a)+int16(b)???Errorusing==>+Function'+'isnotdefinedforvaluesofclass'in
4、t16'.note:MATLAB系统默认的运算都是针对双精度类型,所以在进行两个int16类型的变量加法时,MATLAB报告了相应的错误。(解决方法:计算前后进行类型转化。)3.2.2整数类型数据运算MATLAB运算的基本数据类型为双精度的数据类型,MATLAB还另外提供了一些函数可以进行整数类型数据的运算。note:1)在计算机中的任何数据都是由二进制数来保存的。对于整数可以使用原码、反码、补码来表示。2)整数类型运算类似于c语言中的位运算。3.2.3MATLAB的常量表3-3MATLAB的常量note:1)eps
5、、realmax和realmin三个常量具体的数值与运行MATLAB的计算机相关,不同的计算机系统可能具有不同的数值。2)MATLAB的常量数值是可以修改的。例如,pi=100,这样pi这个常量的数值就变成了100。但是,如果用clear指令清除变量后,pi将变成原有的常量数值。3)Inf也可以写作inf,它为IEEE定义的算术数据无穷大数值,在MATLAB中进行诸如1.0/0.0或者exp(1000)的操作时都会得到这个数值。如果将inf应用于函数,则计算结果可能为inf或者NaN。4)NaN也可以写作nan,它为
6、IEEE规定的某种运算得到的结果,例如0/0的运算得到的结果就是NaN。NaN参与运算的结果也为NaN(关系运算除外)。(当计算结果出现NaN的时候,意味着麻烦就来了。)例子3-4NaN和Inf运算示例。在MATLAB命令行窗口中,键入下面的指令:>>a=inf;>>c=sin(a)c=NaN3.2.4空数组所谓空数组,就是指那些某一个维或者某些维的长度为0的数组。它是为了完成某些MATLAB操作和运算而专门设计的一种数组。例子3-6创建空数组。>>A=[]A=[]>>B=ones(2,3,0)B=Emptyarra
7、y:2-by-3-by-0note:空数组并不意味着什么都没有,使用whos命令可以看到空数组类型的变量在MATLAB的工作空间中确实存在。例子3-7使用空数组的例子。>>A(2,2,3)=1(多维数组,动态扩展)>>A(:,:,3)=[]A(:,:,1)=0000A(:,:,2)=0000>>B=reshape(1:24,4,6)B=159131721261014182237111519234812162024>>B(:,[234])=[]3.3逻辑类型和关系运算3.3.1逻辑数据类型1)逻辑数据类型:仅具有两个数
8、值的一种数据类型,其中,一个数值为TRUE,另外一个数值为FALSE。2)MATLAB将所有非零值看作逻辑真,将零值看作逻辑假。一般地,1表示逻辑真,0表示逻辑假。note:物理意义—表征一件事是真还是假;一个例子—分支语句(if(a>5)&&(b<3))。表3-4创建逻辑类型数据的函数例子3-8创建逻辑类型数组。(创建)在MATLAB命令行窗
此文档下载收益归作者所有