第2章MATLAB数值计算_第1页
第2章MATLAB数值计算_第2页
第2章MATLAB数值计算_第3页
第2章MATLAB数值计算_第4页
第2章MATLAB数值计算_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 MATLAB数值计算 (Mathematics),第2章 MATLAB数值计算,2.1 变量和数据 2.2 矩阵和数组 2.3稀疏矩阵 2.4多项式 2.5元胞数组和结构数组 2.6数据分析,2.1 变量和数据2.1.1 数据类型,MATLAB7.3定义了15种基本的数据类型 ,包括整型、浮点型、字符型和逻辑型等 。,2.1.2 数据,1. 数值的表达方式 数值采用十进制表示,可以用带小数点的形式直接表示,也可以用科学计数法,数值的表示范围是10-30910309 。 例如: -2、5.67、2.56e-56(表示2.5610-56)、4.68e204(表示4.6810204),2.

2、矩阵和数组的概念,标量(Scalar):是指11的矩阵,即只含一个数的矩阵。 向量(Vector):是指1n或n1的矩阵,即只有一行或者一列的矩阵。 矩阵(Matrix):是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,00矩阵为空矩阵()。 数组(Array):是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。,3.复数(Complex),复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。 z=a+b*i或z=a+b*j z=a+bi或z=a+bj(当b为常量时) z=r*exp(i*theta) 得出一个复数的实部、虚部、幅值和相角。 a=re

