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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1、求組合數(shù)求Cnk,那么輸入:n choosek (n,k) 例:nchoosek(4,2) = 6.2、求階乘 求n!.那么輸入:Factorial( n). 例:factorial(5) = 120.3、求全排列perms(x).例:求x=1,2,3;Perms(x),輸出結(jié)果為ans =3213122312131231324、求指數(shù)求 aAb: Power(a,b); 例:求2人3 ;Ans = pow(2,3);5、求行列式求矩陣A的行列式:det(A); 例:A=1 2;3 4;那么 det(A) = -2 ;6、求矩陣的轉(zhuǎn)置 求矩陣A的轉(zhuǎn)置矩陣:A 轉(zhuǎn)置符號為單引號.7、求向量的

2、指數(shù)求向量p=1 2 3 4'的三次方:p.A3例:p=1 2 3 4'A=p,p.A2,p.A3,p.A4結(jié)果為:A =1111248163927S141664256注意:在p與符號"A"之間的""不可少.8、求自然對數(shù)求 ln(x) : Log(x)例:log(2) = 0.69319、求矩陣的逆矩陣 求矩陣A的逆矩陣:inv(A) 例:a= 1 2;3 4;那么>> inv(a) ans -2- 00001. COCO1_5000-0.500010、多項式的乘法運算函數(shù)conv(p1,p2)用于求多項式 p1和p2的乘積

3、。這里,p1、p2是兩個多項式系數(shù)向 量。432例2-2求多項式x 8x 10和2x x 3的乘積。命令如下:p1=1,8,0,0,-10;p2=2,-1,3;c=c on v(p1,p2)11、多項式除法函數(shù)q , r=deconv(p1 ,p2)用于多項式p1和p2作除法運算,其中q返回多項式p1除 以p2的商式,r返回p1除以p2的余式。這里,q和r仍是多項式系數(shù)向量。例2-3求多項式x48x3 10除以多項式2x2 x 3的結(jié)果。命令如下:p1=1,8,0,0,-10;p2=2,-1,3;q,r=dec on v(p1,p2)12、求一個向量的最大值求一個向量x的最大值的函數(shù)有兩種調(diào)用

4、格式,分別是:1max(x):返回向量x的最大值,如果x中包含復(fù)數(shù)元素,那么按模取最大值。2y, i=max(x):返回向量x的最大值存入y,最大值的序號存入i,如果x中包 含復(fù)數(shù)元素,那么按模取最大值。求向量x的最小值函數(shù)是 min(x),用法與max(x)完全一樣。13、求矩陣的最大值和最小值求矩陣A的最大值的函數(shù)有三種調(diào)用格式,分別是:1max(A):返回一個行向量,向量的 i個元素是矩陣 A的第i列的最大值。2y,u=max(A):返回行向量y和u,y紀(jì)錄A的每列的最大值,u紀(jì)錄每列最大值 的行號。求矩陣A的最小值的函數(shù) min(A),用法與max(A)完全一樣。14、求和與求積數(shù)據(jù)序

5、列求和與求積函數(shù)是sum和prod,其使用方法類似。設(shè)x是一個向量,A是一個矩陣,函數(shù)的調(diào)用格式為: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):當(dāng)dim為1時,該函數(shù)等同于sum(A);當(dāng)dim為2時,返回一個列向量, 其第i個元素是A的第i行的元素之和。prod(A,dim):當(dāng)dim為1時,該函數(shù)等同于 prod

6、(A);當(dāng)dim為2時,返回一個列向 量,其第i個元素是A的第i行的元素乘積。15、平均值、標(biāo)準(zhǔn)方差MATLAB供了 mean, std函數(shù)來計算平均值、標(biāo)準(zhǔn)方差或方差。這些函數(shù)的調(diào)用方法如下:mean(x):返回向量x的算術(shù)平均值。std(x):返回向量x的標(biāo)準(zhǔn)方差。對于矩陣A mean函數(shù)的一般調(diào)用格式為:y=mean(A, dim)這里,dim取1或2。當(dāng)dim=1時,返回一個行向量 y, y的第i個元素是A的第i列元素的 平均值;當(dāng)dim=2時,返回一個列向量 y, y的第i個元素是A的第i行元素的平均值。對于矩陣A std函數(shù)的一般調(diào)用格式為:y=std(A ,flag , dim)

