MATLAB学习课件第四章_第1页
MATLAB学习课件第四章_第2页
MATLAB学习课件第四章_第3页
MATLAB学习课件第四章_第4页
MATLAB学习课件第四章_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、张天魁信息与通信工程学院MATLAB应用第四章第四章 MATLAB MATLAB数值运算数值运算24.1 MATLAB4.1 MATLAB基本运算功能基本运算功能4.2 4.2 向量与矩阵处理向量与矩阵处理4.3 4.3 多项式多项式4.4 4.4 线性方程组线性方程组4.5 MATLAB4.5 MATLAB数学函数数学函数4.1 MATLAB4.1 MATLAB基本运算功能基本运算功能34.1.1 4.1.1 算术运算算术运算MATLAB算术运算可以分为两类:一类以矩阵为基本操作对象,称之为矩阵算术运算;另一类以矩阵中单个元素为基本操作对象,称之为点算术运算。加法乘法两个矩阵的直接相乘必须满

2、足矩阵乘法的运算法则,即被乘矩阵的行数必须等于乘矩阵的列数。两个矩阵的点乘为两个矩阵对应的元素相乘,因此两个矩阵的大小必须相等。除法矩阵的除法有左除与右除,也有直接相除和点除,即“AB”和“A/B”、“A.B”和“A./B”。运算符“”和“/”分别是左除和右除。左除表示左边的矩阵为除数。相应的,右除表示右边的数为除数。4.1.1 4.1.1 算术运算算术运算4矩阵的除法常用来解多元方程组的问题。方程组可以表示为A*X=B,则A(A*X)=AB(AA)*X=ABX=AB当A是非奇异n阶方阵,B是n维列向量,则得出方程的解;若A是mn的矩阵,B是m维的列向量,则X=AB得出最小二乘解。已知程组12

3、312312323156322xxxxxxxxx 用矩阵除来解线性方程组 4.1.1 4.1.1 算术运算算术运算5“A.B”和“A./B”分别是左点除,和右点除,分别表示以左边和右边的矩阵作为除数;A、B的元素对应相除,A、B矩阵的大小必须相等。4.1.1 4.1.1 算术运算算术运算6矩阵的乘方矩阵的乘方运算,可以用“AB”,表示但又如下几种情况需要考虑:若A为矩阵,则必须为方阵:B为正整数时,表示A矩阵自乘B次;B为负整数时,可以先将A求逆矩阵,再自乘|B|次,仅对非奇异矩阵成立;B为矩阵时,无法计算;B为非整数时,涉及到特征值和特征向量求解,将A分解成为A=W*D/W,的形式,D为对角

4、矩阵,则有AB=W*DB/W。若A为标量时:B为矩阵,将A分解为A=W*D/W,D为对角矩阵,则有AB=W*diag(D.B)/W。4.1.1 4.1.1 算术运算算术运算7同样的,矩阵的乘方也有“A.B”的方式:当A为矩阵,B为标量时,将A的元素自乘B次;当A为矩阵,B也为矩阵时,A和B的大小必须相同,元素A(i,j)自乘B(i,j)次。当A为标量,B为矩阵时,将AB(i,j)构成新矩阵的第(i,j)个元素。8矩阵相关的数学函数函数使用说明:函数使用说明:(1) (1) 三角函数以弧度为单位计算。三角函数以弧度为单位计算。(2) abs(2) abs函数可以求实数的绝对值、复数的模、字符串的

5、函数可以求实数的绝对值、复数的模、字符串的ASCIIASCII码值。码值。(3) (3) 用于取整的函数有用于取整的函数有fixfix、floorfloor、ceilceil、roundround,要注意它们的区别。,要注意它们的区别。(4) (4) remrem与与modmod函数的区别。函数的区别。remrem( (x,yx,y) )和和mod(mod(x,yx,y) )要求要求x,yx,y必须为相同大小必须为相同大小的实矩阵或为标量。的实矩阵或为标量。函数名函数名说明说明函数名函数名说明说明abs绝对值或者复数模rat有理数近似sqrt平方根mod模除求余数real实部round四舍五入

6、取整四舍五入取整imag虚部fix接近接近0取整取整conj复数共轭floor接近接近负无穷负无穷取取整整sin正弦ceil接近接近正无穷正无穷取取整整cos余弦sign符号函数tan正切rem求余数留数asin反正弦exp自然指数acos反余弦log自然对数atan反正切log10以10为底的对数atan2第四象限反正切pow22的幂sinh双曲正弦Bessel贝塞尔函数cosh双曲余弦gamma伽马函数tanh双曲正切4.1.2 4.1.2 逻辑运算逻辑运算9在逻辑运算中,真用非零元素表示,假用零表示。逻辑运算的返回值为1或0,1表示真,0表示假。MATLAB和其它语言一样提供了三种逻辑运

