MATLAB数值计算 (2).ppt

上传人:牧羊曲112 文档编号:6511917 上传时间:2023-11-08 格式:PPT 页数:130 大小:1.48MB
返回 下载 相关 举报
MATLAB数值计算 (2).ppt_第1页
第1页 / 共130页
MATLAB数值计算 (2).ppt_第2页
第2页 / 共130页
MATLAB数值计算 (2).ppt_第3页
第3页 / 共130页
MATLAB数值计算 (2).ppt_第4页
第4页 / 共130页
MATLAB数值计算 (2).ppt_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《MATLAB数值计算 (2).ppt》由会员分享,可在线阅读,更多相关《MATLAB数值计算 (2).ppt(130页珍藏版)》请在三一办公上搜索。

1、1,第2章 MATLAB数值计算,2.1 变量与数据,2.2 矩阵与数组,2.3 矩阵与数组运算,2.4 多项式运算,2,第2章 MATLAB数值计算,2.1 变量与数据,2.1.1 数据,数据的表达方式:采用十进制表示,矩阵和数组的概念:标量:是指11的矩阵,即为只含1个数的矩阵。向量:是指1n或n1的矩阵,即为只含1行或1列的矩阵矩阵:是1个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例数组:是指n维数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。,复数:由实部和虚部组成,用特殊变量“i”和“j”表示虚数的单位,3,复数的运算,几个函数:real用法:a=real(z)%计算实部i

2、mag用法:a=imag(z)%计算虚部abs用法:a=abs(z)%计算幅值angle用法:a=angle(z)%计算相角,4,第2章 MATLAB的数值计算,2.1.1 变量,变量的命名应遵循如下规则:,变量名必须以字母打头,之后可以是字母、数字或下划线,如x51483,a_b_c_d_e。,变量名区分字母大小写,如Items,items,itEms及ITEMS都是不同的变量。,5,变量名不允许使用空格、标点符号。,变量名最多可包含63个字符(对于7.x版本)。从前向后取,超出部分忽略。,变量的命名应遵循如下规则:,关键字(如if,while等)不能作为变量名。,虚数单位,i=j=,7,8

3、,2.2 矩阵和数组,2.2.1 矩阵的赋值2.2.2 向量的生成 2.2.3 矩阵元素 2.2.4 复数表示,9,2.2.1 矩阵的赋值,(1).直接输入法创建矩阵,矩阵的所有元素必须放在方括号“”内;矩阵元素之间必须用逗号“,”或空格隔开;矩阵行与行之间用分号“;”或回车符隔开;矩阵元素可以是任何不含未定义变量的表达式;标点符号一定要在英文状态下输入。,10,矩阵元素用空格或逗号分隔,整个矩阵放在方括号内。,11,矩阵的行用分号或回车符隔开。,12,矩阵里的元素也可以用表达式代替,表达式由变量名、常数、函数和运算符构成。4*sin(2*t)s*a+b/c sqrt(2)*exp(-i*4)

4、,13,方括号外的分号表示不显示定义的数据。,14,15,注意数据的显示格式,16,2.2.2 向量的生成,(1).利用冒号“:”运算生成向量,a=m:n%生成步长值为1的均匀等分行向量,m和n分别代表向量的起始值和终止值。a=m:p:n%生成步长值为p的均匀等分行向量,m和n分别代表向量的起始值和终止值,p 代表向量元素之间步长值。,17,18,(2).利用函数linspace()和logspace()生成向量,linspace(m,n)%生成从m到n之间的100个线性等分点的行向量。linspace(m,n,s)%生成从m到n之间的s个线性等分点的行向量。logspace(m,n)%生成从

5、10m到10n之间50个按对数等分点的行向量。logspace(m,n,s)%生成从10m到10n之间s个按对数等分点的行向量。,19,20,21,(2).利用MATLAB函数创建矩阵,表2-3 特殊矩阵函数,22,23,2.2.3 矩阵的元素,在 MATLAB 系统中,矩阵的元素是通过其行、列的标号来标识的,矩阵元素所处的行号和列号称为该元素的下标。矩阵元素可以通过其下标来引用,A(i,j)即表示矩阵A的第i行第 j列的元素。,注意:在 MATLAB 中,矩阵下标的行、列号都 是从 1 开始的,(1)矩阵的下标,24,25,在MATLAB的内部数据储存结构中,每一个矩阵都是一个以列为主的向量

