matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt

matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt

ID:60859169

大?。?59.00 KB

頁數(shù):32頁

時間:2020-12-24

matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt_第1頁
matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt_第2頁
matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt_第3頁
matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt_第4頁
matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt_第5頁
資源描述:

《matlab編程基礎(chǔ)(函數(shù))ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、數(shù)學(xué)軟件Matlab——Matlab編程(函數(shù))1本講主要內(nèi)容什么是函數(shù)文件如何編寫函數(shù)文件遞歸函數(shù)函數(shù)參數(shù)的可調(diào)性局部變量與全局變量子函數(shù)函數(shù)句柄、內(nèi)聯(lián)函數(shù)、匿名函數(shù)2M文件根據(jù)調(diào)用方式的不同可以分為兩類:Script:腳本文件/命令文件Function:函數(shù)文件Matlab編程直接輸入文件名即可運行供其它M文件調(diào)用,通常帶輸入?yún)?shù)和輸出參數(shù)3function輸出形參列表=函數(shù)名(形參列表)%注釋說明部分(可選)函數(shù)體語句(必須)第一行為引導(dǎo)行,表示該M文件是函數(shù)文件函數(shù)名的命名規(guī)則與變量名相同(必須以字母開頭)當輸出形參多于一個時,用方括號括起來

2、函數(shù)文件函數(shù)文件一般格式函數(shù)文件名必須與函數(shù)名一致函數(shù)必須是一個單獨的M文件4函數(shù)文件(f2cf.m):例:將華氏溫度轉(zhuǎn)化為攝氏溫度:編程示例clear;f=input('Pleaseinputf:');c=5*(f-32)/9;fprintf('c=%g',c);腳本文件(f2cs.m):functionc=f2cf(f)c=5*(f-32)/9;fprintf('c=%g',c);5函數(shù)文件舉例function[a,b]=myswap(x,y)%swapxandya=y;b=x;例:交換兩個變量的值myswap.m有兩個輸入?yún)?shù)和兩個輸出

3、參數(shù)6functionprintyh(n)%打印楊輝三角形,本函數(shù)沒有輸出參數(shù)yh=1;disp(yh);ifn==1,return;endyh=[1,1];disp(yh);fork=3:nyh_old=yh;k2=ceil(k/2);fori=2:k2yh(i)=yh_old(i-1)+yh_old(i);endyh(k2+1:k)=yh(k-k2:-1:1);disp(yh);end函數(shù)文件舉例例:打印楊輝三角形printyh.m沒有輸入?yún)?shù)和輸出參數(shù)7函數(shù)調(diào)用的一般格式輸出實參列表=函數(shù)名(輸入實參列表)函數(shù)調(diào)用時,實參的順序應(yīng)與函數(shù)定義時形

4、參的順序一致實參與形參之間的結(jié)合是通過值傳遞實現(xiàn)的函數(shù)可以嵌套調(diào)用,即一個函數(shù)可以被其它函數(shù)調(diào)用, 甚至可以被它自身調(diào)用,此時稱為遞歸調(diào)用函數(shù)所傳遞的參數(shù)具有可調(diào)性,Matlab用兩個永久變量nargin和nargout分別記錄調(diào)用該函數(shù)時的輸入實參 和輸出實參的個數(shù)函數(shù)調(diào)用8%函數(shù)文件myfactor.mfunctiony=myfactor(n)if(n<=1)y=1;elsey=n*myfactor(n-1);end例:利用函數(shù)的遞歸調(diào)用計算n!遞歸函數(shù)舉例9%main.m%clear;s=0;n=10;fori=1:ns=s+myfactor(

5、i);endfprintf('s=%g',s)例:計算1!+2!+…+10!遞歸函數(shù)舉例10%ex4nargin.mfunctiony=ex4nargin(a,b)if(nargin==1)y=a;elseif(nargin==2)y=a*b;end參數(shù)的可調(diào)性舉例例:nargin和nargout的使用%ex4nargout.mfunction[p,q]=ex4nargout(a,b)if(nargout==1)p=a+b;elseif(nargout==2)p=a+b;q=a-b;end11函數(shù)通過輸入和輸出參數(shù)與其它M文件進行數(shù)據(jù)傳遞當函數(shù)調(diào)

6、用完畢后,該函數(shù)文件中定義的所有局部變量都將被釋放,即全部被清除如果在若干個M文件中,都把某個變量定義為全局變量,則這些函數(shù)將公共使用這一變量。所有函數(shù)都可以對它進行存取和修改操作函數(shù)文件中的變量都是局部的,即一個函數(shù)文件中定義的變量不能被另一個函數(shù)文件或其它M文件使用局部變量與全局變量定義全局變量是M文件間傳遞信息的一種手段12變量名列表中的各個變量用空格隔開,不能用逗號!在使用全局變量的所有M文件中,都要對其所使用的全局變量進行定義全局變量給函數(shù)間的數(shù)據(jù)傳遞帶來了方便,但卻破壞了函數(shù)對變量的封裝,降低了程序的可讀性,因而在結(jié)構(gòu)化程序設(shè)計中,全局變

7、量是不受歡迎的。特別是當程序較大,子程序較多時,全局變量將個程序調(diào)試和維護帶來不便,故不提倡使用全局變量。global變量名列表全局變量的定義全局變量的定義13程序示例%ex4global.mclear;globalaba=1;b=3;y=mysquaresum(a,b);fprintf('a=%g,b=%g',a,b);z=myproduct(a,b);fprintf('a=%g,b=%g',a,b);%mysquaresum.mfunctionsquare_sum=mysquaresum(x,y)square_sum=x^2+y^2;a=

8、x+y;%myproduct.mfunctionproduct=myproduct(x,y)globalap

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。