Matlab函數(shù)定義和調(diào)用學(xué)習(xí)教案_第1頁
Matlab函數(shù)定義和調(diào)用學(xué)習(xí)教案_第2頁
Matlab函數(shù)定義和調(diào)用學(xué)習(xí)教案_第3頁
Matlab函數(shù)定義和調(diào)用學(xué)習(xí)教案_第4頁
Matlab函數(shù)定義和調(diào)用學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、會計(jì)學(xué)1Matlab函數(shù)定義和調(diào)用函數(shù)定義和調(diào)用第一頁,編輯于星期六:十九點(diǎn) 二十四分。q Matlab 自定義函數(shù)的五種方式自定義函數(shù)的五種方式u 命令文件命令文件/函數(shù)文件函數(shù)文件+ 函數(shù)文件函數(shù)文件 :多個多個 M 文件文件u 函數(shù)文件函數(shù)文件 + 子函數(shù)子函數(shù) : 一個一個 M 文件文件u inline : 無需無需 M 文件文件u 符號表達(dá)式符號表達(dá)式 + subs 方式方式 : 無需無需 M 文件文件u 字符串字符串 + subs 方式方式 : 無需無需 M 文件文件第1頁/共12頁第二頁,編輯于星期六:十九點(diǎn) 二十四分。%命令命令/函數(shù)文件:函數(shù)文件:clearfor t=1:1

2、0; y=mylfg(t); fprintf(%4d(1/3) = %6.4fn,t,y);end%函數(shù)文件:函數(shù)文件:function y = mylfg(x)y=x(1/3);函數(shù)必須單獨(dú)寫一個文件!函數(shù)必須單獨(dú)寫一個文件!不能與命令文件寫在同一個文件中!不能與命令文件寫在同一個文件中!函數(shù)名與文件名必須一致!函數(shù)名與文件名必須一致!調(diào)用函數(shù)時要注意調(diào)用函數(shù)時要注意實(shí)參實(shí)參與與形參形參的匹配!的匹配!q 方式一方式一:命令文件命令文件/函數(shù)文件函數(shù)文件 + 函數(shù)文件函數(shù)文件第2頁/共12頁第三頁,編輯于星期六:十九點(diǎn) 二十四分。%函數(shù)文件:函數(shù)文件:funtry2.m function =

3、funtry2()for t=1:10 y=lfg2(t); fprintf(%4d(1/3) = %6.4fn,t,y);endfunction y=lfg2(x) %子函數(shù)子函數(shù)y=x(1/3);函數(shù)文件中可以定義一個或多個函數(shù)文件中可以定義一個或多個子函數(shù)子函數(shù),此時我們稱該函數(shù)為,此時我們稱該函數(shù)為主函數(shù)主函數(shù),子函數(shù),子函數(shù)只能被主函數(shù)或同一個函數(shù)文件中的其它子函數(shù)調(diào)用!被主函數(shù)或同一個函數(shù)文件中的其它子函數(shù)調(diào)用!q 方式二方式二:函數(shù)文件函數(shù)文件 + 子函數(shù)子函數(shù)第3頁/共12頁第四頁,編輯于星期六:十九點(diǎn) 二十四分。f=inline(函數(shù)表達(dá)式函數(shù)表達(dá)式,變量變量1 1,變量變量

4、2 2,.)y=f(數(shù)值列表數(shù)值列表)代入的代入的數(shù)值列表數(shù)值列表順序應(yīng)與定義時的順序應(yīng)與定義時的變量名變量名順序一致順序一致例:例:q 方式三方式三:inline + 命令命令/函數(shù)文件函數(shù)文件l inline 命令可以用來定義一個命令可以用來定義一個內(nèi)聯(lián)函數(shù)內(nèi)聯(lián)函數(shù)l 調(diào)用方式:調(diào)用方式:第4頁/共12頁第五頁,編輯于星期六:十九點(diǎn) 二十四分。u 這種函數(shù)定義方式是將這種函數(shù)定義方式是將 f 作為一個內(nèi)部函數(shù)調(diào)用。其特點(diǎn)是:調(diào)用方式作為一個內(nèi)部函數(shù)調(diào)用。其特點(diǎn)是:調(diào)用方式最接近于我們平時對函數(shù)的定義最接近于我們平時對函數(shù)的定義,使程序更具可讀性。同時由于它是基于,使程序更具可讀性。同時由于