7、算符:&(与)、|(或)和(非)。除此以外,xor(异或)也是经常用到的逻辑运算类型。逻辑运算对于不同的数据类型,操作方式不同,如下:如果逻辑运算的两个变量都是标量,则结果为0,1的标量;如果逻辑运算的两个变量都是数组,且数组大小必须相同,则把数组的每个元素相对应位置进行操作,结果也是同样大小的0,1数组;如果逻辑运算的两个变量一个是数组,一个是标量,则把数组的每个元素分别与标量比较,结果为与数组大小相同的数组。 表4.2 逻辑运算关系aba&ba|baxor(a,b)0000100101111001011111004.1.3 4.1.3 关系运算关系运算10在进行逻辑运算时,

8、常用到关系运算符:= =(等于)、=(不等于)、(大于)、=(大于等于)。关系运算的返回值为1或0,1表示表达式为真,0表示表示式为假。MATLAB提供了6种关系运算符:关系运算符关系运算符操作对象操作对象说明说明(大于)同型矩阵;矩阵和标量同型矩阵对应元素运算;矩阵各元素与标量分别运算=(大于等于)=(小于等于)=(等于)=(不等于)4.1.3 4.1.3 关系运算关系运算11需要说明的是,在算术、逻辑、关系运算中,算术运算优先级最高,逻辑运算优先级最低,关系算术运算优先级居中。函数名函数名含义含义all判断列向量是否全非0元素,若全是非0则为1。否则返回0any判断列向量是否有非0元素,若

9、存在非0则为1。否则返回0isequal判断两个矩阵对应的元素是否全部相等,相等为1。否则返回0exist检查变量是否在工作空间存在,存在时返回1。否则返回0find寻找矩阵中非0元素的位置,即返回非0元素的下标。注意矩阵以列优先原则返回下标isempty判断矩阵是否为空矩阵,是空矩阵则返回1。否则返回04.2 4.2 向量与矩阵处理向量与矩阵处理12矩阵结构变换函数矩阵结构变化函数包括矩阵重排、矩阵抽取以及矩阵转向等。矩阵重排reshape(A,m,n):将矩阵A所有元素重新排列成mn的矩阵。矩阵总元素数必须相等。矩阵抽取diag(A, k):A为矩阵时,抽取矩阵A的第k条对角线设A为mn的

10、矩阵,diag(A,k)函数抽取矩阵A的第k条对角线的元素,并返回一个列向量。其中,与主对角线平行,向上为第1条、第2条、第n条对角线,向下为第-1条、第-2条、第-n条对角线。当省略k时,提取A的主对角线。diag(V, k):V为向量时,产生一个第k条对角线为V的矩阵设V为具有m个元素的向量,则diag(V,k)返回一个m+|k|的对角阵,其中第k条对角线上的元素为向量V的元素。当省略k时,返回一个mm 矩阵,主对角线元素为向量V的元素。triu(A ,k):提取矩阵A的第k条对角线以上(含第k条对角线)的所有元素,并返回相应矩阵。当省略k时,返回A的上三角矩阵。tril(A, k):提取

11、A的第k条对角线以下(含第k条对角线)的元素,并返回相应矩阵。当省略k时,返回A的下三角矩阵。4.2 4.2 向量与矩阵处理向量与矩阵处理13矩阵转向transpose(A):求矩阵A的转置。可以用单引号()直接代替transpose函数rot90(A, k):将矩阵A按逆时针方向旋转k*90。当省略参数k时,默认为1fliplr(A):将矩阵A左右翻转flipud(A):将矩阵A上下翻转flipdim(a, dim):使矩阵a按特定维翻转。当dim=1时,按行维翻转。当dim=2时,按列维翻转。若有多维,以此类推4.2 4.2 向量与矩阵处理向量与矩阵处理14矩阵求值函数inv(A):求可逆

12、矩阵A的逆det(A):求方阵A所对应的行列式的值。rank(A):求矩阵A的秩trace(A):求矩阵A的迹eig(A):求矩阵A的特征值和特征向量15数据统计与分析中的矩阵函数求矩阵的最大值与最小值,分别是max和min函数。max函数具有多种不同的调用格式,对于向量与矩阵是不一样的。对于向量来说,函数调用如下:y = max(X):求向量X的最大元素,并返回给y。对于复数元素按模取最大值y, k = max(X):返回向量X的最大元素,并返回给y,最大元素的序号返回给k。对于复数元素按模取最大值对于矩阵来说,函数调用如下:Y = max(A):返回行向量Y,Y中第i个元素为A中第i列的最