7、這里,dim取1或2。當(dāng)dim=1時,求各列元素的標(biāo)準(zhǔn)方差;當(dāng) dim=2時,求各行元素的標(biāo) 準(zhǔn)方差。flag取0或1,當(dāng)flag=0時,按1計算標(biāo)準(zhǔn)方差;當(dāng)flag=1時,按2計算方差。 缺省 flag=0 , dim=1。16、相關(guān)系數(shù)對于兩組數(shù)據(jù)序列xXi,X2,Xn, y%2,,yn,其相關(guān)系數(shù)的計算,MATLAB提供了 corrcoef函數(shù)來計算相關(guān)系數(shù),corrcoef函數(shù)的調(diào)用格式為:r=corrcoef(x ,y)17、排序?qū)ο蛄吭氐倪M展排序是一種經(jīng)常性的操作,MATLAB提供了 sort函數(shù)對向量x進展排序。y=sort(x):返回一個對x中元素按升序排列后的向量y。y,

8、i=sort(x):返回一個對x中的元素按升序排列的向量y,而i記錄y中元素在x中的位置。18、多項式的求導(dǎo)對多項式求導(dǎo)數(shù)的函數(shù)是:p=polyder(p1):求多項式p1的導(dǎo)函數(shù)。 p=polyder(p1,p2):求多項式 p1和p2乘積的導(dǎo)函數(shù)。p,q=polyder(p1,p2) :求多項式p1和p2之商的導(dǎo)函數(shù),p、q是導(dǎo)函數(shù)的分子、分 母。例:求有理分式f (x)的導(dǎo)函數(shù)。命令如下:p1=1,-1; p2=1,-1,3;p,q=polyder(p1,p2)19、多項式的求值polyval函數(shù)用來求代數(shù)多項式的值,其調(diào)用格式為:y=polyval(p,x)假設(shè)x為一數(shù)值,那么求多項式

9、在該點的值;假設(shè)x為向量,那么對向量中的每個元素求其多項式的值。2例:求多項式p(x) x 2x 1在點1,2,3,4的值。命令如下:p=1,2,1; x=1:4; y=polyval(p,x)491625roots函數(shù)用來求代數(shù)多項式的根,其調(diào)用格式為:x=roots(p)如果x為向量,那么p=poly(x)可以建立一個以x為其根的多項式。20、多項式的求根roots函數(shù)用來求代數(shù)多項式的根,其調(diào)用格式為:x=roots(p)如果x為向量,那么p=poly(x)可以建立一個以x為其根的多項式。例:求多項式 p(x)x3 6x211x 6的根。命令如下:p=1,-6,11,-6;x=roots

10、(p)x =3.00002.00001.0000如果鍵入命令p=poly(x),那么可得到以3,2,1為根的三次多項式的系數(shù)p =1.0000 -6.0000 11.0000 -6.000021、單變量非線性方程的求根MATLAB還提供了一個fzero函數(shù),可以用來求單變量非線性方程的求根。該函數(shù)的調(diào) 用格式為:z=fzero( fname' ,x0)其中fname是待求根的函數(shù)文件名,x0為搜索的起點。一個函數(shù)可能有多個根,但fzero函 數(shù)只能給出離x0最近的那個根。例:求函數(shù)f (x) x 10x 2 0在x0 0.5附近的根。命令如下:fzero('x-10Ax+2&#

11、39;,0.5)ans =0.375822、求單變量函數(shù)的最小值點其調(diào)用格式為:x=fminbnd( fname' ,x1,x2)這里,fname是目標(biāo)函數(shù)名,x1和x2限定自變量的取值圍,而x0是搜索起點的坐標(biāo)。例:求一元函數(shù) f(x)3x 2x 5在0,5的最小值點。命令如下:fmi nbn d('xA3-2*x-5',0,5)ans =0.816523、求多變量函數(shù)的最小值點 其調(diào)用格式為:x=fminsearch(fname' ,x0)2 111例:求多元函數(shù)f (x, y, z)4x在( ,_,_)附近的最小值。z 2 2 2建立函數(shù)文件f.m。fun

