MATLAB編程與作圖_第1頁
MATLAB編程與作圖_第2頁
MATLAB編程與作圖_第3頁
MATLAB編程與作圖_第4頁
MATLAB編程與作圖_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)學(xué)實(shí)驗(yàn)數(shù)學(xué)實(shí)驗(yàn) matlab編程與作圖編程與作圖 數(shù)據(jù)的輸出格式 matlab用十進(jìn)制數(shù)表示一個(gè)常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。 數(shù)據(jù)輸出時(shí)用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為: format 格式符 注意,format命令只影響在屏幕上的顯示數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計(jì)算和存儲(chǔ),matlab的數(shù)據(jù)存儲(chǔ)和運(yùn)算總是以雙精度進(jìn)行的。 可用菜單file/preferences中的command window 里的numarical format來設(shè)定數(shù)據(jù)顯示方式,有short(小數(shù)點(diǎn)后4位), long(15位數(shù)字),bank(小數(shù)點(diǎn)后2

2、位),short e(5位科學(xué)計(jì)數(shù)法), long e(15位科學(xué)計(jì)數(shù)法), rat(最接近的有理數(shù)). 也可在command window中用命令設(shè)置,例如: format longformat short :5位定點(diǎn)格式,如位定點(diǎn)格式,如 1.4142format long :15位定點(diǎn)格式,如位定點(diǎn)格式,如 1.41421356237310format short e :5位浮點(diǎn),如位浮點(diǎn),如1.4142e+000format long e :15位浮點(diǎn),如位浮點(diǎn),如1.414213562373095e+000format short g :5位定點(diǎn)或浮點(diǎn)取優(yōu),如位定點(diǎn)或浮點(diǎn)取優(yōu),如1.

3、4142format long g:15位定點(diǎn)或浮點(diǎn)取優(yōu),如位定點(diǎn)或浮點(diǎn)取優(yōu),如1.4142135623731format hex :十六進(jìn)制數(shù),如:十六進(jìn)制數(shù),如3ff6a09e667f3bcdformat bank :貨幣格式,如:貨幣格式,如1.41format rat :分?jǐn)?shù)之比,如:分?jǐn)?shù)之比,如1393/985format +:若為正數(shù)則顯示:若為正數(shù)則顯示+,若為負(fù)數(shù)則顯示,若為負(fù)數(shù)則顯示-,若為,若為0則顯示空則顯示空如 format short %設(shè)置定點(diǎn)格式,顯示5位 pians = 3.1416 format long %設(shè)置定點(diǎn)格式,顯示15位 pians = 3.141

4、59265358979關(guān)系與邏輯運(yùn)算關(guān)系與邏輯運(yùn)算 1. 關(guān)系操作符關(guān)系操作符關(guān)關(guān)系系操操作作符符說說明明小小于于大大于于=大大于于或或等等于于= =等等于于=不不等等于于2. 邏輯運(yùn)算符邏輯運(yùn)算符邏輯操作符邏輯操作符說明說明與與或或非非matlab流程控制流程控制 循環(huán)語句循環(huán)語句 for, while 條件轉(zhuǎn)移條件轉(zhuǎn)移 if end, if elseif else end 開關(guān)語句開關(guān)語句 switch case 注釋語句注釋語句 % 中斷語句中斷語句 break 暫停語句暫停語句 pause 回顯語句回顯語句 echo on/off選擇結(jié)構(gòu)1. if語句 在在matlab中,中,if語句

5、有語句有3種格式。種格式。 1.單分支單分支if語句語句 語句格式為:語句格式為: if 條件 語句組 end 當(dāng)條件成立時(shí),則執(zhí)行語句組,執(zhí)行完之當(dāng)條件成立時(shí),則執(zhí)行語句組,執(zhí)行完之后繼續(xù)執(zhí)行后繼續(xù)執(zhí)行if語句的后繼語句,若條件不成立,語句的后繼語句,若條件不成立,則直接執(zhí)行則直接執(zhí)行if語句的后繼語句。語句的后繼語句。 2.雙分支if語句 語句格式為: if 條件 語句組1 else 語句組2 end 當(dāng)條件成立時(shí),執(zhí)行語句組1,否則執(zhí)行語句組2,語句組1或語句組2執(zhí)行后,再執(zhí)行if語句的后繼語句。 例1. 計(jì)算分段函數(shù)值2cos(1)1,10,10 xxxyx xx x程序如下: x=i

