matlab分子分母同时扩大或缩小,第二章MATLAB数值计算

《第二章MATLAB数值计算》由会员分享,可在线阅读,更多相关《第二章MATLAB数值计算(137页珍藏版)》请在人人文库网上搜索。

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

2、1 变量与数据,2.1.1 变量,变量的命名应遵循如下规则:,变量名必须以字母打头,之后可以是字母、数字或下划线,如x51483,a_b_c_d_e。,变量名区分字母大小写,如Items,items,itEms及ITEMS都是不同的变量。,4,变量名不允许使用空格、标点符号。,变量名最多可包含63个字符(对于7.x版本)。从前向后取,超出部分忽略。,变量的命名应遵循如下规则:,关键字(如if,while等)不能作为变量名。,虚数单位,i=j=,6,7,2.1.3 MATLAB的常用数学函数,MATLAB所支持的常用函数见表2-2,函数的调用格式为:函数名(变量) 函数的变量即是 MATLAB 。

3、的矩阵变量,函数的运算就是将函数运算分别作用于函数变量(矩阵)的每一个元素。,注意: 1.MATLAB只对弧度操作,若为角度,则换成弧度。 2.MATLAB系统提供的所有函数名都是小写字母。,8,9,10,11,对零方向取整数,12,常用对数(以10为底),自然对数(以e为底),13,2.2 矩阵和数组,2.2.1 矩阵的赋值 2.2.2 向量的生成 2.2.3 矩阵元素 2.2.4 复数表示,14,2.2.1 矩阵的赋值,(1). 直接输入法创建矩阵,矩阵的所有元素必须放在方括号“”内; 矩阵元素之间必须用逗号“,”或空格隔开; 矩阵行与行之间用分号“;”或回车符隔开; 矩阵元素可以是任何不。

4、含未定义变量的表达式; 标点符号一定要在英文状态下输入。,15,矩阵元素用空格或逗号分隔,整个矩阵放在方括号内。,16,矩阵的行用分号或回车符隔开。,17,矩阵里的元素也可以用表达式代替,表达式由变量名、常数、函数和运算符构成。 4*sin(2*t) s*a+b/c sqrt(2)*exp(-i*4),18,方括号外的分号表示不显示定义的数据。,19,20,注意数据的显示格式,21,(2). 利用MATLAB函数创建矩阵,表2-3 特殊矩阵函数,22,23,2.2.2 向量的生成,(1). 利用冒号“:”运算生成向量,a=m:n %生成步长值为1的均匀等分行向量,m和n分别代表向量的起始值和终。

5、止值。 a=m:p:n%生成步长值为p的均匀等分行向量,m和n分别代表向量的起始值和终止值,p 代表向量元素之间步长值。,24,25,(2). 利用函数linspace()和logspace()生成向量,linspace(m,n)%生成从m到n之间的100个线性等分点的行向量。 linspace(m,n,s)%生成从m到n之间的s个线性等分点的行向量。 logspace(m,n)%生成从10m到10n之间50个按对数等分点的行向量。 logspace(m,n,s)%生成从10m到10n之间s个按对数等分点的行向量。,26,27,28,2.2.3 矩阵的元素,在 MATLAB 系统中,矩阵的元素。

