matlab編程必備手冊_第1頁
matlab編程必備手冊_第2頁
matlab編程必備手冊_第3頁
matlab編程必備手冊_第4頁
matlab編程必備手冊_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Matlab編程必備手冊編程格式規(guī)范這兒把編程格式規(guī)范放在最前面希望大家在學(xué)習(xí)之前認(rèn)真閱讀該部分,對后面的matlab一.編程原則1.定義變量,以英文單詞小寫縮寫開頭表示類別名,再接具體變量的英文名稱英文單詞,教研室常用類別縮寫:最大值max,最小值min例如:定義變量存貯臨時數(shù)組TempArray的最大值maxTempArray例如上一條:寫作ifa==100就不標(biāo)準(zhǔn)。應(yīng)先定義meanConst=100;為期望常量。同時%關(guān)鍵字%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%此處為函數(shù)名,如果不是函數(shù)文件就取消此行%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%函數(shù)變量及功能的簡單描述%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2.對于所有有物理含義的變量、常量、數(shù)據(jù)結(jié)構(gòu)聲明,在聲明時都必須加以注釋,說明其3.源程序有效注釋量必須在20%以上,邊寫代碼邊注釋,修改代碼同時修改相應(yīng)的注釋,對原程序修改要及時修改注釋。否則有注釋比沒有注釋還要糟糕。4.程序內(nèi)部不同功能模塊要空一行,同時附注釋說明模塊的作用、功能。這樣程序結(jié)構(gòu)清…模塊一…代碼…此處為空行%注釋說明下一模塊的功能%%%%%%%…模塊二…代碼…5.一行代碼不宜過長,應(yīng)限制在80列之內(nèi)。一旦有過長代碼須用MATLAB轉(zhuǎn)第一行代碼nVariable=1+1+1++1+1+1+1+1+1+11+1+1+1+1+1+1+1+1+1+1+1+1...編程入門一.前言Matlab作為一種廣泛應(yīng)用于科學(xué)計算的工具軟件,不僅具有強(qiáng)大的數(shù)值計算、符號計算、矩陣運算能力和豐富的繪圖功能,同時也具有和C、FORTRAN等高級語言一樣進(jìn)行程序設(shè)計。在Matlab程序設(shè)計中,要充分利用Matlab數(shù)據(jù)結(jié)構(gòu)的特點,提高編程效率。某些操作,也可以實現(xiàn)某種算法。事實上,Matlab提供的內(nèi)部函數(shù)以及M文件根據(jù)調(diào)用方式的不同可以分為兩類:Script:腳本文件/命令文件,F(xiàn)unction:提示符>>下鍵入該M文件的文件名,這樣MATLAB就會自動執(zhí)行該M文件中的各條語句,并將結(jié)果直接返回到MATLAB的工作空間。M函數(shù)格式是MATLAB程序設(shè)計的主流,輸入、返回變量格式的檢測三.程序?qū)嵗?.腳本文件舉:編寫一個腳本文件將華氏溫度轉(zhuǎn)化為攝氏溫度。9clear;%清除當(dāng)前工作空間中的變量f=input('PleaseinputFahrenheittemperature:');c=5*(f-32)/9;fprintf('Thecentigradetemperatureis%g\n',c);在命令窗口中輸入f2cs,即可執(zhí)行該M文件。2.function文件舉例:計算兩個數(shù)字之和。新建一個m文件,命名為MySum.m,內(nèi)如如下:functionrt=MySum(x,y)rt=x+y;在命令窗口輸入MySum(10,20)即可輸出計算結(jié)果。程序控制結(jié)構(gòu)一.順序結(jié)構(gòu)二.選擇結(jié)構(gòu)單分支結(jié)構(gòu)雙分支結(jié)構(gòu)elseendifexpression1(條件1)statements1(語句組1)elseifexpression2(條件2)statements2(語句組2)elseifexpressionm(條件m)問:是否存在使該過程永不中止的整數(shù)?while1n=input('Pleaseentern(nonpositivequit):');ifn<=0,break;endnt=n;whilen>1rem(n,2)==0n=n/2;n=3*n+1;fprintf('\nn=%d',n);endfprintf('\nn=%disnotweneed!continue...\n',nt);end根據(jù)表達(dá)式的不同取值,分別執(zhí)行不同的語句。statement2(語句組2)statementm(語句組m)otherwise進(jìn)行比較,當(dāng)比較結(jié)果為真時,就執(zhí)行相應(yīng)的語句組,然后跳出switch結(jié)構(gòu)。三.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是按照給定的條件,重復(fù)執(zhí)行指定的語句。Matlab用于實現(xiàn)循for語句和while語句forvariable=expressionstatement(循環(huán)體)表達(dá)式expression可以是行向量,也可以是矩陣whileexpression(條件)statement(循環(huán)體)四.其它流控制語句Matlab常用函數(shù)及函數(shù)實例一.常用函數(shù)列表abs(x):純量的絕對值或向量的長度angle(z):復(fù)數(shù)z的相角(Phaseangle)sqrt(x):開平方zconj(z):復(fù)數(shù)round(x):四舍五入至最近整數(shù)fix(x):無論正負(fù),舍去小數(shù)至最近整數(shù)floor(x):地板函數(shù),即舍去正小數(shù)至最近整數(shù)ceil(x):天花板函數(shù),即加入正小數(shù)至最近整數(shù)rat(x):將實數(shù)x化為分?jǐn)?shù)表示rats(x):將實數(shù)x化為多項分?jǐn)?shù)展開pow2(x):2的指數(shù)log(x):以e為底的對數(shù),即自然對數(shù)或acos(x):反馀弦函數(shù)atan(x):反正切函數(shù)atan2(x,y):四象正弦函數(shù)cosh(x):超越馀弦函sort(x):對向量x的元素進(jìn)行排序(Sorting)(大部份的向量函數(shù)也可適用於矩陣,詳見下述。)help:用來查詢已知命令的用法。例如已知inv是用來計算反矩陣,鍵入helpinv即可得知有關(guān)inv命令的用法。(鍵入helphelp則顯示lookfor:用來尋找未知的命令。例如要尋找計算反矩陣的命令,可鍵入lookforeps:系統(tǒng)的浮點(Floating-point)精確度nan或NaN:非數(shù)值(Notanumber例如realmin:系統(tǒng)所能表示的最小數(shù)值有三種方法可以結(jié)束MATLAB:3.直接關(guān)閉MATLAB的命令視窗(Commandwindow)plot:x軸和y軸均為線性刻度(Linearscale)loglog:x軸和y軸均為對數(shù)刻度(Lo若要畫出多條曲線,只需將座標(biāo)對依次放入plot函數(shù)即可:plot(x,sin(x),x,cos(x));若要改變顏色,在座標(biāo)對後面加上相關(guān)字串即可:若要同時改變顏色及圖線型態(tài)(Linestyle也是在座標(biāo)對後面加上圖形完成後,我們可用axis([xmin,xmax,ymin,ymax])函數(shù)來調(diào)整圖軸axis([0,6,-1.2,1.2]);xlabel('InputValue');%x軸注解ylabel('FunctionValue');%y軸注解title('TwoTrigonometricFunctions');%圖形標(biāo)題legend('y=sin(x)','y=cos(x)');%圖形注解gridon;%顯示格線我們可用subplot來同時畫出數(shù)個小圖形於同一個視窗之中:subplot(2,2,1);plot(x,sin(x));subplot(2,2,2);plot(x,cos(x));subplot(2,2,3);plot(x,sinh(x));subplot(2,2,4);plot(x,cosh(x));MATLAB還有其他各種二維繪圖函數(shù),以適合不同的應(yīng)用,詳見下表。小整理:其他各種二維繪圖函數(shù)errorbar圖形加上誤差范圍polar極座標(biāo)圖rose極座標(biāo)累計圖二.常用函數(shù)舉例closeall;%關(guān)閉所有的圖形視窗x=1:10;y=rand(size(x));bar(x,y);如果已知資料的誤差量,就可用errorbar來表示。下例以單位標(biāo)準(zhǔn)差來linspace(0,2*pi,30std(y)*ones(size(x));errorbar(x,y,e)對於變化劇烈的函數(shù),可用fplot來進(jìn)行較精確的繪圖,會對劇烈變化處0.2]是繪圖范圍若要產(chǎn)生極座標(biāo)圖形,可用polar:theta=linspace(0,2*pi);r=cos(4*thetpolar(theta,對於大量的資料,我們可用hist來顯示資料的分情況和統(tǒng)計特性。下面幾個命令可用來驗證randn產(chǎn)生的高斯亂數(shù)分:x=randn(5000,1);%產(chǎn)生5000個?=0,?=1的高斯亂數(shù)hist(x,20);%20代表長條的個數(shù)x=randn(1000,1);rose(x);x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);stems可產(chǎn)生針狀圖,常被用來繪制數(shù)位訊號:x=linspace(0,10,y=sin(x).*exp(-x/3);stem(x,y);stairs將資料點視為多邊行頂點,并將此多邊行涂上顏色:x=linspace(0,10,y=sin(x).*exp(-x/3);feather將每一個資料點視復(fù)數(shù),并以箭號畫出:theta=linspace(0,2*pi,cos(theta)+i*sin(theta);feather(z);compass和feather很接近,只是每個箭號的起點都在圓點:theta=linspace(0,2*pi,cos(theta)+i*sin(theta);compass(z);3.基本XYZ立體繪圖命令在科學(xué)目視表示(Scientificvisualization)中,三度空間的立體圖是plot則可畫出立體曲面圖,兩者產(chǎn)生的圖形都會依高度而有不同顏色。下[xx,yy]=meshgrid(x,y);%的矩陣mesh(xx,yy,zz);%畫出立體網(wǎng)狀圖[xx,yy]=meshgrid(x,y);%的矩陣surf(xx,yy,zz);%畫出立體曲面圖有致的曲面,包含了三個局部極大點及三個局部極小點,其方程式為:要畫出此函數(shù)的最快方法即是直接鍵入peaks:peaksz=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)...-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)...-1/3*exp(-(x+1).^2-y.^2)meshz(x,y,z);waterfall(x,y,z);waterfall(x',ymeshc(x,y,z);surfc(x,y,z);contour3(peaks,20);contour(peaks,20);plot3可畫出三度空間中的曲線:t=linspace(0,20*pi,501);plot3(t.*sin(t),t.*cos(t),t);t=linspace(0,10*pi,501);plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t);y(2:4)-1%取出y的第二至第四個元素來做運算x=linspace(4,10,6)%等差數(shù)列:首項為4,末項為10,項數(shù)為6若要重新安排矩陣的形狀,可用reshape命令:B=reshape(A,4,2)%4是新矩陣的for圈可以是多層的,下例產(chǎn)生一個16的Hilbzeros(6);h(i,j)=formatrat%使用分?jǐn)?shù)來表示數(shù)值>>disp(x)1

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論