3、al(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 t=angle(z) %计算相角,2.1.3 变量(Variables),1. 变量的命名规则 变量名区分字母的大小写。 变量名不能超过63个字符,第63个字符后的字符被忽略。 变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号(如,。%等)。 关键字(如if、while等)不能作为变量名。,2. 特殊变量,2.2 矩阵和数组 2.2.1矩阵输入,(1) 矩阵元素应用方括号()括住; (2) 每行内的元素间用逗号或空格隔开; (3) 行与行之间用分号或回车键隔开; (4

4、) 元素可以是数值或表达式。,矩阵表示应遵循以下基本常规:,1. 通过显式元素列表输入矩阵 例如: c=1 2;3 4;5 3*2 % 表示构成矩阵,分号分隔行,空格分隔元素 2.通过语句生成矩阵 (1) 使用from:step:to方式生成向量 from、step和to分别表示开始值、步长和结束值。当step省略时则默认为step=1。,(2) 使用linspace和logspace函数 linspace(a,b,n) a、b、n分别表示开始值、结束值和元素个数,n如果省略则默认值为100 。 logspace(a,b,n) a、b、n分别表示开始值10a 、结束值10b和数据个数,n,如果

5、省略则默认值为50 。,3. 由矩阵生成函数产生特殊矩阵,1. 矩阵的下标(Subscript) (1) 全下标方式 一个mn的a矩阵的第i行第j列的元素表示为a(i,j)。 (2) 单下标方式 以mn的矩阵a为例,若元素a(i,j)则对应的“单下标”为s= (j-1)mi。,2.2.2 矩阵元素,a(1,2) a(4),a(2,3) a(8),2. 子矩阵块的产生(Multiple elements) 子矩阵是从对应矩阵中取出一部分元素构成的。 子矩阵也可以利用逻辑矩阵(logical matrix)来标识。,3. 矩阵的赋值 矩阵的赋值有:全下标方式、单下标方式和全元素方式。 4. 矩阵元

6、素的删除 可以对矩阵的单个元素、子矩阵块和所有元素赋值为空矩阵进行删除操作 ,就是简单地将其赋值为空矩阵(用表示)。 EX: a(:,3)= %删除一列元素 a(1)= %删除一个元素,矩阵变为向量 a= %删除所有元素为空矩阵,5. 生成大矩阵(Concatenating Matrices) 可以通过方括号“”实现将小矩阵生成一个较大的矩阵。 例:a;a 与a,a的区别 6. 矩阵的翻转 可以通过矩阵翻转函数对矩阵进行翻转。,2.2.3 字符串(Character Arrays),一个字符串由多个字符组成,用单引号()来界定。字符串是按行向量进行存储的。 1. 字符串占用的字节 每一个字符会

7、占用两个字节。 str2=I like MATLAB %重复单引号来输入含有单引号的字符串 2. 字符串函数 length:用来计算字符串的长度。 double:用来查看字符串的ASCII码储存内容。 char:用来将ASCII码转换成字符串形式。 class或ischar:用来判断某一个变量是否为字符串。,3. 使用一个变量来储存多个字符串 (1) 多个字符串组成一个新的行向量 将多个字符串变量直接用“,”连接。 (2) 使用二维字符数组 每个字符串放在一行构成二维字符。 (3) 使用str2mat、strvcat和char函数,总是按最长的设置,不足的末尾用空格补齐。 例如: str6=s

8、tr2mat(str1,str2,str3),5. 执行字符串 使用eval命令直接“执行”某一字符串。 EX: str9=a=2*5 eval(str9) %执行字符串 a = 10 6. 显示字符串 直接使用disp命令显示字符串。 disp(请输入2*2的矩阵a),2.2.4矩阵和数组运算,1. 矩阵运算的函数 det(X):计算方阵行列式 rank(X):求矩阵的秩。 inv(X):求矩阵的逆阵。 inv(X)=X-1 v,d=eig(X):计算矩阵特征值和特征向量 diag(X):产生X矩阵的对角阵,2. 矩阵和数组的算术运算,(1) 矩阵和数组的加(addition)、减运算(su

9、btraction) 矩阵加、减运算表达式分别为“A+B”、“A-B”。 (2) 矩阵和数组的乘法运算(muliplication) 矩阵的乘法运算表达式为“A*B” 。 矩阵A的列数必须等于矩阵B的行数,除非其中有一个是标量。 数组的乘法运算表达式为“A.*B” ,表示数组A和B中的对应元素相乘。A和B数组必须大小相同,除非其中有一个是标量。,(3) 矩阵和数组的除法(division) 矩阵的除法运算表达式有两种:“AB”和“A/B”,运算符为“”和“/”分别表示左除和右除。 X=A/B是X*A=B的解,A/B=A*B-1。 X=AB是方程A*X=B的解, AB=A-1*B。 数组的除法运

10、算表达式有两种:“A.B”和“A./B”,表示数组相应元素左除和右除。 A和B数组必须大小相同,除非其中有一个是标量。,【例2.12】已知方程组, 用矩阵除法来解线性方程组。 将该方程变换成AX=B的形式。 A=2 -1 3;3 1 -5;4 -1 1 B=5;5;9 X=AB, X=AB X = 2 -1 0,(4) 矩阵和数组的乘方(power) 矩阵乘方的运算表达式为“AB”,其中A可以是矩阵或标量。 数组乘方的运算表达式“A.B”。 3. 矩阵和数组的转置(transpose) 矩阵的转置运算表示为A 如果矩阵A是复数矩阵,则为共轭转置。 数组的转置运算表示为A. 如果数组A是复数数组

11、,则不是共轭转置。,4. 矩阵和数组的数学函数 MATLAB中exp、sqrt、sin、cos等数学函数可以直接使用在数组上,这些运算是分别对数组的每个元素进行运算。 expm、sqrtm、logm等数学函数用于矩阵运算。 比较:round 、fix 、floor 、ceil 比较:sqrt、sqrtm,5. 关系操作和逻辑操作,(1) 关系运算(relational operators) 关系操作符有:、=、 = =(等于)、 =(不等于)。,关系运算规则: 如果两个标量,则结果为真(1)或假(0)。 如果比较的两个数组变量,则必须大小相同,数组的元素为0或1。 如果比较一个数组和一个标量,

12、则把数组的每个元素分别与标量比较。 、=仅对变量的实部进行比较,而= = 和 = 则同时对实部和虚部进行比较。,(2) 逻辑运算(Logical Operators),逻辑操作符有:3 4;eye(3),Tom,Jane,2.5.2结构数组,结构数组的基本组成是结构(Structure),每一个结构都包含多个域(Fields),结构数组只有划分了域以后才能使用。 例如多个图形对象构成结构数组,一个图形对象就是一个结构,一个属性(Name、Color、Position)就是一个域。 EX: ps(1)=struct(name,曲线1,color,red,position,0,0,300,300);,练习:,下列变量名中_是合法变量。 A. char_1

温馨提示

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

评论

0/150

提交评论