6、nput(請(qǐng)輸入請(qǐng)輸入x的值的值:); if x=10 y=cos(x+1)+sqrt(x*x+1); else y=x*sqrt(x+sqrt(x); end y請(qǐng)輸入請(qǐng)輸入x的值的值:y = 47.1893121.m 3.多分支if語句語句格式為:if 條件1 語句組1 else if 條件2 語句組2 else if 條件m 語句組m else 語句組m+1end 例2. 輸入一個(gè)字符,若為大寫字母,則輸出其后繼字符,若為小寫字母,則輸出其前導(dǎo)字符,若為數(shù)字字符則輸出其對(duì)應(yīng)的數(shù)值,若為其他字符則原樣輸出。 c=input(請(qǐng)輸入一個(gè)字符,s); if c=a & c=a&

7、 c=0& c *inner matrix dimensions must agree. 循環(huán)結(jié)構(gòu)1. for語句 基本格式基本格式for for 循環(huán)變量起始值:步長:終止值循環(huán)變量起始值:步長:終止值 循環(huán)體循環(huán)體 endend步長缺省值為步長缺省值為1 1,可以在正實(shí)數(shù)或負(fù)實(shí)數(shù)范圍內(nèi)任意指定。,可以在正實(shí)數(shù)或負(fù)實(shí)數(shù)范圍內(nèi)任意指定。對(duì)于正數(shù),循環(huán)變量的值大于終止值時(shí),循環(huán)結(jié)束;對(duì)對(duì)于正數(shù),循環(huán)變量的值大于終止值時(shí),循環(huán)結(jié)束;對(duì)于負(fù)數(shù),循環(huán)變量的值小于終止值時(shí),循環(huán)結(jié)束。循環(huán)于負(fù)數(shù),循環(huán)變量的值小于終止值時(shí),循環(huán)結(jié)束。循環(huán)結(jié)構(gòu)可以嵌套使用。結(jié)構(gòu)可以嵌套使用。 for i=1:5for

8、 i=1:5 for j=1:5 for j=1:5 a(i,j)=1/(i+j-1); a(i,j)=1/(i+j-1); end endendenda=a= 1.0000 0.5000 0.3333 0.2500 0.2000 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.16670.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2

9、000 0.1667 0.1429 0.1250 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111 0.2000 0.1667 0.1429 0.1250 0.1111 例例5. 已知求已知求y的表達(dá)式,的表達(dá)式, 當(dāng)當(dāng)n=100時(shí),求時(shí),求y的值。的值。 在實(shí)際在實(shí)際matlab編程中,為提高程序的執(zhí)行速度,常編程中,為提高程序的執(zhí)行速度,常用向量運(yùn)算來代替循環(huán)操作:用向量運(yùn)算來代替循環(huán)操作: n=100; i=1:n; f=1./i.2; y=sum(f)11/ /niyi i程序如下:程序如下: y

10、=0;n=100; for i=1:n y=y+1/i/i; end yy = 2047/1252 for語句更一般的格式:語句更一般的格式:for 循環(huán)變量=矩陣表達(dá)式 循環(huán)體語句 end 執(zhí)行過程是依次將矩陣的各列元素賦給循環(huán)變量,然后執(zhí)行循環(huán)體語句,直至各列元素處理完畢。實(shí)際上,“表達(dá)式1:表達(dá)式2:表達(dá)式3”是一個(gè)僅為一行的矩陣(行向量),因而列向量是單個(gè)數(shù)據(jù)。 例6. 已知5個(gè)學(xué)生4門功課的成績,求每名學(xué)生的總成績。程序如下:try.ms=0;a=65,76,56,78;98,83,74,85;76,67,78,79;98,58,42,73;67,89,76,87for k=a s=

11、s+k;enddisp(s);a = 65 76 56 78 98 83 74 85 76 67 78 79 98 58 42 73 67 89 76 87 275 340 300 271 319 2. while語句 while語句一般用于不能事先確定循環(huán)次數(shù)的情況 while語句的一般格式為: while (條件) 循環(huán)體語句 end 其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)體語句,執(zhí)行后再判斷條件是否成立,如果不成立則跳出循環(huán)(如圖3.5所示)。while循環(huán)和循環(huán)和for循環(huán)的區(qū)別在于,循環(huán)的區(qū)別在于,while循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)的循環(huán)體被執(zhí)行的次數(shù)不是確定的,而的循環(huán)體被執(zhí)行的次數(shù)不是確定