6、是通过其行、列的标号来标识的,矩阵元素所处的行号和列号称为该元素的下标。矩阵元素可以通过其下标来引用,A(i,j)即表示矩阵A的第i行第 j列的元素。,注意:在 MATLAB 中,矩阵下标的行、列号都 是从 1 开始的,(1)矩阵的下标,29,30,在MATLAB的内部数据储存结构中,每一个矩阵都是一个以列为主的向量,因此对于矩阵内各元素的存取是按列来进行总排。,冒号“:”表示“全部”。,31,(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 7 5 7 1 5 0 3 4 5 4 23 13 6 0 3,32,单下标方式: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,33,全元素方式:A(:)=B,给矩阵的所有元素赋值则矩阵的元素总数必须等于矩阵的元素总数,但行列数不一定相等。 A=1 2;3 4;5 6 A = 1 2 3 4 5 6,34,(3)矩阵元素的删除,在MATLAB中可以对矩阵的单个元素、子矩阵块和所有元素进行删除操作,就是简单地将其复制为空矩阵(用表示)。 A=1 2。

8、 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 = ,35,(4)生成大矩阵,在MATLAB中,可以通过方括号“ ”实现将小矩阵联接起来生成个较大的矩阵。 a;a %连结成6*3的矩阵 ans = 1.6000 1.6000 a a %连结成3*6的矩阵 ans = 1.6000 1.6000,36,(5). 矩阵维数的扩大与缩小,MATLAB 已定义的矩阵的维数可以扩大,也可以缩小。如果输入的同名矩阵的维数小于或大于原矩阵维数,MATLAB。

9、 认为是原矩阵修改了部分元素或子块。增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素设为 0。减小矩阵维数时,必须使用“”命令来对行或列进行操作,则相应的行或列即被删除。,37,增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素设为 0。,38,39,“空矩阵”是指没有元素的矩阵,对任何一个矩阵赋值,就是使它的元素都必须消失掉。,空矩阵是使矩阵缩小时不可缺少的概念。,40,删除矩阵A的第二列,41,删除第一行和第四行,42,43,44,在原矩阵A中再加入一行。,45,(6). 矩阵的翻转,矩阵的翻转及对角化操作函数,46,47,列向量,V为列向量,48,(。

10、7) 矩阵的大小,矩阵大小查询命令,49,2.2.4 复数表示,MATLAB的每一个元素都可以是复数,实数是复数的特例。复数的虚数部分用i或j表示,这是在MATLAB启动时就在内部设定的。,50,只有数字和 i的乘积可省略乘号“*”,51,52,复数矩阵的生成方法,(1).将其元素逐个赋予复数,53,复数矩阵的生成方法,(2).将其实部和虚部矩阵分别赋值,这里的星号“*”不能省略,54,55,2.3 矩阵与数组运算,2.3.1 矩阵的算术运算,2.3.2 矩阵的关系运算,2.3.3 矩阵的逻辑运算,2.3.4 矩阵函数,56,2.3 矩阵与数组运算,2.3.1 矩阵的算术运算,矩阵A和B的维数。

11、完全相同时,可以进行矩阵加减法运算,MATLAB会自动地使得A和B的相应元素相加减。两矩阵维数不等时,不能进行该运算。,表2-6列出了MATLAB的算术运算符及其对应功能与示例,57,两矩阵A和B的维数相容时(A的列数等于B的行数),可以进行乘法运算。,注意:矩阵的乘法分为左乘和右乘。,矩阵的除法运算包括左除和右除两种:,矩阵的除法运算实际上是求AX=B的解的过程,58,矩阵的转置用A表示,若矩阵为复数矩阵,求转置时首先对矩阵元素进行转置,然后再逐项求取其共轭数值。,对于实矩阵用(A)或(A.)求转置结果是一样的;然而对于含复数的矩阵,则(A)将同时对复数进行共轭处理,而 (A.)则只是将其排。

12、列形式进行转置。,矩阵的转置还可用A.表示,59,两个矩阵之间的点运算是两矩阵对应元素的直接运算,因此要求参与运算的两个矩阵的维数一致。,矩阵求幂的运算包括矩阵与常数和矩阵与矩阵的幂运算,用点运算的形式表示。,在使用MATLAB的算术运算符时,一定要注意普通运算与点运算之间的区别。,60,2.3.2 矩阵的关系运算,MATLAB的基本关系运算符及其功能,61,参与关系运算的矩阵必须是同维矩阵或其中之一为标量。 当参与运算的矩阵之一为标量时,关系运算的结果是将矩阵的每一个元素与该标量逐一进行关系比较,若关系成立则比较结果值为“1”,若关系不成立则比较结果值为“0”。,关系运算的规则,62,当参与。

13、运算的矩阵是两同维矩阵A和B时,关系运算的结果是将矩阵A 和B 下标相同的对应元素逐一进行关系比较,若关系成立则比较结果值为“1”,若关系不成立则比较结果值为“0”。也即关系运算的结果是生成一个与A 和B 维数相同的矩阵,其元素值为“0”或“1”。 算术运算比关系运算具有更高的优先权。,关系运算的规则,63,通常,为了改善程序的可读性,可用括号将关系运算表达式括起来。,64,2.3.3 矩阵的逻辑运算,MATLAB的基本逻辑运算符及其对应功能,在逻辑运算中,所有非零元素的逻辑值为“真”,用代码“1”表示,值为零的元素的逻辑值为“假”,用代码“0”表示。,65,三种逻辑运算的真值表,66,逻辑运。

14、算的规则,参与逻辑运算的矩阵必须是同维矩阵或其中之一为标量。 逻辑运算的结果按照逻辑运算真值表生成。 当参与运算的矩阵之一为标量时,逻辑运算的结果是将矩阵的每一个元素与该标量逐一进行逻辑运算。,67,当参与运算的矩阵是两同维矩阵 A 和 B 时,逻辑运算的结果是将矩阵 A 和 B 下标相同的对应元素逐一进行逻辑运算。逻辑运算的结果是生成一个与 A 和 B 维数相同的矩阵,其元素值为“0”或“1”。,逻辑运算的规则,68,69,70,逻辑字符检查命令及其说明,71,72,2.3.4 矩阵函数,表2-10给出了常用的矩阵函数的简短描述,73,矩阵A的特征值,矩阵对角元素之和,矩阵特征多项式,求A的。

15、行列式的值,74,求矩阵A的逆阵,75,Sqrtm命令与sqrt不同,矩阵平方根,76,矩阵的对数,77,使用时应注意这些对命令之间的区别,矩阵求幂,78,一些数据处理命令,79,学生的身高和三门课程分数,80,学生的身高和三门课程分数,81,2.4 多项式运算,2.4.1 多项式的表达与创建,2.4.2 多项式求根及其逆运算,2.4.3 多项式的四则运算,2.4.5 有理多项式,2.4.4 多项式的微分与赋值运算,82,2.4 多项式运算,2.4.1 多项式的表达与创建,MATLAB 采用将多项式的系数按降幂次序排列而形成的行向量来表征一多项式。,多项式:,多项式的行向量:,83,表示多项式。

16、的行向量元素的个数应该为多项式的最高幂次加一。,84,2.4.2 多项式求根及其逆运算,函数roots()用于对多项式求根,求出的根按列向量存储;函数poly()用于由给定的根的列向量求多项式的系数,求出的系数按行向量存储。,85,多项式的根按列向量存储,多项式的系数按行向量存储,86,2.4.3 多项式的四则运算,(1). 加法与减法,多项式的加减法为多项式对应元素的加减法。多项式的阶数可以不同,但在多项式定义时,应当补充0元素使其行向量元素数目相等,否则不能相加减。,87,88,89,(2). 乘法,两个多项式相乘由函数conv()来完成,其调用格式为:R=conv(A,B),(3). 除。

17、法,d,r=deconv(c,a)命令完成多项式除运算,d:商的系数向量;r:余子式的系数向量。,90,91,92,2.4.4 多项式的微分与赋值运算,(1). 微分运算,多项式的微分由命令polyder完成,(2). 赋值运算,给出x的范围,命令polyval可计算多项式的值。,93,94,2.4.5 有理多项式,MATLAB中的有理多项式是由分子多项式和分母多项式表示的,可以用residue命令进行部分分式展开。该命令的形式为: r,p,k=residue(num,den),根据给出的r,p,k的值,同样可以用residue命令求出有理多项式形式,命令格式为:num,den=residue。

18、(r,p,k),95,2.5 字符运算,在MATLAB中,字符串就是一个字符数组。在MATLAB系统内部,每一个字符都由相应的ASCII码数值进行存储,但在屏幕上显示的是字符串,除了特殊的用途,一般情况下我们不访问这些数值。,2.5.1 字符串数组的创建,在MATLAB中所有字符串都用单引号界定后输入或赋值,单引号必须在英文状态下输入。字符串的每个字符(空格也是字符)都是相应矩阵的一个元素,每个字符占用2个字节存储。,96,字符串是以行向量的形式存储的,97,字符串也可以用方括号合并成更大的“串”,98,建立二维字符数组与建立数据数组一样可以直接输入,需要加方括号,并且每行之间用分号隔开,但每。

19、行的字符数目必须一致。,99,建立二维字符数组的另一个方法是用 str2mat 函数把字符串转换为字符数组,这种方法允许用不一样长度的字符串。,100,2.5.2 字符串数组的运算,P42表2-14字符串转换函数,101,102,把字符串转换成大写,把字符串转换成小写,把数字转换成字符串,103,将字符串转换成ASCII码,将ASCII码转换成字符串,为字符串赋值,104,105,本节结束,谢谢!,106,多项式乘法不要求阶数相同,107,108,r,p,k=residue(num,den),109,没有常数项,110,消除展开式中的复数项,111,112,113,114,115,“”建立的“空矩阵”是没有元素的矩阵,也不占据内存空间。如果对任何一个矩阵赋值为,就是使它的元素都必须消除掉;而“zeros()”建立的“零矩阵”为有元素存在的,只是所有元素都为零,占据正常的内存空间。,116,返回a的行、列的最大值,用于测试矩阵,用于测试数组,117,118,119,120,121,122,123,124,125,126,AX=B,X和B都是列向量,127,128,将b矩阵开5次方,求b的逆矩阵,129,130,注意显示的格式,131,132,133,点乘积运算要求两矩阵维数相同,普通矩阵乘积,134,135,136,137。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值