5、它是基于 Matlab 的數(shù)值計(jì)算內(nèi)核的,所以它的的數(shù)值計(jì)算內(nèi)核的,所以它的運(yùn)算速度較快運(yùn)算速度較快,程序更有效率。,程序更有效率。u 這種定義方式的缺點(diǎn):這種定義方式的缺點(diǎn):l 定義一個內(nèi)聯(lián)函數(shù)用去的內(nèi)存空間比相同條件下其他的方法要大得多。定義一個內(nèi)聯(lián)函數(shù)用去的內(nèi)存空間比相同條件下其他的方法要大得多。l 該方法該方法只能對數(shù)值進(jìn)行代入只能對數(shù)值進(jìn)行代入,不支持符號代入,并且對于定義后的函數(shù),不支持符號代入,并且對于定義后的函數(shù)不能進(jìn)行求導(dǎo)等符號運(yùn)算不能進(jìn)行求導(dǎo)等符號運(yùn)算。第5頁/共12頁第六頁,編輯于星期六:十九點(diǎn) 二十四分。第6頁/共12頁第七頁,編輯于星期六:十九點(diǎn) 二十四分。%函數(shù)文件

6、:函數(shù)文件:function =funtry3()lfg=inline(x.(1/3); %表達(dá)式兩端的單引號不可缺少表達(dá)式兩端的單引號不可缺少fid=fopen(myfile3.txt,w);for t=1:50; y=lfg(t); fprintf(fid,%4d(1/3) = %6.4fn,t,y);endfclose(fid);ezplot(lfg,0,50)diff(lfg,x)X第7頁/共12頁第八頁,編輯于星期六:十九點(diǎn) 二十四分。注:注:對于在對于在 syms 中已經(jīng)定義過符號變量,在中已經(jīng)定義過符號變量,在 subs 中進(jìn)行替代時,單引號可以省略。但如果在中進(jìn)行替代時,單引號

7、可以省略。但如果在 syms 后又被重新定義為其它類型,則必須加單引號,否則不可替換。后又被重新定義為其它類型,則必須加單引號,否則不可替換。l syms 定義一個定義一個符號表達(dá)式符號表達(dá)式,用,用 subs 命令調(diào)用命令調(diào)用syms f x %定義符號定義符號f=1/(1+x2); %定義符號表達(dá)式定義符號表達(dá)式subs(f,x,代替代替 x 的數(shù)值或符號的數(shù)值或符號)q 方式四方式四: syms + subs第8頁/共12頁第九頁,編輯于星期六:十九點(diǎn) 二十四分。u 這種函數(shù)定義方法的一個特點(diǎn)是可以用符號進(jìn)行替換這種函數(shù)定義方法的一個特點(diǎn)是可以用符號進(jìn)行替換u 該方法的缺點(diǎn)也是明顯的:由

8、于使用符號運(yùn)算內(nèi)核該方法的缺點(diǎn)也是明顯的:由于使用符號運(yùn)算內(nèi)核,運(yùn)算速度會大大降低。,運(yùn)算速度會大大降低。第9頁/共12頁第十頁,編輯于星期六:十九點(diǎn) 二十四分。注:注:此處此處 x 的單引號不可省略。本函數(shù)方式可以代入字符,但字符不能參與運(yùn)算,否則將自行轉(zhuǎn)化成該字符的的單引號不可省略。本函數(shù)方式可以代入字符,但字符不能參與運(yùn)算,否則將自行轉(zhuǎn)化成該字符的 ASCII 碼運(yùn)算,這與我們想要的結(jié)果可能會大相徑庭。碼運(yùn)算,這與我們想要的結(jié)果可能會大相徑庭。l 直接定義一個字符串,用直接定義一個字符串,用 subs 命令完成調(diào)用。命令完成調(diào)用。例:例:f=1/(1+x2) % 定義字符串定義字符串z=subs(f,x,2) g=subs(f,x,y2)優(yōu)點(diǎn):占內(nèi)存最少,定義格式方便自由。優(yōu)點(diǎn):占內(nèi)存最少,定義格式方便自由。q 方式五方式五:字符串字符串 + subs第10頁/共12頁第十一頁,編輯于星期六:十九點(diǎn) 二十四分。l subs 命令的一種比較方便的調(diào)用方法:命令的一

溫馨提示

  • 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

提交評論