ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:80.29KB ,
资源ID:7077688      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7077688.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三章 MATLAB常用函数.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第三章 MATLAB常用函数.docx

1、第三章 MATLAB常用函数第二章 MATLAB常用数学函数三角函数和双曲函数名称含义名称含义名称含义sin正弦csc余割atanh反双曲正切cos余弦asec反正割acoth反双曲余切tan正切acsc反余割sech双曲正割cot余切sinh双曲正弦csch双曲余割asin反正弦cosh双曲余弦asech反双曲正割acos反余弦tanh双曲正切acsch反双曲余割atan反正切coth双曲余切atan2四象限反正切acot反余切asinh反双曲正弦sec正割acosh反双曲余弦 指数函数名称含义名称含义名称含义expE为底的指数log1010为底的对数pow22的幂log自然对数log22为

2、底的对数sqrt平方根 复数函数名称含义名称含义名称含义abs绝对值conj复数共轭real复数实部angle相角imag复数虚部 圆整函数和求余函数名称含义名称含义ceil向+圆整rem求余数fix向0圆整round向靠近整数圆整floor向-圆整sign符号函数mod模除求余 矩阵变换函数名称含义名称含义fiplr矩阵左右翻转diag产生或提取对角阵fipud矩阵上下翻转tril产生下三角fipdim矩阵特定维翻转triu产生上三角Rot90矩阵反时针90翻转 其他函数名称含义名称含义min最小值max最大值mean平均值median中位数std标准差diff相邻元素的差sort排序len