12、的,而for結(jié)構(gòu)中循結(jié)構(gòu)中循環(huán)體的執(zhí)行次數(shù)是確定的。環(huán)體的執(zhí)行次數(shù)是確定的。例7. 用循環(huán)求解例8. 用循環(huán)求解 最小的 m例例9. 用用while循環(huán)語句編寫一個(gè)計(jì)算循環(huán)語句編寫一個(gè)計(jì)算1000以以內(nèi)內(nèi)的的fibonacci數(shù):數(shù):5.m f=1 1; i=1; while f(i)+f(i+1)1000 f(i+2)=f(i)+f(i+1); i=i+1; end f= 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 例例10. 產(chǎn)生一個(gè)長度為的調(diào)和數(shù)列。產(chǎn)生一個(gè)長度為的調(diào)和數(shù)列。 程序如下:程序如下: x=zeros(1,6); i=1; w

13、hile i=6 x(i)=1/i; i=i+1; end format rat %使用分?jǐn)?shù)表示數(shù)值使用分?jǐn)?shù)表示數(shù)值 disp(x)columns 1 through 5 1 1/2 1/3 1/4 1/5 column 6 1/6 與循環(huán)結(jié)構(gòu)相關(guān)的還有一個(gè)break語句,當(dāng)在循環(huán)體內(nèi)執(zhí)行到該語句時(shí),程序?qū)⑻鲅h(huán)。該語句一般與if語句配合使用。 例11. 用while語句實(shí)現(xiàn)例5。6.m 程序如下: y=0; i=1; while 1 f=1/i/i; y=y+f; if i=100 break; end i=i+1; end y 3. 循環(huán)的嵌套 如果一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個(gè)循環(huán)結(jié)構(gòu)

14、,就稱為循環(huán)的嵌套,或稱為多重循環(huán)結(jié)構(gòu)。可以按照嵌套層數(shù),分別叫做二重循環(huán)、三重循環(huán)等。處于內(nèi)部的循環(huán)叫作內(nèi)循環(huán),處于外部的循環(huán)叫作外循環(huán)。 在設(shè)計(jì)多重循環(huán)時(shí),要特別注意內(nèi)、外循環(huán)之間的關(guān)系,以及各語句放置的位置,不要搞錯(cuò)。 例12. 用篩選法求某自然數(shù)范圍內(nèi)的全部素?cái)?shù)。 程序如下: m=input(m=); p=2:m; for i=2:sqrt(m) n=find(rem(p,i)=0&p=i); p(n)=; end pm=100p = columns 1 through 5 2 3 5 7 11 columns 6 through 10 13 17 19 23 29 colum

15、ns 11 through 15 31 37 41 43 47 columns 16 through 20 53 59 61 67 71 columns 21 through 25 73 79 83 89 97 7.m小結(jié):小結(jié):matlab程序的基本組成結(jié)構(gòu)程序的基本組成結(jié)構(gòu)說明說明清除命令:清除命令:清除清除workspace中的變量和圖形中的變量和圖形(clear,close)定義變量:定義變量:包括全局變量的聲明及參數(shù)值的設(shè)定包括全局變量的聲明及參數(shù)值的設(shè)定逐行執(zhí)行命令:逐行執(zhí)行命令:指指matlab提供的運(yùn)算指令或工具箱提供的運(yùn)算指令或工具箱 提供的專用命令提供的專用命令控制循環(huán)控制

16、循環(huán) : 包含包含for,if then,switch,while等語句等語句 逐行執(zhí)行命令逐行執(zhí)行命令 end繪圖命令:繪圖命令:將運(yùn)算結(jié)果繪制出來將運(yùn)算結(jié)果繪制出來 當(dāng)然更復(fù)雜程序還需要調(diào)用子程序,或與當(dāng)然更復(fù)雜程序還需要調(diào)用子程序,或與simulink以以及其他應(yīng)用程序結(jié)合起來。及其他應(yīng)用程序結(jié)合起來。二維圖形二維圖形三維圖形三維圖形圖形處理圖形處理實(shí)例實(shí)例特殊二、三維圖形特殊二、三維圖形matlabmatlab提供多種圖形功能,使你的數(shù)據(jù)或函數(shù)可提供多種圖形功能,使你的數(shù)據(jù)或函數(shù)可視化,使數(shù)據(jù)不再是枯燥乏味的。使用視化,使數(shù)據(jù)不再是枯燥乏味的。使用matlabmatlab的圖形的圖形函

