歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

3 Matlab編程

  • 資源ID:248165199       資源大?。?span id="kr3hnng" class="font-tahoma">273KB        全文頁數(shù):44頁
  • 資源格式: PPT        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

3 Matlab編程

,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,*,Matlab,編程入門,Matlab,編程簡介,Matlab,作為一種廣泛應(yīng)用于科學(xué)計(jì)算的工具軟件,不僅具有強(qiáng)大的數(shù)值計(jì)算、符號(hào)計(jì)算、矩陣運(yùn)算能力和豐富的繪圖功能,同時(shí)也具有和,C,、,FORTRAN,等高級(jí)語言一樣進(jìn)行程序設(shè)計(jì)。,在,Matlab,程序設(shè)計(jì)中,要充分利用,Matlab,數(shù)據(jù)結(jié)構(gòu)的特點(diǎn),提高編程效率。,利用,Matlab,的程序控制功能,可以將有關(guān),Matlab,命令編成程序存儲(chǔ)在一個(gè)文件中,(,M,文件,),,然后在命令窗口中運(yùn)行該文件,,Matlab,就會(huì)自動(dòng)依次執(zhí)行文件中的命令,直到全部命令執(zhí)行完畢。,用,Matlab,語言編寫的程序稱為,M,文件,。,M,文件是由若干,Matlab,命令組合在一起構(gòu)成的,它可以完成某些操作,也可以實(shí)現(xiàn)某種算法。事實(shí)上,,Matlab,提供的內(nèi)部函數(shù)以及各種工具箱,都是利用,Matlab,語言開發(fā)的,M,文件。用戶也可以結(jié)合自己的工作需要,開發(fā)自己的程序或工具箱。,M,文件根據(jù)調(diào)用方式的不同可以分為兩類:,Script,:,腳本文件,/,命令文件,Function,:,函數(shù)文件,M,文件,M,文件以,.,m,為擴(kuò)展名。,M,文件是一個(gè)文本文件,可以用任何文本編輯器來建立和編輯,通常使用,Matlab,自帶的,M,文件編輯器。,M,文件的建立與打開,新建一個(gè),M,文件,菜單操作,(,File,New M-File,),命令操作,(,edit,M,文件名,),命令按鈕,(,快捷鍵,),打開已有的,M,文件,菜單操作,(,File,Open,),命令操作,(,edit,M,文件名,),命令按鈕,(,快捷鍵,),雙擊,M,文件,在命令窗口中輸入,f2cs,,,即可執(zhí)行該,M,文件。,例:,編寫一個(gè)腳本文件將華氏溫度轉(zhuǎn)化為攝氏溫度,腳本文件舉例,clear;,%,清除當(dāng)前工作空間中的變量,f=,input(,Please,input Fahrenheit temperature:,);,c=5*(f-32)/9;,fprintf(The,centigrade temperature is%,gn,c,);,新建一個(gè),M,文件,f2cs.m,,,內(nèi)容如下:,腳本文件運(yùn)行后,文件中所產(chǎn)生的,所有變量都駐留在,Matlab,當(dāng)前工作空間,,可以用,whos,查看。,關(guān)系運(yùn)算,小于,大于,=,大于等于,=,等于,=,不等于,比較大小,如果結(jié)論是,真,則返回,1,,否則返回,0,注意,=,與,=,的區(qū)別,關(guān)系操作符能用來比較兩個(gè),同樣大小,的數(shù)組,或用來比較,一個(gè)數(shù)組和一個(gè)標(biāo)量,,在后一種情況,標(biāo)量和數(shù)組中的每一個(gè)元素相比較,比較結(jié)果與數(shù)組大小一樣。,關(guān)系,運(yùn)算符,例:,關(guān)系運(yùn)算,舉例,2+2=4,23,A=1 3 5;2 0 6;,B=3 1 0;2 4 6;,A=B,x=5 0;4 2;,x,B=,1 2 3;4 5 6;7 8 9,;,disp,(B,),數(shù)據(jù)輸出,disp,數(shù)據(jù)的輸出:,disp,A=,Hello,Tom,!,;,disp,(A,),例:,數(shù)據(jù)輸出,fprintf,fprintf,(fid,format,variables,),按指定的,格式,將變量的值輸出到指定的,文件,數(shù)據(jù)的輸出:,fprintf,fid,為文件句柄,若缺省,則將變量的值輸出到屏幕上,format,用來指定數(shù)據(jù)輸出時(shí)采用的格式,常見的有,%d,(,整數(shù),),%e,(,實(shí)數(shù):采用科學(xué)計(jì)數(shù)法形式,),%f,(,實(shí)數(shù):采用浮點(diǎn)數(shù)形式,),%g,(,由系統(tǒng)自動(dòng)選取上述兩種格式之一,),%s,(,輸出字符串,),format,中還可以使用一些特殊格式,如:,n,(,換行,),t,(,制表符,),b,(,退格,),(,反斜桿,),%,(,百分號(hào),),數(shù)據(jù)輸出,fprintf,a=,Hello,;b=2.4;c=100*pi;,fprintf,(,a=%,s,b,=%,f,c,=%,en,a,b,c,),例:,format,中的輸出格式要與輸出變量一一對(duì)應(yīng),可以沒有輸出變量,fprintf,(,Today is Mondayn,),例:,pause,程序的暫停,:,pause,pause,或,pause(n,),若想強(qiáng)行終止程序的運(yùn)行,可以使用,Ctrl+c,其中,n,是延遲時(shí)間,以秒為單位;,若缺省,則將暫停程序,直到用戶按任意鍵后繼續(xù),pause off,屏蔽程序中所有,pause,的作用,pause on,打開,pause,的作用,選擇結(jié)構(gòu),是根據(jù)給定的條件成立或不成立,分別執(zhí)行不同的語句。,Matlab,用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語句有,if,語句,和,switch,語句,。,選擇結(jié)構(gòu),單分支結(jié)構(gòu),if,expression,(,條件),statements(,語句組),end,if,條件語句,if,expression(,條件),statements1(,語句組1),else,statements2(,語句組2),end,雙分支結(jié)構(gòu),if,expression1,(,條件,1,),statements1(,語句組,1),elseif,expression2(,條件,2,),statements2(,語句組,2),.,elseif,expressionm,(,條件,m,),statementsm,(,語句組,m,),else,statements(,語句組,),end,多分支結(jié)構(gòu),if,條件語句,if,語句舉例,數(shù)論中的一個(gè)有趣問題:任取一個(gè)正整數(shù),如果是偶數(shù),用,2,除,如果是奇數(shù),用,3,乘再加,1,,反復(fù)這個(gè)過程,直到所得到的數(shù)為,1,。,問:是否存在使該過程永不中止的整數(shù),?,while,1,n=,input,(Please,enter,n(nonpositive,quit):),;,if,n1,if,rem,(n,2)=0,n=n/2,;,else,n=3*n+1,;,end,fprintf,(n,n=%d,n),;,end,fprintf,(n,n=%d is not we need!continue.n,nt,),;,end,if,語句舉例,根據(jù)表達(dá)式的不同取值,分別執(zhí)行不同的語句。,switch,expression(,表達(dá)式),case,value1(,表達(dá)式1),statement1(,語句組1),case,value2(,表達(dá)式2),statement2(,語句組2),.,case,valuem,(,表達(dá)式,m),statementm,(,語句組,m),otherwise,statement(,語句組),end,switch,語句,Matlab,首先計(jì)算,expression,的值,然后將它依次與各個(gè),case,指令后的檢測(cè)值進(jìn)行比較,當(dāng)比較結(jié)果為真時(shí),就執(zhí)行相應(yīng)的語句組,然后跳出,switch,結(jié)構(gòu)。,switch,后面的表達(dá)式,expression,的值可以是一個(gè)標(biāo)量或字符串。,switch,語句,otherwise,指令可以不出現(xiàn)。,如果所有的比較結(jié)果都為假,則執(zhí)行,otherwise,后面的語句組,然后跳出,switch,結(jié)構(gòu)。,循環(huán)結(jié)構(gòu),是按照給定的條件,重復(fù)執(zhí)行指定的語句。,Matlab,用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句有,for,語句,和,while,語句,循環(huán)結(jié)構(gòu),for,variable=expression,statement(,循環(huán)體,),end,循環(huán)變量,表達(dá)式,expression,可以是行向量,也可以是矩陣,for,循環(huán),clear;,y=0;n=100;,for,k=1:n,y=y+1/(2*k-1);,end,例:,已知,,當(dāng),n,=100,時(shí),求,y,的值,循環(huán)語句可以嵌套使用,while,循環(huán),while,expression,(,條件,),statement(,循環(huán)體,),end,不能在,for,循環(huán)體,內(nèi)改變循環(huán)變量的值,為了提高代碼的運(yùn)行效率,應(yīng)盡可能提高代碼的向量化程度,避免,for,循環(huán),的使用,如果預(yù)先就知道循環(huán)的次數(shù),則可以采用,for,循環(huán),;否則,如果預(yù)先無法確定循環(huán)的次數(shù),則可以使用,while,循環(huán),。,這個(gè)例子給出了計(jì)算,eps,的一種方法。,這里我們用大寫,EPS,,,因此系統(tǒng)中,eps,的值不會(huì)被覆蓋。當(dāng),EPS=,eps,時(shí),條件仍成立;而當(dāng),EPS=eps/2,時(shí),條件為假,退出循環(huán),所以最后應(yīng)有,EPS=eps/2,。,num,用來記錄循環(huán)次數(shù)。,計(jì)算,Matlab,中,eps,值,while,循環(huán)舉例,num=0;EPS=1;,while,(1+EPS)1,EPS=EPS/2;,num=num+1;,end,break,和,continue,break,語句用于,終止循環(huán),的執(zhí)行,即跳出最內(nèi)層循環(huán),continue,語句用于結(jié)束,本次循環(huán),,進(jìn)行下一次循環(huán),break,和,continue,一般與,if,語句配合使用,其它流控制語句,return,return,語句用于,退出,正在運(yùn)行的腳本或函數(shù),通常用在函數(shù)文件中。,function,輸出形參列表,=,函數(shù)名,(,輸入形參列表,),%,注釋說明部分,(,可選,),函數(shù)體語句,(必須),第一行為,引導(dǎo)行,,表示該,M,文件是函數(shù)文件,函數(shù)名的命名規(guī)則與變量名相同,(,必須以字母開頭,),當(dāng),輸出形參,多于一個(gè)時(shí),用,方括號(hào),括起來,函數(shù)必須是一個(gè),單獨(dú)的,M,文件,函數(shù),文件名必須與函數(shù)名一致,以,百分號(hào),開始的語句為,注釋語句,函數(shù)文件,函數(shù)文件由,function,語句引導(dǎo),function,y=,myfliplr,(x,),%,returns X with row preserved and columns,%,flipped in the left/right direction,%,%X=1 2 3 becomes 3 2 1,%4 5 6 6 5 4,%,num_col,=size(x,2);,%,取,x,的列數(shù),y=x,(:,num_col:-1:1),;,函數(shù)文件舉例,myfliplr.m,function,printyh(n,),%,打印楊輝三角形,本函數(shù)沒有輸出參數(shù),yh,=1;,disp(yh,);,if n=1,return,;end,yh,=1,1;,disp(yh,);,for k=3:n,yh_old,=,yh,;k2=,ceil,(k/2);,for l=2:k2,yh(l,)=yh_old(l-1)+yh_old(l);,end,yh(k2+1:k)=yh(k-k2:-1:1);,disp(yh,);,end,函數(shù)文件舉例,printyh.m,楊輝三角形,1111211331146411510,10,51,其特點(diǎn)征是,它的兩條斜邊都是由數(shù)字,1,組成的,而其余的數(shù)則是等于它肩上的兩個(gè)數(shù)之和。,函數(shù)調(diào)用的一般格式,輸出實(shí)參列表,=函數(shù)名,(,輸入實(shí)參列表,),函數(shù)調(diào)用時(shí),,實(shí)參的順序,應(yīng)與函數(shù)定義時(shí)的,形參的順序,一致。,函數(shù)可以,嵌套調(diào)用,,即一個(gè)函數(shù)可以被其它函數(shù)調(diào)用,甚至可以被它自身調(diào)用,此時(shí)稱為,遞歸調(diào)用,。,函數(shù)所傳遞的參數(shù)具有可調(diào)性,,Matlab,用兩個(gè)永久變量,nargin,和,nargout,分別記錄調(diào)用該函數(shù)時(shí)的輸入實(shí)參和輸出實(shí)參的個(gè)數(shù)。,函數(shù)調(diào)用,%,函數(shù)文件,myfactor.m,function,f=,myfactor,(n,),if(n=1),f=1;,else,f=n*,myfactor,(n-1);,end,%,main.m,%,計(jì)算,s=1!+2!+3!+4!+5!,%,clear;,s=0;,for i=1:5,s=,s+,myfactor,(i,);,end,fprintf,(s=%g,n,s,),例:利用函數(shù)的遞歸調(diào)用計(jì)算,n,!,遞歸函數(shù)舉例,%,ex4argin.m,function out=ex4argin(a,b),if(,nargin,=1,),out=a;,elseif,(,nargin,=2,),out=a*b;,en

注意事項(xiàng)

本文(3 Matlab編程)為本站會(huì)員(fgh****35)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!