6、,因此对于矩阵内各元素的存取是按列来进行总排。,冒号“:”表示“全部”。,26,(2).矩阵的赋值,全下标方式:A(i,j)=B给A矩阵的部分元素赋值则B矩阵的行列数必须等于A矩阵的行列数。A(1:2,1:3)=1 1 1;1 1 1 A=1 1 1 6 2 1 1 1 4 7 7 5 7 1 5 0 3 4 5 4 23 13 6 0 3,27,单下标方式:A(s)=b,b为向量,元素个数必须等于A矩阵的元素个数。A(5:6)=2 3 A=1 3 1 6 2 1 1 1 4 7 7 5 7 1 5 0 3 4 5 4 2 13 6 0 3,28,全元素方式:A(:)=B,给矩阵的所有元素赋值

7、则矩阵的元素总数必须等于矩阵的元素总数,但行列数不一定相等。A=1 2;3 4;5 6 A=1 2 3 4 5 6,29,(3)矩阵元素的删除,在MATLAB中可以对矩阵的单个元素、子矩阵块和所有元素进行删除操作,就是简单地将其复制为空矩阵(用表示)。A=1 2 3;4 5 6;7 8 9 A=1 2 3 4 5 6 7 8 9 A(:,3)=%删除一列元素 A=1 2 4 5 7 8 A(1)=%删除1个元素A=%删除所有元素为空矩阵 A=,30,(4)生成大矩阵,在MATLAB中,可以通过方括号“”实现将小矩阵联接起来生成个较大的矩阵。a;a%连结成6*3的矩阵 ans=1.6000 1.

8、6000 a a%连结成3*6的矩阵 ans=1.6000 1.6000,31,(5).矩阵维数的扩大与缩小,MATLAB 已定义的矩阵的维数可以扩大,也可以缩小。如果输入的同名矩阵的维数小于或大于原矩阵维数,MATLAB 认为是原矩阵修改了部分元素或子块。增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素设为 0。减小矩阵维数时,必须使用“”命令来对行或列进行操作,则相应的行或列即被删除。,32,增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素设为 0。,33,34,“空矩阵”是指没有元素的矩阵,对任何一个矩阵赋值,就是使它的元素都必须消失掉。,空矩阵是

9、使矩阵缩小时不可缺少的概念。,35,删除矩阵A的第二列,36,删除第一行和第四行,37,38,39,在原矩阵A中再加入一行。,40,(6).矩阵的翻转,矩阵的翻转及对角化操作函数,41,42,列向量,V为列向量,43,(7)矩阵的大小,矩阵大小查询命令,44,2.2.4 字符运算,在MATLAB中,字符串就是一个字符数组。在MATLAB系统内部,每一个字符都由相应的ASCII码数值进行存储,但在屏幕上显示的是字符串,除了特殊的用途,一般情况下我们不访问这些数值。,1 字符串数组的创建,在MATLAB中所有字符串都用单引号界定后输入或赋值,单引号必须在英文状态下输入。字符串的每个字符(空格也是字

10、符)都是相应矩阵的一个元素,每个字符占用2个字节存储。,45,字符串是以行向量的形式存储的,46,字符串也可以用方括号合并成更大的“串”,47,建立二维字符数组与建立数据数组一样可以直接输入,需要加方括号,并且每行之间用分号隔开,但每行的字符数目必须一致。,48,建立二维字符数组的另一个方法是用 str2mat 函数把字符串转换为字符数组,这种方法允许用不一样长度的字符串。,49,2 字符串数组的运算,P42表2-14字符串转换函数,50,51,把字符串转换成大写,把字符串转换成小写,把数字转换成字符串,52,将字符串转换成ASCII码,将ASCII码转换成字符串,为字符串赋值,53,54,2

