MatLab常用函數(shù)大全_第1頁
MatLab常用函數(shù)大全_第2頁
MatLab常用函數(shù)大全_第3頁
MatLab常用函數(shù)大全_第4頁
MatLab常用函數(shù)大全_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1、求組合數(shù)求,則輸入: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 24、求指數(shù)求ab:Power(a,b) ;例:求23 ;Ans = pow(2,3) ;5、求行列式求矩陣A的行列式:det(A);例:A=1 2;3 4 ;則det(A) = -2 ;6、求矩陣的轉置求矩陣A的轉置矩陣:A轉置符號為單引號.7、求

2、向量的指數(shù)求向量p=1 2 3 4的三次方:p.3例:p=1 2 3 4A=p,p.2,p.3,p.4結果為:注意:在p與符號”之間的”.”不可少.8、求自然對數(shù)求ln(x):Log(x)例:log(2) = 0.69319、求矩陣的逆矩陣求矩陣A的逆矩陣:inv(A)例:a= 1 2;3 4;則10、多項式的乘法運算函數(shù)conv(p1,p2)用于求多項式p1和p2的乘積。這里,p1、p2是兩個多項式系數(shù)向量。例2-2 求多項式和的乘積。命令如下:p1=1,8,0,0,-10;p2=2,-1,3;c=conv(p1,p2)11、多項式除法函數(shù)q,r=deconv(p1,p2)用于多項式p1和p

3、2作除法運算,其中q返回多項式p1除以p2的商式,r返回p1除以p2的余式。這里,q和r仍是多項式系數(shù)向量。例2-3 求多項式除以多項式的結果。命令如下:p1=1,8,0,0,-10;p2=2,-1,3;q,r=deconv(p1,p2)12、求一個向量的最大值求一個向量x的最大值的函數(shù)有兩種調用格式,分別是:(1)max(x):返回向量x的最大值,如果x中包含復數(shù)元素,則按模取最大值。(2)y, i=max(x):返回向量x的最大值存入y,最大值的序號存入i,如果x中包含復數(shù)元素,則按模取最大值。求向量x的最小值函數(shù)是min(x),用法與max(x)完全相同。13、求矩陣的最大值和最小值求矩

4、陣A的最大值的函數(shù)有三種調用格式,分別是:(1)max(A):返回一個行向量,向量的i個元素是矩陣A的第i列的最大值。(2)y,u=max(A):返回行向量y和u,y紀錄A的每列的最大值,u紀錄每列最大值的行號。求矩陣A的最小值的函數(shù)min(A),用法與max(A)完全相同。14、求和與求積數(shù)據序列求和與求積函數(shù)是sum和prod,其使用方法類似。設x是一個向量,A是一個矩陣,函數(shù)的調用格式為:sum(x):返回向量x各元素之和。Sum(A,1):返回矩陣A的列求和后的行向量Sum(A,2):返回矩陣A的行求和后的列向量prod(x):返回向量x各元素的乘積。sum(A):返回一個行向量,其第

5、i個元素是A的第i列的元素之和。prod(A):返回一個行向量,其第i個元素是A的第i列的元素乘積。sum(A,dim):當dim為1時,該函數(shù)等同于sum(A);當dim為2時,返回一個列向量,其第i個元素是A的第i行的元素之和。prod(A,dim):當dim為1時,該函數(shù)等同于prod(A);當dim為2時,返回一個列向量,其第i個元素是A的第i行的元素乘積。15、平均值、標準方差MATLAB提供了mean,std函數(shù)來計算平均值、標準方差或方差。這些函數(shù)的調用方法如下:mean(x):返回向量x的算術平均值。std(x):返回向量x的標準方差。對于矩陣A,mean函數(shù)的一般調用格式為:

6、y=mean(A,dim)這里,dim取1或2。當dim=1時,返回一個行向量y,y的第i個元素是A的第i列元素的平均值;當dim=2時,返回一個列向量y,y的第i個元素是A的第i行元素的平均值。對于矩陣A,std函數(shù)的一般調用格式為:y=std(A,flag,dim)這里,dim取1或2。當dim=1時,求各列元素的標準方差;當dim=2時,求各行元素的標準方差。flag取0或1,當flag=0時,按計算標準方差;當flag=1時,按計算方差。缺省flag=0,dim=1。16、相關系數(shù)對于兩組數(shù)據序列,其相關系數(shù)的計算, MATLAB提供了corrcoef函數(shù)來計算相關系數(shù),corrcoe

7、f函數(shù)的調用格式為:r=corrcoef(x,y)17、排序對向量元素的進行排序是一種經常性的操作,MATLAB提供了sort函數(shù)對向量x進行排序。y=sort(x):返回一個對x中元素按升序排列后的向量y。y,i=sort(x):返回一個對x中的元素按升序排列的向量y,而i記錄y中元素在x中的位置。18、多項式的求導對多項式求導數(shù)的函數(shù)是:p=polyder(p1):求多項式p1的導函數(shù)。p=polyder(p1,p2):求多項式p1和p2乘積的導函數(shù)。p,q=polyder(p1,p2):求多項式p1和p2之商的導函數(shù),p、q是導函數(shù)的分子、分母。例: 求有理分式的導函數(shù)。命令如下:p1=