12、 ctio n w=f(p)x=p(1);y=p(2);z=p(3);w=x+yA2/(4*x)+zA2/y+2/z;調(diào)用fminsearch函數(shù)求多元函數(shù)在1/2,1/2,1/2附近的最小值點。w=fmi nsearch('f,1/2,1/2,1/2)0.50001.00001.0000計算多元函數(shù)的最小值。f(w)ans =4.000024、求函數(shù)的最大值點MATLAB有專門提供求函數(shù)最大值點的函數(shù), 可將它轉(zhuǎn)化為求-f(x)在a,b丨上的最小值點。當(dāng)需要求函數(shù)在區(qū)間(a,b)上最大值點時,25、建立單個符號量(sym函數(shù))sym函數(shù)用來建立單個符號量,一般調(diào)用格式為:符號變量名=

13、sym('符號字符串)該函數(shù)可以建立一個符號量,符號字符串可以是常量、變量、函數(shù)或表達式。例如,a=sym( a')將建立符號變量a,此后,用戶可以在表達式中使用變量a進展各種運算。符號變量a和在其他過程中建立的非符號變量a是不同的。一個非符號變量在參與運算前必須賦值,變量的運算實際上是該變量所對應(yīng)值的運算,其運算結(jié)果是一個和變量類型對應(yīng)的值,而符號變量參與運算前無須賦值,其結(jié)果是一個由參與運算的變量名組成的表達式。下面的命令與其運算結(jié)果,說明了符號變量與非符號變量的差異。在MATLAB令窗口,輸入以下命令:a=sym('a');%定義符號變量a,bb=sym(

14、'b');p1=sym('pi');%a=sym('3');b=sym('4');p2=pi;%x=3;y=4;sin( p1/3)%ans =1/2*3 a(1/2) sin (p2/3)%定義符號常量 定義數(shù)值常量符號計算數(shù)值計算ans =0.8660cos(a+b)2)-si n(pi/4) %符號計算ans =cos(49)-1/2*2A(1/2)cos(x+y)A2)-si n(pi/4) % 數(shù)值計算ans =-0.406526、建立多個符號量(syms函數(shù))函數(shù)sym 一次只能定義一個符號變量,使用不方便。MATLA

15、E提供了另一個函數(shù) syms,一次可以定義多個符號變量。syms函數(shù)的一般調(diào)用格式為:syms符號變量名1符號變量2符號變量n用這種格式定義符號變量時,變量間用空格而不要用逗號分隔。例如,用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*xA2-5*y+2*x*y+6')z =3*xA2-5*y+2*x*y+6 A=sy

16、m('a,b;c,d')A =a, b c, d第一條命令建立一個符號函數(shù)表達式,第二條命令生成一個符號矩陣。3利用已經(jīng)定義的符號變量組成符號表達式。例如syms x y; z=3*xA2-5*y+2*x*y+6 z =3*xA2-5*y+2*x*y+628、符號表達式中變量確實定利用函數(shù)findsym(s)可以確定符號表達式s中的全部符號變量。例如:syms a b x y; % 定義4個符號變量 c=sym(3);%定義1個符號常量s=3*x+y;fin dsym(s)ans =x, yfin dsym(5*x+2)ans =xfindsym(a*x+b*y+c) %符號變

17、量c不會出現(xiàn)在結(jié)果中ans =a, b, x, y29、符號表達式四那么運算符號表達式的加、減、乘、除和幕運算可分別由函數(shù)symadd、symsub、symmul、symdiv和sympow來實現(xiàn)。例如f='2*xA2+3*x-5'f =2*xA2+3*x-5g='xA2-x+7'g =xA2-x+7symadd(f,g) %加法運算ans =3*xA2+2*x+2sympow(f,'2*x') %乘幕運算ans =(2*xA2+3*x-5)A(2*x)30、符號表達式的因式分解與展開符號表達式的因式分解和展開運算,可用函數(shù)factor和expa