11、.3 矩阵与数组运算,2.3.1 矩阵的算术运算,2.3.2 矩阵的关系运算,2.3.3 矩阵的逻辑运算,2.3.4 矩阵函数,55,2.3 矩阵与数组运算,2.3.1 矩阵的算术运算,矩阵A和B的维数完全相同时,可以进行矩阵加减法运算,MATLAB会自动地使得A和B的相应元素相加减。两矩阵维数不等时,不能进行该运算。,表2-6列出了MATLAB的算术运算符及其对应功能与示例,56,两矩阵A和B的维数相容时(A的列数等于B的行数),可以进行乘法运算。,注意:矩阵的乘法分为左乘和右乘。,矩阵的除法运算包括左除和右除两种:,矩阵的除法运算实际上是求AX=B的解的过程,57,两个矩阵之间的点运算是两

12、矩阵对应元素的直接运算,因此要求参与运算的两个矩阵的维数一致。,矩阵求幂的运算包括矩阵与常数和矩阵与矩阵的幂运算,用点运算的形式表示。,在使用MATLAB的算术运算符时,一定要注意普通运算与点运算之间的区别。,58,矩阵的转置用A表示,若矩阵为复数矩阵,求转置时首先对矩阵元素进行转置,然后再逐项求取其共轭数值。,对于实矩阵用(A)或(A.)求转置结果是一样的;然而对于含复数的矩阵,则(A)将同时对复数进行共轭处理,而(A.)则只是将其排列形式进行转置。,矩阵的转置还可用A.表示,59,2.3.2 矩阵的关系运算,MATLAB的基本关系运算符及其功能,60,参与关系运算的矩阵必须是同维矩阵或其中

13、之一为标量。当参与运算的矩阵之一为标量时,关系运算的结果是将矩阵的每一个元素与该标量逐一进行关系比较,若关系成立则比较结果值为“1”,若关系不成立则比较结果值为“0”。,关系运算的规则,61,当参与运算的矩阵是两同维矩阵A和B时,关系运算的结果是将矩阵A 和B 下标相同的对应元素逐一进行关系比较,若关系成立则比较结果值为“1”,若关系不成立则比较结果值为“0”。也即关系运算的结果是生成一个与A 和B 维数相同的矩阵,其元素值为“0”或“1”。算术运算比关系运算具有更高的优先权。,关系运算的规则,62,通常,为了改善程序的可读性,可用括号将关系运算表达式括起来。,63,2.3.3 矩阵的逻辑运算

14、,MATLAB的基本逻辑运算符及其对应功能,在逻辑运算中,所有非零元素的逻辑值为“真”,用代码“1”表示,值为零的元素的逻辑值为“假”,用代码“0”表示。,64,三种逻辑运算的真值表,65,逻辑运算的规则,参与逻辑运算的矩阵必须是同维矩阵或其中之一为标量。逻辑运算的结果按照逻辑运算真值表生成。当参与运算的矩阵之一为标量时,逻辑运算的结果是将矩阵的每一个元素与该标量逐一进行逻辑运算。,66,当参与运算的矩阵是两同维矩阵 A 和 B 时,逻辑运算的结果是将矩阵 A 和 B 下标相同的对应元素逐一进行逻辑运算。逻辑运算的结果是生成一个与 A 和 B 维数相同的矩阵,其元素值为“0”或“1”。,逻辑运

15、算的规则,67,68,69,逻辑字符检查命令及其说明,70,71,2.3.4 矩阵函数,表2-10给出了常用的矩阵函数的简短描述,72,矩阵A的特征值,矩阵对角元素之和,矩阵特征多项式,求A的行列式的值,73,求矩阵A的逆阵,74,Sqrtm命令与sqrt不同,矩阵平方根,75,矩阵的对数,76,使用时应注意这些对命令之间的区别,矩阵求幂,77,一些数据处理命令,78,学生的身高和三门课程分数,79,学生的身高和三门课程分数,80,多维数组(Multidementional Arrays),三维数组用三个下标表示,在二维数组的基础上增加了一维称为页,三维数组可以看成“长方体”。三维数组的元素存