8、1,-1;p2=1,-1,3;p,q=polyder(p1,p2)19、多項式的求值polyval函數(shù)用來求代數(shù)多項式的值,其調用格式為:y=polyval(p,x)若x為一數(shù)值,則求多項式在該點的值;若x為向量,則對向量中的每個元素求其多項式的值。例: 求多項式在點1,2,3,4的值。命令如下:p=1,2,1;x=1:4;y=polyval(p,x)y = 4 9 16 25roots函數(shù)用來求代數(shù)多項式的根,其調用格式為:x=roots(p)如果x為向量,則p=poly(x)可以建立一個以x為其根的多項式。20、多項式的求根roots函數(shù)用來求代數(shù)多項式的根,其調用格式為:x=roots(

9、p)如果x為向量,則p=poly(x)可以建立一個以x為其根的多項式。例:求多項式的根。命令如下:p=1,-6,11,-6;x=roots(p)x = 3.0000 2.0000 1.0000如果鍵入命令p=poly(x),則可得到以3,2,1為根的三次多項式的系數(shù)p = 1.0000 -6.0000 11.0000 -6.000021、單變量非線性方程的求根MATLAB還提供了一個fzero函數(shù),可以用來求單變量非線性方程的求根。該函數(shù)的調用格式為:z=fzero(fname,x0)其中fname是待求根的函數(shù)文件名,x0為搜索的起點。一個函數(shù)可能有多個根,但fzero函數(shù)只能給出離x0最近

10、的那個根。例: 求函數(shù)在附近的根。命令如下:fzero(x-10x+2,0.5)ans = 0.375822、求單變量函數(shù)的最小值點其調用格式為:x=fminbnd(fname,x1,x2)這里,fname是目標函數(shù)名,x1和x2限定自變量的取值范圍,而x0是搜索起點的坐標。例:求一元函數(shù)在0,5內的最小值點。命令如下:fminbnd(x3-2*x-5, 0, 5)ans = 0.816523、求多變量函數(shù)的最小值點其調用格式為:x=fminsearch(fname,x0)例: 求多元函數(shù)在附近的最小值。建立函數(shù)文件f.m。function w=f(p) x=p(1);y=p(2);z=p(3

11、); w=x+y2/(4*x)+z2/y+2/z;調用fminsearch函數(shù)求多元函數(shù)在1/2,1/2,1/2附近的最小值點。w=fminsearch(f ,1/2,1/2,1/2)w = 0.5000 1.0000 1.0000計算多元函數(shù)的最小值。f(w)ans = 4.000024、求函數(shù)的最大值點MATLAB沒有專門提供求函數(shù)最大值點的函數(shù),當需要求函數(shù)在區(qū)間(a,b)上最大值點時,可將它轉化為求-f(x)在(a,b)上的最小值點。25、建立單個符號量(sym函數(shù))sym函數(shù)用來建立單個符號量,一般調用格式為:符號變量名=sym(符號字符串)該函數(shù)可以建立一個符號量,符號字符串可以是

12、常量、變量、函數(shù)或表達式。例如,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; %定義

13、數(shù)值常量x=3;y=4;sin(p1/3) %符號計算ans = 1/2*3(1/2)sin(p2/3) %數(shù)值計算ans = 0.8660cos(a+b)2)-sin(pi/4) %符號計算ans = cos(49)-1/2*2(1/2)cos(x+y)2)-sin(pi/4) %數(shù)值計算ans = -0.406526、建立多個符號量(syms函數(shù))函數(shù)sym一次只能定義一個符號變量,使用不方便。MATLAB提供了另一個函數(shù)syms,一次可以定義多個符號變量。syms函數(shù)的一般調用格式為:syms 符號變量名1 符號變量2 符號變量n用這種格式定義符號變量時,變量間用空格而不要用逗號分隔。例

14、如,用syms函數(shù)定義4個符號變量a,b,命令如下:syms a b27、建立符號表達式含有符號對象的表達式稱為符號表達式。建立符號表達式有以下3種方法:(1)利用單引號來生成符號表達式。例如y=1/sqrt(2*x)y =1/sqrt(2*x)(2)利用sym函數(shù)建立符號表達式。例如z=sym(3*x2-5*y+2*x*y+6)z = 3*x2-5*y+2*x*y+6A=sym(a,b;c,d) A = a, b c, d第一條命令建立一個符號函數(shù)表達式,第二條命令生成一個符號矩陣。(3)利用已經定義的符號變量組成符號表達式。例如syms x y;z=3*x2-5*y+2*x*y+6z =3

15、*x2-5*y+2*x*y+628、符號表達式中變量的確定利用函數(shù)findsym(s)可以確定符號表達式s中的全部符號變量。例如:syms a b x y; %定義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不會出現(xiàn)在結果中ans =a, b, x, y29、符號表達式四則運算符號表達式的加、減、乘、除和冪運算可分別由函數(shù)symadd、symsub、symmul、symdiv和sympow來實現(xiàn)。例如f=2*x2+3*x-5f =2*x2+3*x