17、數(shù),可以繪制二維或三維的數(shù)據(jù)圖形和函數(shù)圖形,函數(shù),可以繪制二維或三維的數(shù)據(jù)圖形和函數(shù)圖形,如數(shù)據(jù)的散點(diǎn)圖、直方圖、莖干圖、餅圖、階梯圖和如數(shù)據(jù)的散點(diǎn)圖、直方圖、莖干圖、餅圖、階梯圖和面積圖等。使數(shù)據(jù)可視化的基本步驟是:面積圖等。使數(shù)據(jù)可視化的基本步驟是:1.1.準(zhǔn)備好數(shù)據(jù);準(zhǔn)備好數(shù)據(jù);2.2.選擇適用的繪制圖形函數(shù);選擇適用的繪制圖形函數(shù);3.3.選擇窗口和位置;選擇窗口和位置;4.4.編輯圖形標(biāo)注和說明;編輯圖形標(biāo)注和說明;5.5.輸出或保存圖形。輸出或保存圖形。matlab提供了豐富的繪圖功能提供了豐富的繪圖功能help graph2d可得到所有畫二維圖形的命令可得到所有畫二維圖形的命令h

18、elp graph3d可得到所有畫三維圖形的命令可得到所有畫三維圖形的命令 matlab作圖是通過描點(diǎn)、連線來實(shí)現(xiàn)的,故在畫一個(gè)曲線圖形之前,必須先取得該圖形上的一系列的點(diǎn)的坐標(biāo)(即橫坐標(biāo)和縱坐標(biāo)),然后將該點(diǎn)集的坐標(biāo)傳給matlab函數(shù)畫圖. 命令為:plot(x,y,s)plot(x,y) 畫實(shí)線plot(x,y1,s1,x,y2,s2,x,yn,sn) 將多條線畫在一起x,y是向量,分別表示點(diǎn)集的橫坐標(biāo)和縱坐標(biāo)線型y 黃色黃色 . 點(diǎn)點(diǎn) - 連線連線m 洋紅洋紅 o 圈圈 : 短虛線短虛線c 藍(lán)綠色藍(lán)綠色 x x-符號(hào)符號(hào) -. 長短線長短線 r 紅色紅色 + 加號(hào)加號(hào) - 長虛線長虛線

19、1.曲線圖曲線圖例例 在0,2 用紅線畫sin x,用綠圈畫cos x. x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,r,x,z, g0)解解matlab liti1x2.符號(hào)函數(shù)符號(hào)函數(shù)(顯函數(shù)、隱函數(shù)和參數(shù)方程顯函數(shù)、隱函數(shù)和參數(shù)方程)畫圖畫圖(1) ezplotezplot(x(t),y(t),tmin,tmax) 表示在區(qū)間tminttmax繪制參數(shù)方程 x=x(t),y=y(t)的函數(shù)圖.ezplot(f(x),a,b) 表示在axb繪制顯函數(shù)f=f(x)的函數(shù)圖.ezplot(f(x,y),xmin,xmax,ymin,ymax

20、) 表示在區(qū)間xminxxmax和 yminyymax繪制隱函數(shù)f(x,y)=0的函數(shù)圖.例例 在0, 上畫y=cos x 的圖形.解解 輸入命令 ezplot(sin(x),0,pi)matlab liti25解解 輸入命令 ezplot(cos(t)3,sin(t)3,0.2*pi)matlab liti41解解 輸入命令ezplot(exp(x)+sin(x*y),-2,0.5,0,2)matlab liti40(2) fplot注意:1 fun必須是m文件的函數(shù)名或是獨(dú)立變量為x的字符串. 2 fplot函數(shù)不能畫參數(shù)方程和隱函數(shù)圖形,但在一個(gè)圖上可以畫多個(gè)圖形.fplot(fun,lims) 表示繪制字符串fun指定的函數(shù)在lims=xmin,xmax的圖形.解解 先建m文件myfun1.m: function y=myfun1(x) y=exp(2*x)+sin(3*x.2)再輸入命令:fplot(myfun1,-1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論