matlab函數(shù)文件和腳本文件學(xué)習(xí)教案_第1頁
matlab函數(shù)文件和腳本文件學(xué)習(xí)教案_第2頁
matlab函數(shù)文件和腳本文件學(xué)習(xí)教案_第3頁
matlab函數(shù)文件和腳本文件學(xué)習(xí)教案_第4頁
matlab函數(shù)文件和腳本文件學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、會計學(xué)1matlab函數(shù)文件函數(shù)文件(wnjin)和腳本文件和腳本文件(wnjin)第一頁,共47頁。第1頁/共46頁第二頁,共47頁。不使用指令clear加以清除,或MATLAB指令窗不關(guān)閉,這些變量將一直保存在基本工作空間中。第2頁/共46頁第三頁,共47頁。運(yùn)行運(yùn)行(ynxng)(ynxng)文件文件(F5/Debug|Run(F5/Debug|Run)第3頁/共46頁第四頁,共47頁。 函數(shù)文件(wnjin)是一種特殊類型的運(yùn)行在自己獨立的工作空間的M文件(wnjin),通過輸入形參表接收數(shù)據(jù),通過輸出形參返回結(jié)果到調(diào)用文件(wnjin)。function function 輸出輸出(

2、shch)(shch)形參表形參表=fname(=fname(輸入形參表輸入形參表) )% H1% H1注釋行注釋行% % 其他注釋行其他注釋行 (可執(zhí)行代碼)(可執(zhí)行代碼)(return)(return)第4頁/共46頁第五頁,共47頁。第5頁/共46頁第六頁,共47頁。例:編寫函數(shù)計算例:編寫函數(shù)計算(j sun)兩點之間的距離。兩點之間的距離。第6頁/共46頁第七頁,共47頁。第7頁/共46頁第八頁,共47頁。第8頁/共46頁第九頁,共47頁。函數(shù)文件運(yùn)行不能選中菜單(ci dn)Run,而是調(diào)用。 輸出實參表輸出實參表 函數(shù)名(輸入實參表)函數(shù)名(輸入實參表)n 函數(shù)調(diào)用的一般格式第9

3、頁/共46頁第十頁,共47頁。第10頁/共46頁第十一頁,共47頁。第11頁/共46頁第十二頁,共47頁。1)以為名存盤以為名存盤2)MATLAB命令命令(mng lng)窗口輸入命令窗口輸入命令(mng lng): ffib(1000)即可求小于即可求小于1000的的Fibonacci數(shù)。數(shù)。第12頁/共46頁第十三頁,共47頁。function f=factor(n) if n=1 f=1;else f=factor(n-1)*nendfor i=1:10 fac(i)=factor(i);endfac 打開文本編輯器編寫函數(shù)(hnsh)文件新打開一文件編輯器,在編寫的腳本文件中 調(diào)用該函