18、nd來實現(xiàn),其調(diào)用格式為:factor(s):對符號表達式 s分解因式。expand(s):對符號表達式s進展展開。例如:syms x y;s仁 xA3-6*xA2+11*x-6si =xA3-6*xA2+11*x-6factor(sl)ans =(x-1)*(x-2)*(x-3)s2=(x-y)*(x+y)s2 =(x-y)*(x+y)expa nd(s2)ans =xA2-yA231、符號表達式與數(shù)值表達式之間的轉(zhuǎn)換 利用函數(shù)sym可以將數(shù)值表達式轉(zhuǎn)換成符號表達式。例如: sym(1.5)ans =3/2利用函數(shù)eval可以將符號表達式轉(zhuǎn)換成數(shù)值表達式。例如: x='(1+sqrt

19、 (5) )/2'x =(1+sqrt(5)/2 eval (x)ans =1.6180 y='3/2' y =3/2eval (y)ans =1.500032、符號極限MATLAB求函數(shù)極限的函數(shù)是limit ,可用來求函數(shù)在指定點的極限值和左右極限值。對于極限值為“沒有定義'的極限,MATLAB合出的結(jié)果為 NaN極限值為無窮大時,MATLAB給出的結(jié)果為inf o limit函數(shù)的調(diào)用格式為:1limit(f, x, a):求符號函數(shù) f (x)的極限值 lim f (x)。x a2limit(f, x, a, 'left')3limit(

20、f, x, a, 'right'):求符號函數(shù)f(x)的右極限值xli0f(x)。:求符號函數(shù)f (x)的右極限值Jim°f(x) o33、符號導(dǎo)數(shù)diff函數(shù)用于對符號表達式求導(dǎo)數(shù)。該函數(shù)的一般調(diào)用格式為:diff(s, x, n):對符號表達式或符號函數(shù)s關(guān)于x求n階導(dǎo)數(shù),當(dāng)n缺省時,表示求一階導(dǎo)數(shù)。例:求以下函數(shù)導(dǎo)數(shù)1yax2x,求dydx導(dǎo)數(shù):syms x a;diff ( exp(-a*xA2)+x' ,x)ans =34、符號積分符號積分由函數(shù)int來實現(xiàn)。該函數(shù)的一般調(diào)用格式為:int(s,x):以符號表達式或符號函數(shù)s為被積函數(shù),x為積分變量,

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

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

23、taylor(f,x,5,1) ans =x-1-1/2*(x-1)A2+1/3*(x-1)A3-1/4*(x-1)A437、符號方程求解求解用符號表達式的代數(shù)方程可由函數(shù)solve實現(xiàn),其調(diào)用格式為:x=solve(s,' x '):求解符號表達式s組成的代數(shù)方程,求解變量為x。x1,x2,xn =solve(s1 , s2,sn,' x1',' x2 ','xn'):求解符號表達式si, s2,sn組成的方程組,求解變量分別為x1,x2,,xn。例2-15求解方程組xaya2z3 axbyb2zb3 a, b,c為的互異實數(shù)2

24、3xcyc zc在MATLAB令窗口,輸入命令:x,y,z=solve('x+a*y+aA2*z=aA3','x+b*y+bA2*z=bA3','x+c*y+cA2*z=cA3','x','y' ,'z')x =b*c*ay =-b*a-c*b-c*az =a+b+c38、符號常微分方程求解符號微分方程求解可以通過函數(shù)dsolve來實現(xiàn),其調(diào)用格式為:dsolve(e, c, 'x')求解符號表達式構(gòu)成的常微分方程e,在由符號表達式給出的初值條件c下的特解,x是微分方程的自變量;如果沒有給出初值條件C,那么求方程的通解。dsolve(e1, e2,en, ci, c2,cn, 'x1', 'x2','xn') 求解符號表達式構(gòu)成的常微分方程組e1, e2,en ,在由符號表達式給出的初值條件ci, c2,cn下的特解,x1, x2,xn是

溫馨提示

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

最新文檔

評論

0/150

提交評論