矩陣與MATLAB0001_第1頁(yè)
矩陣與MATLAB0001_第2頁(yè)
矩陣與MATLAB0001_第3頁(yè)
矩陣與MATLAB0001_第4頁(yè)
矩陣與MATLAB0001_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 矩陣與 MATLAB矩陣中min (M )取每列的最小值,max取每列的最大值,所有的最值兩次用min或者max一維數(shù)組a,b=min(M) , a返回的是最值,b返回的是下標(biāo)。Repmat對(duì)整個(gè)矩陣重新創(chuàng)建(復(fù)制),把矩陣可以看做一個(gè)量如repmat(s,3,2)=s s s;s s sS=a1 a2 a3 a4 a1 a2 a3 a4; a1 a2 a3 a4 a1 a2 a3 a4; a1 a2 a3 a4 a1 a2 a3 a4eye(3) 產(chǎn)生 3 階單位矩陣 矩陣的逆矩陣 inv(A) 矩陣的秩 rank(A)求矩陣中的最大值的下標(biāo)命令>> A=magic(3)

2、A =8163 574 92>> t=max(max(A)t =9>> a,b=find(A=t)a =3b =2第三章 數(shù)據(jù)的輸入輸出findstr(string1,string2) 找出對(duì)應(yīng)字符位置的下標(biāo) sc=testing123','testing123' loc=findstr(sc, '123')sc =testing123testing123loc=8 18num2str(a,N)數(shù)值轉(zhuǎn)換為字符串,只轉(zhuǎn)換到N位a=3.1415926;>> num2str(a,3)ans =3.14e+003>>

3、; num2str(a,6)ans =3141.59fprintf 函數(shù)控制數(shù)值格式的顯示,最常用的 x。 yft=0.23154fprintf(1,'%4.2f',t);0.23x 為給定數(shù)值整數(shù)部分的位數(shù) y 為小數(shù)點(diǎn)后的位數(shù)。例子見 p78 標(biāo)量輸入:inputdata=input('shuju:')shuju:;可以開始輸入數(shù)據(jù)字符串輸入: inputdata=input('shuju:', 's')shuju:可以開始輸入字符串 向量矩陣的輸入類似。 n 表示換行當(dāng)一個(gè)文件已經(jīng)在搜索路徑上時(shí),可以用 load 函數(shù)導(dǎo)入數(shù)

4、據(jù)如Load( lizi.txt ')可以將一個(gè) txt 文件中的數(shù)據(jù)導(dǎo)入 MATLAB 中,事先 txt 所在文件夾已經(jīng)在 MATLAB 的搜索路徑里了t=xlsread('example.xls') ;讀入 excel 文件進(jìn) MA TLAB 中的 t 變量第四章 程序流控制x=-4,-1,1,4輸入 a<=x&x<bans =0 1 1 0 (邏輯表達(dá)式的值) 又如 >> t=-1:0.25:1;>> unitstep=(t>=0) unitstep =0 1 1 1 1 10 0 0命令help+函數(shù)名將出現(xiàn)函數(shù)

5、的注釋部分,也就是帶%的部分Global A B C 全局變量,可以在函數(shù) m 文件中使用 如m 文件有Function y=chenfa(x)Global A y=A*a;命令窗口輸入Global AA=2 y=chen(3)>>y=6>> f=i nli ne('x.A2+y.A2+cos(z)','x','y','z');>> f(3,4,pi/3) ans =25.5000Inline 函數(shù)缺點(diǎn)得不到 u,v 樣式的結(jié)果,只能得到一個(gè)結(jié)果。子函數(shù)和主函數(shù)調(diào)用的例子 見例子 5.2.4 但

6、子函數(shù)不能獨(dú)立使用第五章函數(shù)積分函數(shù)Area=trapz(x,y) 必須是數(shù)組,計(jì)算:首先將 x 分成小的區(qū)間,利用相應(yīng) y 的平均值與 x 區(qū)間 相乘,再相加。當(dāng)知道 x,y 的值時(shí),而不知道函數(shù)表達(dá)式時(shí),可以用這種積分。如 x=1:0.1:2;y=3:0.1:4trapz(x,y)=3.5feval (用戶自定義的函數(shù)名,p1,p2)函數(shù)名也可以用函數(shù)句柄代替a=sin,所以a等價(jià)sinEval( 符號(hào)表達(dá)式' )eval 執(zhí)行符號(hào)表達(dá)式>> x=pi/2;>> eval('sin(x)')ans =1Diff( 數(shù)組 )計(jì)算相鄰元素之間的差

7、值>> x=3 5 6 7 9 10 14;>> diff(x)ans =2 1 1 2 1 4零點(diǎn)函數(shù)fzero(函數(shù)表達(dá)式,x) x=初始值(初始值區(qū)間)>> t=i nli ne('x.A2-2*x-3','x')t =Inline function:t(x) = x.A2-2*x-3>> fzero(t,0)ans =對(duì)于劃定區(qū)間的多值函數(shù), x=x1,x2,f(x1) 和 f(x2) 符號(hào)不能相同-1>> options=optimset('Display','off&

8、#39;) 參數(shù)的設(shè)置 options =ActiveConstrTol: DerivativeCheck: Diag no sties:DiffMaxCha nge:DiffM in Cha nge:Display: 'offGoalsExaetAehieve:GradCo nstr:GradObj:Hessia n:HessMult:HessPattern:HessUpdate:Jaeobia n:JaeobMult:JaeobPattern:LargeSeale:Leve nbergMarquardt:Lin eSearehType:MaxFu nEvals:MaxIter:Ma

9、xPCGIter:MaxSQPIter:MeritFu nctio n:Mi nAbsMax:No nIEq nAlgorithm:Pree on diti oner:Preeo ndBa ndWidth:ShowStatusWi ndow:TolCo n:TolFu n:TolPCG:TolX:TypiealX:Disp(字符串);Roots求多項(xiàng)式的根當(dāng)多項(xiàng)式有形式 f (x) =Gxn e2xnJ enx en 1Roots(e)很容易找到根>> r=roots(1,-10,35,-50,24)4.00003.00002.00001.0000432即求多項(xiàng)式x -10x35x

10、 -50x24的根逆計(jì)算c=poly(r)c =1.0000-10.000035.0000-50.000024.0000h=co nv(1,0,-4,1,-10,35,-50,24)h =1-1031-10-116200-96關(guān)于求解常微分方程Ode45,見書里P129介紹,有M文件例子已做好返回的是n個(gè)一階常微分方程的數(shù)值解assignin('base','z',yy)將函數(shù)空間中的變量返回到基本空間中的命令關(guān)于求解常微分方程bvp4c,見書里P133介紹,有M文件例子已做好求局部極小值的函數(shù)fminbnd>> xmin,fmin=fminbnd(

11、humps,0.5,0.8)( humps 是 MATLAB 的示例函數(shù))xmin =0.6370fmin =11.2528當(dāng)一個(gè)函數(shù)區(qū)間存在多個(gè)極小值時(shí),fminbnd返回的是較大的極小值。求解非線性方程fsolve命令,見書里 P138-139有M文件例子已做好符號(hào)表達(dá)式>> syms a b;>> d=4.2;>> f=11.92*exp(-aA2)+b/d298/25*exp(-aA2)+5/21*b由于f是一個(gè)符號(hào)對(duì)象,符號(hào)表達(dá)式中數(shù)值常轉(zhuǎn)換為兩個(gè)整數(shù)的比值,如希望用十進(jìn)制 小數(shù)表示使用vpa(f,d),f是符號(hào)表達(dá)式,d數(shù)字的有效位數(shù)。>&

12、gt; vpa(f,6)ans =11.9200*exp(-1.*aA2)+.238095*bInline和Vectorize(f)將符號(hào)表達(dá)式轉(zhuǎn)換成函數(shù)Vectorize(f)將參數(shù)中乘除,指數(shù)運(yùn)算轉(zhuǎn)換成對(duì)應(yīng)的點(diǎn)操作Inline構(gòu)造內(nèi)斂函數(shù)綜合運(yùn)用的例子>> syms a b;>> d=4.2;>> f=vpa(11.92*exp(-aA2)+b/d,5);>> g=in li ne(vectorize(f),'a','b')>> z=g(1,2)z =4.8613int(f,x,c,d)求符號(hào)積分,

13、diff(f,x,n)求符號(hào)導(dǎo)數(shù)limit(f,x,z)求極限運(yùn)算,x是值趨近于z的符號(hào)變量>> syms k>> limit(1/2Ak+2,k,i nf)ans =2將a中出現(xiàn)的m變量替代成n, m,n可以是多項(xiàng)式或數(shù)組,subs(a,m,n)女口 > syms a b c>> a=b+c;>> subs(a,b,c)ans =2*c或者>> syms x>> a=xA2a =xA2>> subs(a,x,3)ans =9simple使函數(shù)得到最簡(jiǎn)結(jié)果。第六章二維圖形畫圓的例子,M文件已經(jīng)做好,axi

14、s equal使圖形對(duì)稱當(dāng)x,y是相同維數(shù)矩陣時(shí),plot按列畫出圖形,見 M文件example6_2_3.畫n條互不相連的線段,每條線段的兩個(gè)端點(diǎn)坐標(biāo)分別是(x1n, y1n )和(x2n,y2n)oXj 二Xji,Xj2,Xjn yj 二yji,yj2,yjn j=1,2則 plot 指令為 plot(x1;x2,y1;y2)放置 legend 位置的語(yǔ)句 legend(s1,s2,'Location ',p)P=north 在圖形上部, P=southeast 在圖形右下角 .Legend( boxoff ')消除圖例的邊框用 fill 命令進(jìn)行圖案填充的例子見

15、M 文件 example6_3_3.>> x=1:5;>> b=fliplr(x) 求逆組合命令 fliplrb =5 4 3 2 1命令 2 fplot功能在指定的范圍limits內(nèi)畫出一元函數(shù)y=f (x)的圖形。其中向量x的分量分布在指定的范圍內(nèi), y 是與 x 同型的向量,對(duì)應(yīng)的分量有函數(shù)關(guān)系: y(i)=f(x(i) 。若對(duì)應(yīng)于 x 的值, y 返回多個(gè)值,則y是一個(gè)矩陣,其中每列對(duì)應(yīng)一個(gè) f(x)。例如,f(x)返回向量f1(x),f2(x),f3(x), 輸入?yún)⒘縳=x1;x2;x3,則函數(shù)f (x)返回矩陣f1(x1) f2(x1) f3(x1)f1(x

16、2) f2(x2) f3(x2)f1(x3) f2(x3) f3(x3)注意一點(diǎn)的是,函數(shù)function必須是一個(gè) m-文件函數(shù)或者是一個(gè)包含變量x,且能用函數(shù)eval 計(jì)算的字符串。例如: ' sin(x)*exp(2*x) , ''sin(x),cos(x), 'hu'mp(x)。'用法 fplot('function',limits) 在指定的范圍 limits 內(nèi)畫出函數(shù)名為 function 的一元函數(shù)圖形。 其中l(wèi)imits是一個(gè)指定 x-軸范圍的向量xmin xmax或者是x軸和y軸的范圍的向量xmin xmax

17、ymin ymax 。fplot('function',limits,LineSpec)用指定的線型 LineSpec 畫出函數(shù) function。 fplot('function',limits,tol) 用相對(duì)誤差值為 tol 畫出函數(shù) function 。相對(duì)誤差的缺省值為2e-3。fplot('function',limits,tol,LineSpec) 用指定的相對(duì)誤差值 tol 和指定的線型 LineSpec 畫出函數(shù) function 的圖形。fplot('function',limits,n) 當(dāng)n>=1,則

18、至少畫出 n+1個(gè)點(diǎn)(即至少把范圍limits分成n個(gè)小區(qū)間),最大步長(zhǎng)不超過(guò) (xmax-xmin)/n 。fplot( function' ,li允許可選參數(shù)tol, n和LineSpec以任意組合方式輸入。X,Y = fplot('function',limits,返回橫坐標(biāo))與縱坐標(biāo)的值給變量X和Y,此時(shí)fplot不畫出圖形。若想畫出,可用命令 plot(X,Y) 。=plot('function',limits,tol,n,LineSpec,P1,P2,允許用戶直接給函數(shù)function 輸入?yún)?shù)P1, P2 等,其中函數(shù) functiond 的定義形式為y = function(x,P1,P2,)若想用缺省的tol , n或LineSpec值,只需將空矩陣f )傳遞給函數(shù)即可。注意: fplot 采用自適應(yīng)步長(zhǎng)控制來(lái)畫出函數(shù) function 的示意圖,在函數(shù)的變化激烈的區(qū)間, 采用小的步長(zhǎng),否則采用大的步長(zhǎng)??傊褂?jì)算量與時(shí)間最小,圖形盡可能精確。Workspace 中的變量畫圖可以通過(guò)右鍵點(diǎn)擊變量中的 Grapf 的命令,然后畫各種不同的 圖。第七章 三維圖形第八章 機(jī)械零件

溫馨提示

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

評(píng)論

0/150

提交評(píng)論