MatLab常用函数大全

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、求组合数求knC,则输入:nchoosek(n,k)例:nchoosek(4,2)=6.2、求阶乘求n!.则输入:Factorial(n).例:factorial(5)=120.3、求全排列perms(x).例:求x=[1,2,3];Perms(x),输出结果为:ans=3213122312131231324、求指数求a^b:Power(a,b);例:求2^3;Ans=pow(2,3);5、求行列式求矩阵A的行列式:det(A);例:A=[12;34];则det(A)=-2;6、求矩阵的转置求矩阵A的转置矩阵:A’转置符号为单引号.7、求向量的指数求向量p=[1234]'的三次方:p.^3例:p=[1234]'A=[p,p.^2,p.^3,p.^4]结果为:注意:在p与符号”^”之间的”.”不可少.8、求自然对数求ln(x):Log(x)例:log(2)=0.69319、求矩阵的逆矩阵求矩阵A的逆矩阵:inv(A)例:a=[12;34];则10、多项式的乘法运算函数conv(p1,p2)用于求多项式p1和p2的乘积。这里,p1、p2是两个多项式系数向量。例2-2求多项式43810xx和223xx的乘积。命令如下:p1=[1,8,0,0,-10];p2=[2,-1,3];c=conv(p1,p2)11、多项式除法函数[q,r]=deconv(p1,p2)用于多项式p1和p2作除法运算,其中q返回多项式p1除以p2的商式,r返回p1除以p2的余式。这里,q和r仍是多项式系数向量。例2-3求多项式43810xx除以多项式223xx的结果。命令如下:p1=[1,8,0,0,-10];p2=[2,-1,3];[q,r]=deconv(p1,p2)12、求一个向量的最大值求一个向量x的最大值的函数有两种调用格式,分别是:(1)max(x):返回向量x的最大值,如果x中包含复数元素,则按模取最大值。(2)[y,i]=max(x):返回向量x的最大值存入y,最大值的序号存入i,如果x中包含复数元素,则按模取最大值。求向量x的最小值函数是min(x),用法与max(x)完全相同。13、求矩阵的最大值和最小值求矩阵A的最大值的函数有三种调用格式,分别是:(1)max(A):返回一个行向量,向量的i个元素是矩阵A的第i列的最大值。(2)[y,u]=max(A):返回行向量y和u,y纪录A的每列的最大值,u纪录每列最大值的行号。求矩阵A的最小值的函数min(A),用法与max(A)完全相同。14、求和与求积数据序列求和与求积函数是sum和prod,其使用方法类似。设x是一个向量,A是一个矩阵,函数的调用格式为:sum(x):返回向量x各元素之和。Sum(A,1):返回矩阵A的列求和后的行向量Sum(A,2):返回矩阵A的行求和后的列向量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行的元素乘积。15、平均值、标准方差MATLAB提供了mean,std函数来计算平均值、标准方差或方差。这些函数的调用方法如下:mean(x):返回向量x的算术平均值。std(x):返回向量x的标准方差。对于矩阵A,mean函数的一般调用格式为:y=mean(A,dim)这里,dim取1或2。当dim=1时,返回一个行向量y,y的第i个元素是A的第i列元素的平均值;当dim=2时,返回一个列向量y,y的第i个元素是A的第i行元素的平均值。对于矩阵A,std函数的一般调用格式为:y=std(A,flag,dim)这里,dim取1或2。当dim=1时,求各列元素的标准方差;当dim=2时,求各行元素的标准方差。flag取0或1,当flag=0时,按1计算标准方差;当flag=1时,按2计算方差。缺省flag=0,dim=1。16、相关系数对于两组数据序列12[,,,]nxxxx,12[,,,]nyyyy,其相关系数的计算,MATLAB提供了corrcoef函数来计算相关系数,corrcoef函数的调用格式为:r=corrcoef(x,y)17、排序对向量元素的进行排序是一种经常性的操作,MATLAB提供了sort函数对向量x进行排序。y=sort(x):返回一个对x中元素按升序排列后的向量y。[y,i]=sort(x):返回一个对x中的元素按升序排列的向量y,而i记录y中元素在x中的位置。18、多项式的求导对多项式求导数的函数是:p=polyder(p1):求多项式p1的导函数。p=polyder(p1,p2):求多项式p1和p2乘积的导函数。[p,q]=polyder(p1,p2):求多项式p1和p2之商的导函数,p、q是导函数的分子、分母。例:求有理分式21()3xfxxx的导函数。命令如下:p1=[1,-1];p2=[1,-1,3];[p,q]=polyder(p1,p2)19、多项式的求值polyval函数用来求代数多项式的值,其调用格式为:y=polyval(p,x)若x为一数值,则求多项式在该点的值;若x为向量,则对向量中的每个元素求其多项式的值。例:求多项式2()21pxxx在点1,2,3,4的值。命令如下:p=[1,2,1];x=1:4;y=polyval(p,x)y=491625roots函数用来求代数多项式的根,其调用格式为:x=roots(p)如果x为向量,则p=poly(x)可以建立一个以x为其根的多项式。20、多项式的求根roots函数用来求代数多项式的根,其调用格式为:x=roots(p)如果x为向量,则p=poly(x)可以建立一个以x为其根的多项式。例:求多项式32()6116pxxxx的根。命令如下:p=[1,-6,11,-6];x=roots(p)x=3.00002.00001.0000如果键入命令p=poly(x),则可得到以3,2,1为根的三次多项式的系数p=1.0000-6.000011.0000-6.000021、单变量非线性方程的求根MATLAB还提供了一个fzero函数,可以用来求单变量非线性方程的求根。该函数的调用格式为:z=fzero(‘fname’,x0)其中fname是待求根的函数文件名,x0为搜索的起点。一个函数可能有多个根,但fzero函数只能给出离x0最近的那个根。例:求函数()1020xfxx在00.5x附近的根。命令如下:fzero('x-10^x+2',0.5)ans=0.375822、求单变量函数的最小值点其调用格式为:x=fminbnd(‘fname’,x1,x2)这里,fname是目标函数名,x1和x2限定自变量的取值范围,而x0是搜索起点的坐标。例:求一元函数3()25fxxx在[0,5]内的最小值点。命令如下:fminbnd('x^3-2*x-5',0,5)ans=0.816523、求多变量函数的最小值点其调用格式为:x=fminsearch(‘fname’,x0)例:求多元函数222(,,)4yzfxyzxxyz在111(,,)222附近的最小值。建立函数文件f.m。functionw=f(p)x=p(1);y=p(2);z=p(3);w=x+y^2/(4*x)+z^2/y+2/z;调用fminsearch函数求多元函数在[1/2,1/2,1/2]附近的最小值点。w=fminsearch('f',[1/2,1/2,1/2])w=0.50001.00001.0000计算多元函数的最小值。f(w)ans=4.000024、求函数的最大值点MATLAB没有专门提供求函数最大值点的函数,当需要求函数在区间(a,b)上最大值点时,可将它转化为求-f(x)在(a,b)上的最小值点。25、建立单个符号量(sym函数)sym函数用来建立单个符号量,一般调用格式为:符号变量名=sym(‘符号字符串’)该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。例如,a=sym(‘a’)将建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。符号变量a和在其他过程中建立的非符号变量a是不同的。一个非符号变量在参与运算前必须赋值,变量的运算实际上是该变量所对应值的运算,其运算结果是一个和变量类型对应的值,而符号变量参与运算前无须赋值,其结果是一个由参与运算的变量名组成的表达式。下面的命令及其运算结果,说明了符号变量与非符号变量的差别。在MATLAB命令窗口,输入以下命令:a=sym('a');%定义符号变量a,bb=sym('b');p1=sym('pi');%定义符号常量a=sym('3');b=sym('4');p2=pi;%定义数值常量x=3;y=4;sin(p1/3)%符号计算ans=1/2*3^(1/2)sin(p2/3)%数值计算ans=0.8660cos((a+b)^2)-sin(pi/4)%符号计算ans=cos(49)-1/2*2^(1/2)cos((x+y)^2)-sin(pi/4)%数值计算ans=-0.406526、建立多个符号量(syms函数)函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为:syms符号变量名1符号变量2…符号变量n用这种格式定义符号变量时,变量间用空格而不要用逗号分隔。例如,用syms函数定义4个符号变量a,b,命令如下:symsab27、建立符号表达式含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:(1)利用单引号来生成符号表达式。例如y='1/sqrt(2*x)'y=1/sqrt(2*x)(2)利用sym函数建立符号表达式。例如z=sym('3*x^2-5*y+2*x*y+6')z=3*x^2-5*y+2*x*y+6A=sym('[a,b;c,d]')A=[a,b][c,d]第一条命令建立一个符号函数表达式,第二条命令生成一个符号矩阵。(3)利用已经定义的符号变量组成符号表达式。例如symsxy;z=3*x^2-5*y+2*x*y+6z=3*x^2-5*y+2*x*y+628、符号表达式中变量的确定利用函数findsym(s)可以确定符号表达式s中的全部符号变量。例如:symsabxy;%定义4个符号变量c=sym('3');%定义1个符号常量s=3*x+y;findsym(s)ans=x,yfindsym(5*x+2)ans=xfindsym(a*x+b*y+c)%符号变量c不会出现在结果中ans=a,b,x,y29、符号表达式四则运算符号表达式的加、减、乘、除和幂运算可分别由函数symadd、symsub、symmul、symdiv和sympow来实现。例如f='2*x^2+3*x-5'f=2*x^2+3*x-5g='x^2-x+7'g=x^2-x+7symadd(f,g)%加法运算ans=3*x^2+2*x+2sympow(f,'2*x')%乘幂运算ans=(2*x^2+3*x-5)^(2*x)30、符号表达式的因式分解与展开符号表达式的因式分解和展开运算,可用函数factor和expand来实现,其调用格式为:factor(s):对符号表达式s分解因式。expand(s):对符号表达式s进行展开。例如:symsxy;s1=x^3-6*x^2+11*x-6s1=x^3-6*x^2+11*x-6factor(s1)ans=(x-1)*(x-2)*(x-3)s2=(x-y)*(x+y)s2=(x-y)*(x+y)expand(s2)ans=x^2-y^231、符号表达式与数值表达

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功