16、-5g=x2-x+7g =x2-x+7symadd(f,g) %加法運算ans = 3*x2+2*x+2sympow(f,2*x) %乘冪運算ans = (2*x2+3*x-5)(2*x)30、符號表達式的因式分解與展開符號表達式的因式分解和展開運算,可用函數(shù)factor和expand來實現(xiàn),其調用格式為:factor(s):對符號表達式s分解因式。expand(s):對符號表達式s進行展開。例如:syms x y;s1=x3-6*x2+11*x-6s1 = x3-6*x2+11*x-6factor(s1)ans = (x-1)*(x-2)*(x-3)s2=(x-y)*(x+y)s2 = (x

17、-y)*(x+y)expand(s2)ans = x2-y231、符號表達式與數(shù)值表達式之間的轉換利用函數(shù)sym可以將數(shù)值表達式轉換成符號表達式。例如:sym(1.5)ans = 3/2利用函數(shù)eval可以將符號表達式轉換成數(shù)值表達式。例如:x=(1+sqrt(5)/2x =(1+sqrt(5)/2eval (x)ans = 1.6180y=3/2y =3/2eval (y)ans =1.500032、符號極限MATLAB中求函數(shù)極限的函數(shù)是limit,可用來求函數(shù)在指定點的極限值和左右極限值。對于極限值為“沒有定義”的極限,MATLAB給出的結果為NaN,極限值為無窮大時,MATLAB給出的

18、結果為inf。limit函數(shù)的調用格式為:(1)limit(f, x, a):求符號函數(shù)的極限值。(2)limit(f, x, a, left):求符號函數(shù)的右極限值。(3)limit(f, x, a, right):求符號函數(shù)的右極限值。33、符號導數(shù)diff函數(shù)用于對符號表達式求導數(shù)。該函數(shù)的一般調用格式為:diff(s, x, n):對符號表達式或符號函數(shù)s關于x求n階導數(shù),當n缺省時,表示求一階導數(shù)。例: 求下列函數(shù)導數(shù)(1),求。導數(shù):syms x a;diff(exp(-a*x2)+x,x)ans =34、符號積分符號積分由函數(shù)int來實現(xiàn)。該函數(shù)的一般調用格式為:int(s,x)

19、:以符號表達式或符號函數(shù)s為被積函數(shù),x為積分變量,計算不定積分。int(s, x, a, b):以符號表達式或符號函數(shù)s為被積函數(shù),a,b為積分的下限和上限,x為積分變量,計算定積分。a和b可以是兩個具體的數(shù),也可以是一個符號表達式,還可以是無窮大。例:求積分:syms x;y=exp(-x2);int(y, x, 0, inf)ans = pi(1/2)/235、符號級數(shù)symsum函數(shù)用于求無窮級數(shù)的和。該函數(shù)的一般調用格式為:symsum(s, x, n, m) s是一個符號函數(shù),它是級數(shù)通項,x是求和變量,n和m是求和的開始項和未項。例: 求下列級數(shù)之和(1) (2)級數(shù)1:syms

20、 n;s=1/n2;symsum(s, n, 1, inf)ans = 1/6*pi2級數(shù)2:syms n;s=(-1)(n-1)/(2*n-1);symsum(s, n, 1, inf)ans =1/4*pi36、函數(shù)的泰勒展開taylor函數(shù)用于將一個函數(shù)展開為冪級數(shù),其調用格式為:taylor(f , x, n, a) f是一個符號表達式或符號函數(shù),它表示需要被展開的函數(shù),x是函數(shù)自變量,n指需要展開的項數(shù),其缺省值為6,a指定將函數(shù)f在x = a處展開,其缺省值為0。例:求以下函數(shù)的泰勒級開式(1)求函數(shù)在處的泰勒展開式的前5項。展開式:syms x;f=log(x);taylor(f

21、, x, 5, 1)ans =x-1-1/2*(x-1)2+1/3*(x-1)3-1/4*(x-1)437、符號方程求解求解用符號表達式的代數(shù)方程可由函數(shù)solve實現(xiàn),其調用格式為:x=solve(s, x ):求解符號表達式s組成的代數(shù)方程,求解變量為x。x1,x2,xn =solve(s1,s2,sn, x 1, x2 , x n):求解符號表達式s1,s2,sn組成的方程組,求解變量分別為x1,x2,xn。例2-15 求解方程組 (為已知的互異實數(shù))在MATLAB命令窗口,輸入命令:x,y,z=solve(x+a*y+a2*z=a3,x+b*y+b2*z=b3,x+c*y+c2*z=c3,x,y,z)x = b*c*ay = -b*a-c*b-c*az = a+b+c38、符號常微分方程求解符號微分方程求解可以通過函數(shù)dsolve來實現(xiàn),其調用格式為:dsolve(e, c, x) 求解符號表達式構成的常微分方程e,在由符號表達式給出的初值條件c下的特解,x是微分方程的自變量;如果沒有給出初值條件c,則求方程的通解。dsolve(e1, e2, ,en, c1, c2, ,cn, x1, x2,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論