13、大元素Y, U = max(A):返回行向量Y和U,Y中元素对应A中各列最大元素,U中元素对应A中各列最大元素的行号。Y, U = max(A, , dim):dim = 1时和上一格式相同,dim = 2时返回列向量Y和U,Y中元素对应A中各行最大元素,U中元素对应A中各行最大元素的列号。也可以用max函数进行向量或矩阵对应元素比较,函数调用如下:U = max(A, B):A和B为同型向量或同型矩阵。函数返回二者的同型矩阵U,U中每个元素为A、B对应元素的较大值16(2)求矩阵的平均值和中值数据序列的平均值是指算术平均值,MATLAB中用mean函数实现。中值是指数据序列中数值的大小位于中

14、间的元素,MATLAB提供了median函数实现。当数据序列有奇数个元素时,中值为大小为中间的元素。当数据序列中有偶数个元素时,中值为大小为中间两个元素的平均值。3)矩阵求和与求积矩阵求和与求积可以分为两类:矩阵元素求和与求积,矩阵元素累加和与累乘积。矩阵元素求和与求积:矩阵元素求和与求积函数分别为sum和prod,二者调用格式完全相同。MATLAB提供了cumsum和cumprod函数分别求矩阵的累加和与累积乘,其调用格式与sum完全相同17mean函数调用格式如下:y = mean(X):设X为向量,函数将X的算术平均值返回给yY = mean(A):设A为矩阵,函数返回行向量Y,Y中各元

15、素对应A中相应列的算术平均值Y = mean(A,dim):设A为矩阵,函数返向量Y。当dim = 1时,功能和上一调用格式相同;当dim = 2是,Y为列向量,Y中各元素对应A中相应行的算术平均值median函数调用格式矩阵求和与求积18(5)矩阵元素排序MATLAB提供了sort函数来实现对向量或矩阵中元素重新排序的功能。其调用格式为:Y, I = sort(X):设X为向量,函数返回按元素升序排列的新向量Y,I则记录Y中各元素在X中的位置。Y, I = sort(A, dim):设A为矩阵,函数返回与A同型的矩阵Y和I。当dim=1时,对A各列升序排列;当dim=2时,对A各行升序排列。

16、I记录了Y中各元素在X中的位置。4.3 4.3 多项式多项式19在MATLAB中,n次多项式表示为一个长度为n+1的行向量。行向量中各元素为多项式降序排列的系数,缺少的幂次项系数为0。例如n次多项式表示为: 1210121nnnnnp xa xa xa xaxa p x0121,nna a aaa在MTLAB中表示为向量:。 4.3.1 4.3.1 多项式多项式四则运算四则运算201、多项式加减运算多项式的加减运算,就是对应的系数向量相加减。同次多项式相加减,即对应系数向量直接相加减;不同次多项式相加减,应先将低次多项式系数向量前补零至与高次多项式系数向量同维数,然后再相加减。2、多项式乘法运

17、算多项式的乘法运算由conv函数实现,其调用方法如下:conv(A, B):多项式相乘,其中A、B分别表示两个多项式的系数向量。 3、多项式除法运算多项式的除法运算由deconv函数实现,其调用方法如下:Q,R = deconv(A,B):多项式相除,其中A、B分别表示两个多项式的系数向量,Q、R分别表示商式和余式的系数向量21多项式乘除举例: 43213282718f xxxxx 223g xxx4.3.2 4.3.2 多项式求多项式求值值22多项式求值就是计算在给定点处的多项式的值。MATLAB提供了两种求多项式值的函数:polyval和polyvalm。前者用于求代数多项式的值,后者用于求矩阵多项式的值。1)代数多项式求值代数多项式求值的函数调用格式为:Y=polyval(P, x):P为多项式系数向量;如果x为一数值,则求多项式在这一点处的值;如果x为一向量或矩阵,则求多项式在向量或矩阵中每一元素处的值。 2)矩阵多项式求值将代数多项式中的自变量用矩阵变量表示,即构成矩阵多项式。矩阵多项式求值的函数调用格式为:Y=polyvalm(P, X): P为多项式系数向量, 必须为一方阵。4.3.

温馨提示

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

评论

0/150

提交评论