3、gth个数norm欧氏(Euclidean)长度sum总和prod总乘积dot内积cumsum累计元素总和cumprod累计元素总乘积cross外积MATLAB数据分析与多项式计算数据统计处理最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。1求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是:(1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。(2) y,I=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。求向量X

4、的最小值的函数是min(X),用法和max(X)完全相同。例求向量x的最大值。命令如下:x=-43,72,9,16,23,47;y=max(x) %求向量x中的最大值y,l=max(x) %求向量x中的最大值及其该元素的位置2求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式,分别是:(1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。(2) Y,U=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。(3) max(A,dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列

5、向量,其第i个元素是A矩阵的第i行上的最大值。求最小值的函数是min,其用法和max完全相同。例分别求34矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。3两个向量或矩阵对应元素的比较函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为:(1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。(2) U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。min函数的用法和max完全相同。例求两个23矩阵x, y所有同一位置上的较大元素构

6、成的新矩阵p。求和与求积数据序列求和与求积的函数是sum和prod,其使用方法类似。设X是一个向量,A是一个矩阵,函数的调用格式为:sum(X):返回向量X各元素的和。prod(X):返回向量X各元素的乘积。sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的

7、各元素乘积。例求矩阵A的每行元素的乘积和全部元素的乘积。平均值和中值求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为:mean(X):返回向量X的算术平均值。median(X):返回向量X的中值。mean(A):返回一个行向量,其第i个元素是A的第i列的算术平均值。median(A):返回一个行向量,其第i个元素是A的第i列的中值。mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。median(A,dim):当dim为1时,该函数等同于median(A);当dim为

8、2时,返回一个列向量,其第i个元素是A的第i行的中值。例 分别求向量x与y的平均值和中值。累加和与累乘积在MATLAB中,使用cumsum和cumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量,函数的调用格式为:cumsum(X):返回向量X累加和向量。cumprod(X):返回向量X累乘积向量。cumsum(A):返回一个矩阵,其第i列是A的第i列的累加和向量。cumprod(A):返回一个矩阵,其第i列是A的第i列的累乘积向量。cumsum(A,dim):当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第i行是A的第i行的累加和向量。cumpro

9、d(A,dim):当dim为1时,该函数等同于cumprod(A);当dim为2时,返回一个向量,其第i行是A的第i行的累乘积向量。例 求s的值。标准方差与相关系数1求标准方差在MATLAB中,提供了计算数据序列的标准方差的函数std。对于向量X,std(X)返回一个标准方差。对于矩阵A,std(A)返回一个行向量,它的各个元素便是矩阵A各列或各行的标准方差。std函数的一般调用格式为:Y=std(A,flag,dim)其中dim取1或2。当dim=1时,求各列元素的标准方差;当dim=2时,则求各行元素的标准方差。flag取0或1,当flag=0时,按1所列公式计算标准方差,当flag=1时

10、,按2所列公式计算标准方差。缺省flag=0,dim=1。例对二维矩阵x,从不同维方向求出其标准方差。2相关系数MATLAB提供了corrcoef函数,可以求出数据的相关系数矩阵。corrcoef函数的调用格式为:corrcoef(X):返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵X一样。它把矩阵X的每列作为一个变量,然后求它们的相关系数。corrcoef(X,Y):在这里,X,Y是向量,它们与corrcoef(X,Y)的作用一样。例 生成满足正态分布的100005随机矩阵,然后求各列元素的均值和标准方差,再求这5列随机数据的相关系数矩阵。命令如下:X=randn(10000

11、,5);M=mean(X)D=std(X)R=corrcoef(X)排序MATLAB中对向量X是排序函数是sort(X),函数返回一个对X中的元素按升序排列的新向量。sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为:Y,I=sort(A,dim)其中dim指明对A的列还是行进行排序。若dim=1,则按列排;若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。例 对二维矩阵做各种排序。多项式计算多项式的四则运算1多项式的加减运算2多项式乘法运算函数conv(P1,P2)用于求多项式P1和P2的乘积。这里,P1、P2是两个多项式系数向量。例 求多项式x4+8x3-1

12、0与多项式2x2-x+3的乘积。3多项式除法函数Q,r=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。deconv是conv的逆函数,即有P1=conv(P2,Q)+r。例求多项式x4+8x3-10除以多项式2x2-x+3的结果。 多项式的导函数对多项式求导数的函数是:p=polyder(P):求多项式P的导函数p=polyder(P,Q):求PQ的导函数p,q=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。上述函数中,参数P,Q是多项式的向量表示,结果p,

13、q也是多项式的向量表示。例 求有理分式的导数。命令如下:P=1;Q=1,0,5;p,q=polyder(P,Q)Matlab符号计算MATLAB自产生之日起就在数值计算应用方面独占鳌头。但仍有缺少符号运算的缺陷,1993年MathWorks公司从加拿大滑铁卢大学购入了Maple函数库的使用权,在此基础上开发了MATLAB自己的符号计算工具箱(Symbolic Toolbox),且保留了与Maple的接口。从此,MATLAB便集数值计算、符号计算和图形可视化三大基本功能于一体,成为在数值计算领域中功能强大、操作简单、最受用户喜爱的语言。在MATLAB中实现符号计算功能主要有以下3种途径:(1)通

14、过调用MATLAB自己开发的各种功能函数进行常用符号运算。这些功能主要包括符号矩阵的基本操作、符号矩阵的运算、符号微积分运算、符号线性方程求解、符号微分方程求解、特殊数学符号函数、符号函数图形等,这些内容将在本章中作详细的介绍。对于众多喜爱和熟悉MATLAB的用户来说,这些操作十分简单,很容易学习和掌握。(2)MATLAB语言中的符号计算功能已径很强大了,但为了一些特殊专业人员提供方便,MATLAB中还保留着与Maple的接口,以实现更多功能。在应用过程中需了解一些Maple的操作语法。本章中将对此作简单介绍。(3)对那些习惯了计算器的人来说,MATLAB同样是最佳的选择,因为MATLAB还提

15、供了符号运算计算器(Function calculator)功能。符号表达式的生成 MATLAB将数值计算中的变量认为是被赋值的数值变量,将符号运算中数字也视为符号。 符号表达式包括符号函数和符号方程,两者的区别是:前者不包括等号,而后者必须带有符号。但这两者的创建方式是相同的,并且和MATLAB中的字符串变量的生成方法相同。(1) 创建符号函数 f=log(x)f =log(x)(2)创建符号方程 eqation=a*x2+b*x+c=0eqation =a*x2+b*x+c=0(3)创建符号微分方程 diffeq=Dy-y=xdiffeq =Dy-y=x由此种方法创建的符号表达式对空格是很

16、敏感的。因此不要在字符间乱加空格符,否则在其他地方调用此表达式的时候会出错。由于符号表达式在MATLAB中被看成是非1阶的符号矩阵,因此它也可用sym命令来创建。如: f=sym(sin(x)f =sin(x) f=sym(sin(x)2=0)f =sin(x)2=0 另外一种创建符号函数的方法是用syms命令来创建。如: syms x % 此法不能用来创建符号方程 f=sin(x)+cos(x)f =sin(x)+cos(x) 符号矩阵的生成 在MATLAB中创建符号矩阵的方法和创建数值矩阵的形式很相似,只不过要用到符号定义函数sym, 下面介绍使用此函数创建符号函数的几种形式。使用sym函

17、数直接创建符号矩阵 a=sym(1/s+x, sin(x), cos(x)2/(b+x); 9, exp(x2+y2), log(tanh(y) % 注意的使用及位置a = 1/s+x, sin(x), cos(x)2/(b+x) 9, exp(x2+y2), log(tanh(y)用创建子阵的方法创建符号矩阵 这种创建方式需用逗号将同行各元素分隔,列元素对不齐时要用空格调整。 a=1/s+x sin(x) cos(x)2/(b+x);9 exp(x2+y2) log(tanh(y)a =1/s+x sin(x) cos(x)2/(b+x)9 exp(x2+y2) log(tanh(y) a=

18、1/s+x, sin(x), cos(x)2/(b+x);9, exp(x2+y2), log(tanh(y)a =1/s+x, sin(x), cos(x)2/(b+x)9, exp(x2+y2), log(tanh(y) b=a;exp(-1), 3, x3+y9 % ?报错将数值矩阵转化为符号矩阵 在MATLAB中,数值矩阵不能直接参与符号计算,必须先转化为符号矩阵。注意不论数值矩阵的元素原先是用分数还是用浮点数表示的,转化后的符号矩阵都将以最接近的精确有理数给出。如: a=2/3,sqrt(2),0.222;1.4,1/0.23,log(3)a = 0.6667 1.4142 0.22

19、20 1.4000 4.3478 1.0986 b=sym(a)b = 2/3, sqrt(2), 111/500 7/5, 100/23, 4947709893870346*2(-52)符号矩阵的索引和修改 MATLAB的矩阵索引和修改同数值矩阵的索引和修改完全相同,即用矩阵的坐标括号表达式实现。如: b(1,3) % 对上矩阵ans =111/500 b(2,3)=log(9)b = 2/3, sqrt(2), 111/500 7/5, 100/23, log(9)符号矩阵的基本运算 作为MATLAB语言核心的矩阵在符号运算中也发挥着重要作用,对符号矩阵本身的操作也显得十分重要,MATLA

20、B为符号矩阵提供了与数值矩阵相应的操作方式和函数。 四则运算1 矩阵的加(+)、减(-)法 a=sym(1/x,1/(x+1);1/(x+2),1/(x+3)a = 1/x, 1/(x+1) 1/(x+2), 1/(x+3) b=sym(x,1;x+2,0)b = x, 1 x+2, 0 a+bans = 1/x+x, 1/(x+1)+1 1/(x+2)+x+2, 1/(x+3) b-aans = x-1/x, 1-1/(x+1) x+2-1/(x+2), -1/(x+3)2 矩阵的乘(*)、除(/、 )法 a*b % 矩阵a与b的线性代数乘法ans = 1+1/(x+1)*(x+2), 1/

21、x 1/(x+2)*x+1/(x+3)*(x+2), 1/(x+2) a/b % 相当于a*inv(b)ans =1/(x+1), -(x2-x-1)/(x2+3*x+2)/x1/(x+3), -(x2+x-3)/(x3+7*x2+16*x+12) ab % 相当于inv(a)*bans = -6*x-2*x3-7*x2, 3/2*x2+x+1/2*x3 6+2*x3+10*x2+14*x, -1/2*x3-2*x2-3/2*x3 矩阵的转置(、 .) a=sym(1/x,1/(x+1);1/(x+2),1/(x+3)a = 1/x, 1/(x+1) 1/(x+2), 1/(x+3) a %

22、结果中用到求复数共轭函数conj()ans = 1/conj(x), 1/(2+conj(x) 1/(1+conj(x), 1/(3+conj(x) a.ans = 1/x, 1/(x+2) 1/(x+1), 1/(x+3)2.3.2 符号矩阵的其他基本运算1行列式 det(a)ans =2/x/(x+3)/(x+1)/(x+2)2符号矩阵的逆(运算) inv(b)ans = 0, 1/(x+2) 1, -x/(x+2)3符号矩阵的秩(运算) rank(a)ans = 24符号矩阵的幂运算 a2ans = 1/x2+1/(x+1)/(x+2), 1/x/(x+1)+1/(x+1)/(x+3)

23、1/(x+2)/x+1/(x+3)/(x+2), 1/(x+1)/(x+2)+1/(x+3)25符号矩阵的指数运算 bb = x, 1 x+2, 0 exp(b)ans = exp(x), exp(1) exp(x+2), 1 c=sym(0,a;b,0)c = 0, a b, 0 c=sym(0,a;b,0)c = 0, a b, 0 expm(c) % V,D = EIG(X) and EXPM(X) = V*diag(exp(diag(D)/Vans = 1/2*exp(a*b)(1/2)+1/2*exp(-(a*b)(1/2), 1/2*a*(-exp(-(a*b)(1/2)+exp(

24、a*b)(1/2)/(a*b)(1/2) 1/2*b*(-exp(-(a*b)(1/2)+exp(a*b)(1/2)/(a*b)(1/2), 1/2*exp(a*b)(1/2)+1/2*exp(-(a*b)(1/2)矩阵分解 这是MATLAB符号矩阵操作的重要组成部分之一,其中包括特征值解、奇异值分解等,以及约当型、三角抽取和矩阵空间等。符号矩阵的特征值分解由eig函数实现 a=a;b=b;c=c; % 清除变量a、b、c同Maple d=sym(a,b,c;b,c,a;c,a,b) v,lambda=eig(d)v = 1, -(a+(b2-b*a-c*b-c*a+a2+c2)(1/2)-b

25、)/(a-c), -(a-(b2-b*a-c*b-c*a+a2+c2)(1/2)-b)/(a-c) 1, -(b-(b2-b*a-c*b-c*a+a2+c2)(1/2)-c)/(a-c), -(b+(b2-b*a-c*b-c*a+a2+c2)(1/2)-c)/(a-c) 1, 1, 1lambda = b+a+c, 0, 0 0, (b2-b*a-c*b-c*a+a2+c2)(1/2), 0 0, 0, -(b2-b*a-c*b-c*a+a2+c2)(1/2)符号矩阵的奇异值分解由svd函数实现 syms t real A=0,1;-1,0; E=expm(t*A)E = cos(t), si

26、n(t) -sin(t), cos(t) sigma=svd(E)sigma = (cos(t)2+sin(t)2)(1/2) (cos(t)2+sin(t)2)(1/2) simplify(sigma)ans = 1 1符号矩阵的约当标准型由jordan函数计算得到 a=sym(1 1 2;0 1 3; 0 0 2)a = 1, 1, 2 0, 1, 3 0, 0, 2 x,y=jordan(a)x = 5, -5, -5 3, 0, -5 1, 0, 0y = 2, 0, 0 0, 1, 1 0, 0, 1符号矩阵的三角抽取由diag、tril、triu函数实现diag抽主对角线元素tri

27、l、triu分别抽左、右三角形 z=sym(x*y xa sin(y);ta log(y) b; y exp(t) x)z = x*y, xa, sin(y) ta, log(y), b y, exp(t), x diag(z)ans = x*y log(y) x tril(z,-1)ans = 0, 0, 0 ta, 0, 0 y, exp(t), 0 triu(z,1)ans = 0, xa, sin(y) 0, 0, b 0, 0, 0 triu(z,1)ans = 0, xa, sin(y) 0, 0, b 0, 0, 0符号矩阵的列空间求解函数为colspace a=sym(1 1 2; 0 1 3; 0 0 2)a = 1, 1, 2 0, 1, 3 0, 0, 2 b=colspace(a) % 求解出来的列向量构成原矩阵列空间的基b= 1, 0, 0 0, 0, 1 0, 1, 0 size(b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1