4、數(shù)(hnsh)文件第13頁/共46頁第十四頁,共47頁。n 參數(shù)值的傳遞(chund)第14頁/共46頁第十五頁,共47頁。第15頁/共46頁第十六頁,共47頁。參數(shù)參數(shù)(cnsh)后可以用條件后可以用條件語句確定需要執(zhí)行的操作語句確定需要執(zhí)行的操作第16頁/共46頁第十七頁,共47頁。第17頁/共46頁第十八頁,共47頁。function test(varargin)disp(nargin is num2str(nargin);for v=1:numel(varargin) disp(varargin num2str(v) is class(vararginv);end test(1,a,u

5、int8(32); nargin is 3varargin1 is doublevarargin2 is charvarargin3 is uint8第18頁/共46頁第十九頁,共47頁。第19頁/共46頁第二十頁,共47頁。第20頁/共46頁第二十一頁,共47頁。第21頁/共46頁第二十二頁,共47頁。第22頁/共46頁第二十三頁,共47頁。n內(nèi)聯(lián)函數(shù)(hnsh)的格式:n f=inline(表達(dá)式)創(chuàng)建內(nèi)聯(lián)表達(dá)式,若不指出變量,用x作為自變量n查看內(nèi)聯(lián)函數(shù)的內(nèi)容 formula(f)第23頁/共46頁第二十四頁,共47頁。第24頁/共46頁第二十五頁,共47頁。y1,y2,=feval(F

6、H,arg1,arg2,) 執(zhí)行執(zhí)行(zhxng)函數(shù)句柄函數(shù)句柄FH指定的計算指定的計算第25頁/共46頁第二十六頁,共47頁。 fid=fopen( fid=fopen(文件名,文件名,打開方式打開方式)其中其中(qzhng):fid是存儲的文件句柄,它是該數(shù)據(jù)文件的是存儲的文件句柄,它是該數(shù)據(jù)文件的唯一標(biāo)識,其值大于唯一標(biāo)識,其值大于0表示文件打開成功;文件名表示文件打開成功;文件名名用字符串形式表示;打開方式有名用字符串形式表示;打開方式有r(只讀只讀)、w(只只寫寫)、a(追加追加)和和r+(可讀可寫可讀可寫)。第26頁/共46頁第二十七頁,共47頁。 sta=fclose(fid

7、sta=fclose(fid)其中:其中:sta表示關(guān)閉文件操作的返回表示關(guān)閉文件操作的返回(fnhu)值,若關(guān)閉成值,若關(guān)閉成功,返回功,返回(fnhu)0;否則返回;否則返回(fnhu)1。若要關(guān)閉所有已打開的。若要關(guān)閉所有已打開的文件,用文件,用fclose(all).rr只讀方式打開,表示該文件已存在;只讀方式打開,表示該文件已存在;r+r+讀寫方式打開文件,打開后先讀后寫;讀寫方式打開文件,打開后先讀后寫;ww打開后寫入數(shù)據(jù)打開后寫入數(shù)據(jù)(shj)(shj),更新文件;,更新文件;aa在打開的文件末端添加數(shù)據(jù)在打開的文件末端添加數(shù)據(jù)(shj)(shj);bb以二進(jìn)制格式打開,系統(tǒng)的默

8、認(rèn)形式以二進(jìn)制格式打開,系統(tǒng)的默認(rèn)形式第27頁/共46頁第二十八頁,共47頁。n文件的讀和寫文件的讀和寫n fwrite是按照指定的數(shù)據(jù)精度將矩陣是按照指定的數(shù)據(jù)精度將矩陣(j zhn)中的元素中的元素n寫入到文件中;寫入到文件中;fread用于讀取二進(jìn)制用于讀取二進(jìn)制文件的數(shù)文件的數(shù)n據(jù),并將數(shù)據(jù)存入矩陣據(jù),并將數(shù)據(jù)存入矩陣(j zhn)中。中。第28頁/共46頁第二十九頁,共47頁。l fwrite fwrite按照指定的數(shù)據(jù)精度將矩陣中的元素寫入到按照指定的數(shù)據(jù)精度將矩陣中的元素寫入到文件中文件中l(wèi) A A:用來存放寫入文件的數(shù)據(jù);:用來存放寫入文件的數(shù)據(jù);l precision: pr

9、ecision: 數(shù)據(jù)精度,數(shù)據(jù)精度,char/int/double/ floatchar/int/double/ float等;等;l count count:返回所讀取的數(shù)據(jù)元素個數(shù);:返回所讀取的數(shù)據(jù)元素個數(shù);l size size:數(shù)據(jù):數(shù)據(jù)A A的尺寸,的尺寸,N N表示表示(biosh)(biosh)讀讀N N個元素到個元素到一個列向量,一個列向量,infinf表示表示(biosh)(biosh)讀取整個文件,讀取整個文件,M,NM,N表示表示(biosh)(biosh)讀數(shù)據(jù)到讀數(shù)據(jù)到M MN N矩陣中,數(shù)據(jù)按列存放;矩陣中,數(shù)據(jù)按列存放; count=fwrite(fp,A,p

10、recision)count=fwrite(fp,A,precision) A,count=fread(fp,size,precision) A,count=fread(fp,size,precision)第29頁/共46頁第三十頁,共47頁。第30頁/共46頁第三十一頁,共47頁。l fprintf fprintf將數(shù)據(jù)按照指定的格式寫入到文件將數(shù)據(jù)按照指定的格式寫入到文件fpfp中中l(wèi) count count:數(shù)據(jù)元素:數(shù)據(jù)元素(yun s)(yun s)個數(shù)個數(shù)l format format:數(shù)據(jù)格式。:數(shù)據(jù)格式。%d %d 整數(shù),整數(shù),%f %f 浮點數(shù),浮點數(shù),%s %s 字符串字符

11、串l 詳情請見詳情請見MATLABMATLAB幫助文件幫助文件a=stringfp=fopen(d:char1.txt,w)fprintf(fp,%s,a)fclose(fp)fp1=fopen(d:char1.txt,rt)b=fscanf(fp1,%s)A,count=fscanf(fp,format,size)A,count=fscanf(fp,format,size) count=fprintf(fp,format,A) count=fprintf(fp,format,A)第31頁/共46頁第三十二頁,共47頁。應(yīng)用程序的錯誤(cuw)一般有兩種:第32頁/共46頁第三十三頁,共47頁

12、。調(diào)試(dio sh)方法第33頁/共46頁第三十四頁,共47頁。n 程序的暫停:采用pause函數(shù)可以暫停程序,直到用戶(yngh)按任一鍵程序才繼續(xù)執(zhí)行。若要強(qiáng)行中止程序的運(yùn)行,可用ctrl+c。n return:結(jié)束所在函數(shù)的執(zhí)行(zhxng),把控制權(quán)轉(zhuǎn)至主調(diào)函數(shù)或指令窗。否則,只有待整個被調(diào)函數(shù)執(zhí)行(zhxng)完后,才會轉(zhuǎn)出。n keyboard:將控制權(quán)交給鍵盤,用于程序的調(diào)試及在程序運(yùn)行中修改(xigi)變量。第34頁/共46頁第三十五頁,共47頁。第35頁/共46頁第三十六頁,共47頁。n 調(diào)試手段有:設(shè)置(shzh)斷點、跟蹤和觀察變量第36頁/共46頁第三十七頁,共47頁

13、。即從當(dāng)前位置運(yùn)行到調(diào)用函即從當(dāng)前位置運(yùn)行到調(diào)用函數(shù)語句的下一條語句數(shù)語句的下一條語句第37頁/共46頁第三十八頁,共47頁。第38頁/共46頁第三十九頁,共47頁。n 設(shè)置斷點:選中要設(shè)置的語句,用快捷鍵F12或用工具條上的大紅(dhng)點或點擊菜單set breakpoint注:斷點設(shè)置后,在窗口左邊框上的大紅圓點注:斷點設(shè)置后,在窗口左邊框上的大紅圓點表示表示(biosh),非常醒目。,非常醒目。第39頁/共46頁第四十頁,共47頁。n退出調(diào)試(dio sh)工具:選中菜單exit debug moden清除斷點:與設(shè)置方法相同。第40頁/共46頁第四十一頁,共47頁。第41頁/共46

14、頁第四十二頁,共47頁。n 避免使用循環(huán)(xnhun)(向量化編程)n 要盡可能地使用向量或矩陣編程,而不是像在其他語言中對向量或矩陣的元素編程。這樣,不僅可以使程序較短,而且能大大提高運(yùn)行速度。n要求:編程者須熟悉數(shù)組運(yùn)算和MATLAB的指令n 數(shù)組的預(yù)定(ydng)義n 數(shù)組空間預(yù)配置可提高運(yùn)行速度(對高階矩陣的影響尤為明顯)以及內(nèi)存的利用率,否則數(shù)組多次擴(kuò)維會增加內(nèi)存的碎片。第42頁/共46頁第四十三頁,共47頁。例:根據(jù)例:根據(jù)(gnj)測得的一組電壓、電流值計算平均電阻值。測得的一組電壓、電流值計算平均電阻值。第43頁/共46頁第四十四頁,共47頁。第44頁/共46頁第四十五頁,共47頁。第45頁/共46頁第四十六頁,共47頁。NoImage內(nèi)

溫馨提示

  • 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

提交評論