Matlab变量及数据类型.ppt_第1页
Matlab变量及数据类型.ppt_第2页
Matlab变量及数据类型.ppt_第3页
Matlab变量及数据类型.ppt_第4页
Matlab变量及数据类型.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学实验,Matlab 数据类型,Matlab的变量及其赋值,1 变量及其赋值,变量是任何程序设计语言的基本元素之一。,Matlab 并不要求对所使用的变量进行事先声明,也不需要指定变量类型,Matlab 会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。,在赋值过程中,如果变量已经存在,Matlab 会用新值代替旧值,并以新的变量类型代替旧的变量类型。,1.1 变量命名规则,变量名的第一个字母必须是英文字母,最多可包含31个字符,英文、数字和下划线。 如:myvar201合法。,变量名中不得含空格、标点,但可以有下连符号。 如:变量名my_var_201合法的,且读起来更方便。 而my,var201不合法。,变量名是对字母大小写敏感的。 如:变量myvar和MyVar是不同变量。sin是MATLAB定义的正弦名,但SIN、Sin等都不是。,赋值就是把数赋予代表常量或变量的标识符。在MATLAB中,变量都代表矩阵。列矢量可被当作只有一列的矩阵;行矢量也可被当作只有一个行的矩阵;标量应看作11阶的矩阵。 赋值语句的一般形式为: 变量表达式(或数),1赋值要求 在输入矩阵时,应遵循以下规则: 整个矩阵的值应放在方括号 中; 同一行中各元素之间以逗号“ ,”或空格“ ”分开; 不同行的元素以分号“ ;”隔开。,向量与矩阵的生成,向量的生成,直接输入: a=1,2,3,4,冒号运算符,注:冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3 其中e1为初始值,e2为步长,e3为终止值。,向量与矩阵的生成(续),矩阵的生成,直接输入: A=1, 2, 3; 4, 5, 6; 7, 8, 9,由向量生成,由函数生成,例: x=1,2,3;y=2,3,4;, A=x,y, B=x;y,例: C=magic(3),在MATLAB中,变量的元素(即矩阵元)用圆括号“( )”中的 数字(也称为下标)来注明,一维矩阵(也称数组)中的元素用 一个下标表示,二维矩阵由两个下标数构成,以逗号分开。,3赋值技巧,(1) 利用冒号“ :”给全行的元素赋值,(2) 利用行、列标注构成新的矩阵,4特殊矩阵和数组,(1)单位矩阵函数eye() 函数功能:产生对主角线元素为1,其它元素为0的单位矩阵。 eye()的调用格式如下: A=eye(n) 返回一个nn阶单位矩阵; A=eye(m , n)返回一个mn阶单位矩阵,或A=eye(m , n);,2变量的元素的标注,(2) zeros函数、ones函数、rand以及randn函数,A=zeros(n) 返回一个nn阶零矩阵; A=zeros(m , n) 返回一个mn阶零矩阵;,(3)linspace函数和logspace函数 linspace:线性向量生成函数。产生指定长度的等差数列,调用格式及其功能如下: y=linspace(a,b):生成一个首尾分别为a和b的100个数(包含a、b)的行向量。 y=linspace(a,b,n):生成一个首尾分别为a和b的n个数(包含a、b)的行向量。,(3)linspace函数和logspace函数 logspace:对数等差数列生成函数。产生指定长度的对数等距数列,调用格式及其功能如下: y=logspace(a,b) 在10a,10b区间生成50个差值相等的数,并返回50个数以10为底的幂组成的行向量。 y=logspace(a,b,n) 在10a,10b区间生成n个差值相等的数,并返回n个数以10为底的幂组成的行向量。 y=logspace(a,pi) 在10a,pi区间生成50个差值相等的数,并返回50个数以10为底的幂组成的行向量,常用于数字信号处理。,【例】 调用linspace函数,生成一个首尾分别为0和100 , 包含100个数的等差数列。,linspace(0,100),5MATLAB内部特殊变量和常数,变量ans:临时变量,通常指示当前的答案。 常数eps:表示浮点相对精度;其值是从1.0到下一个最大浮点数之间的差值。变量值作为一些MATLAB函数计算的相对浮点精度,按IEEE标准,esp= 2-52近似为2.2204e-016。 常数realmax:表示最大正浮点数;任何大于该值的运算都溢出。在具有IEEE标准浮点格式的机器上,realmax略小于21024 ,近似为1.7977e+308。,常数realmin:表示最小正浮点数;任何小于该值的运算都溢出。在具有IEEE标准浮点格式的机器上,realmin略小于2-1024 ,近似为2.2251e-308。,常数pi:表示圆周率 =3.1415926535897.。表达式4*atan(1)和imag(log(-1)产生相同的值。 常数Inf:代表正无穷大,一般被0除或溢出则产生无穷大结果。如2/0,210000均产生结果:Inf;而log(0)产生结果:-Inf。 虚数单位i,j:表示复数虚部单位,相当于 。 NaN:表示非数值。如当Inf-Inf,Inf/Inf, 0*Inf,0/0均产生该结果。,数值类型包括有符号整数类型、无符号整数类型、单精度浮点类型和双精度浮点类型,如图所示。,6复数的赋值方式 MATLAB的每一个元素都可以是复数,实数是复数的特例。复数的虚数部分用i或j表示。对复数矩阵有两种赋值方法: (1)可将矩阵元逐个赋予复数 (2)将矩阵的实部和虚部分别赋值:,7变量检查 在程序调试或变量的赋值过程,往往需要检查工作空间中的变量、变量的阶数以及变量赋值内容。在检查变量及其阶数等内容时,既可用工作空间窗口,也可在命令窗口使用who或whos命令来完成检查。当查看某变量的赋值情况,可在命令窗口直接键入该变量名回车即可。,WHO lists the variables in the current workspace. who Your variables are: A ans b WHOS lists more information about each variable.,2 运算符与复数运算,算术运算符:进行数值计算。 关系运算符:比较两个操作数的大小。 逻辑运算符:进行逻辑运算。,2.1 算术运算符,(1)矩阵加减法“”:AB 功能:两矩阵对应元素相加减。因此,A和B两矩阵必须有相同的大小,或其中之一为标量,标量可以与任意大小的矩阵相加。 (2)矩阵相乘“*”:A*B 功能:C =A*B为两矩阵线性代数的乘积,即,(3) 矩阵元素按位相乘“.*”:A.*B 功能:矩阵A和B的对应元素相乘;因此,A和B必须大小相同,或其中之一为标量。 (4)矩阵右除“B/A”与左除“AB” 如果A为一非奇异矩阵,则B/A与AB可通过A的逆矩阵与B矩阵得到:B/A=B*inv(A); AB=inv(A)*B。,(8) 矩阵转置“ ” A表示矩阵A的线性代数转置。对于复矩阵,表示复共轭转置。 (9) 非共轭转置“ . ” A.表示非共轭转置;对于复矩阵,不包括共轭。 (10)冒号操作符“ :” 冒号是一个非常有用的操作符;可以产生向量、数组下标以及for循环。,2.2 关系操作符,关系运算是指两个元素之间数值的比较。MATLAB所提供的 关系操作符如表所示。,比较大小,如果结论是 真 ,返回 1 ,否则返回 0,注意 = 与 = 的区别,关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样。,例:,关系运算举例, 2+2=4, 23, A=1 3 5; 2 0 6; B=3 1 0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论