MatLab常用函数大全

  • 格式:docx
  • 大小:70.02 KB
  • 文档页数:12

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 =

3 2 1

3 1 2

2 3 1

2 1 3

1 2 3

1 3

2

4、求指数

求a^b:Power(a,b) ;

例:求2^3 ;

Ans = pow(2,3) ;

5、求行列式

求矩阵A的行列式:det(A);

例:A=[1 2;3 4] ;

则det(A) = -2 ;

6、求矩阵的转置

求矩阵A的转置矩阵:A’

转置符号为单引号.

7、求向量的指数

求向量p=[1 2 3 4]'的三次方:p.^3

例:

p=[1 2 3 4]'

A=[p,p.^2,p.^3,p.^4]

结果为:

注意:在p与符号”^”之间的”.”不可少. 8、求自然对数

求ln(x):Log(x)

例:log(2) =

0.6931

9、求矩阵的逆矩阵

求矩阵A的逆矩阵:inv(A)

例:a= [1 2;3 4];

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 =

4 9 16 25

roots函数用来求代数多项式的根,其调用格式为:

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.0000

2.0000

1.0000

如果键入命令p=poly(x),则可得到以3,2,1为根的三次多项式的系数

p =

1.0000 -6.0000 11.0000 -6.0000

21、单变量非线性方程的求根

MATLAB还提供了一个fzero函数,可以用来求单变量非线性方程的求根。该函数的调用格式为:

z=fzero(‘fname’,x0)

其中fname是待求根的函数文件名,x0为搜索的起点。一个函数可能有多个根,但fzero函数只能给出离x0最近的那个根。

例: 求函数()1020xfxx在00.5x附近的根。

命令如下:

fzero('x-10^x+2',0.5)

ans =

0.3758

22、求单变量函数的最小值点

其调用格式为:

x=fminbnd(‘fname’,x1,x2)

这里,fname是目标函数名,x1和x2限定自变量的取值范围,而x0是搜索起点的坐标。

例:求一元函数3()25fxxx在[0,5]内的最小值点。

命令如下:

fminbnd('x^3-2*x-5', 0, 5)

ans =

0.8165

23、求多变量函数的最小值点

其调用格式为:

x=fminsearch(‘fname’,x0)

例: 求多元函数222(,,)4yzfxyzxxyz在111(,,)222附近的最小值。

建立函数文件f.m。

function w=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.5000 1.0000 1.0000

计算多元函数的最小值。

f(w)

ans =

4.0000

24、求函数的最大值点

MATLAB没有专门提供求函数最大值点的函数,当需要求函数在区间(a,b)上最大值点