16、放遵循“单下标”的编号规则:第一页第一列下接该页的第二列,下面再接第三列,依此类推;第一页的最后列下面接第二页第一列。,81,多维数组的创建,(1)通过“全下标”元素赋值方式创建(2)由函数ones、zeros、rand和randn直接创建(3)利用函数生成数组 将一系列数组沿着特定的维连接成一个多维数组。cat(维,p1,p2,)按指定行列数放置模块数组生成多维数组repmat(p)。在总元素的数目不变的前提下重新确定数组的行列数来重组数组。reshape(p),82,2.4 多项式运算,2.4.1 多项式的表达与创建,2.4.2 多项式求根及其逆运算,2.4.3 多项式的四则运算,2.4.

17、5 有理多项式,2.4.4 多项式的微分与赋值运算,83,2.4 多项式运算,2.4.1 多项式的表达与创建,MATLAB 采用将多项式的系数按降幂次序排列而形成的行向量来表征一多项式。,多项式:,多项式的行向量:,84,表示多项式的行向量元素的个数应该为多项式的最高幂次加一。,85,2.4.2 多项式求根及其逆运算,函数roots()用于对多项式求根,求出的根按列向量存储;函数poly()用于由给定的根的列向量求多项式的系数,求出的系数按行向量存储。,86,多项式的根按列向量存储,多项式的系数按行向量存储,87,2.4.3 有理多项式,MATLAB中的有理多项式是由分子多项式和分母多项式表示

18、的,可以用residue命令进行部分分式展开。该命令的形式为:r,p,k=residue(num,den),根据给出的r,p,k的值,同样可以用residue命令求出有理多项式形式,命令格式为:num,den=residue(r,p,k),88,2.4.4 多项式的四则运算,(1).加法与减法,多项式的加减法为多项式对应元素的加减法。多项式的阶数可以不同,但在多项式定义时,应当补充0元素使其行向量元素数目相等,否则不能相加减。,89,90,91,(2).乘法,两个多项式相乘由函数conv()来完成,其调用格式为:R=conv(A,B),(3).除法,d,r=deconv(c,a)命令完成多项式

19、除运算,d:商的系数向量;r:余子式的系数向量。,92,93,94,2.4.5 多项式的微分与赋值运算,(1).微分运算,多项式的微分由命令polyder完成,(2).赋值运算,给出x的范围,命令polyval可计算多项式的值。,95,96,多项式拟合和插值,1.多项式拟合 拟合的准则是最小二乘法,找出使 最小的f(x)。,p=polyfit(x,y,n),97,2.插值运算(1)一维插值 一维插值是指对一个自变量的插值,interp1函数是用来进行一维插值的。yi=interp1(x,y,xi,method)(2)二维插值 二维插值是指对两个自变量的插值。zi=interp2(x,y,z,x

20、i,yi,method),98,2.5元胞数组和结构数组元胞数组(Cell Array),元胞数组中的基本组成是元胞,每一个元胞可以看成是一个单元(Cell),用来存放各种不同类型的数据,如矩阵、多维数组、字符串、元胞数组。使用。EX:A=This is the first Cell.,1 2;3;eye(3),Tom,Jane,99,结构数组,结构数组的基本组成是结构(Structure),每一个结构都包含多个域(Fields),结构数组只有划分了域以后才能使用。例如多个图形对象构成结构数组,一个图形对象就是一个结构,一个属性(Name、Color、Position)就是一个域。EX:ps(

21、1)=struct(name,曲线1,color,red,position,0,0,300,300);,100,作业:,pp:1,3,4,9,10,11,13,15,16,18,101,本节结束,谢谢!,102,多项式乘法不要求阶数相同,103,104,r,p,k=residue(num,den),105,没有常数项,106,消除展开式中的复数项,107,108,109,110,111,“”建立的“空矩阵”是没有元素的矩阵,也不占据内存空间。如果对任何一个矩阵赋值为,就是使它的元素都必须消除掉;而“zeros()”建立的“零矩阵”为有元素存在的,只是所有元素都为零,占据正常的内存空间。,112,返回a的行、列的最大值,用于测试矩阵,用于测试数组,113,114,115,116,117,118,119,120,121,122,AX=B,X和B都是列向量,123,124,将b矩阵开5次方,求b的逆矩阵,125,126,注意显示的格式,127,128,129,点乘积运算要求两矩阵维数相同,普通矩阵乘积,130,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号