matlabm文件和函數(shù)句柄學(xué)習(xí)教案_第1頁(yè)
matlabm文件和函數(shù)句柄學(xué)習(xí)教案_第2頁(yè)
matlabm文件和函數(shù)句柄學(xué)習(xí)教案_第3頁(yè)
matlabm文件和函數(shù)句柄學(xué)習(xí)教案_第4頁(yè)
matlabm文件和函數(shù)句柄學(xué)習(xí)教案_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、會(huì)計(jì)學(xué)1matlabm文件文件(wnjin)和函數(shù)句柄和函數(shù)句柄第一頁(yè),共38頁(yè)。第1頁(yè)/共37頁(yè)第二頁(yè),共38頁(yè)。for n=1:10 x(n)=sin(n*pi/10);endxx =Columns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090Columns 8 through 10 0.5878 0.3090 0.0000第2頁(yè)/共37頁(yè)第三頁(yè),共38頁(yè)。for循環(huán)的重要(zhngyo)說明第3頁(yè)/共37頁(yè)第四頁(yè),共38頁(yè)。for n=1:10 x(n)=sin(n*pi/10); n=10;endxx = Co

2、lumns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 8 through 10 0.5878 0.3090 0.0000 第4頁(yè)/共37頁(yè)第五頁(yè),共38頁(yè)。 data=3 9 45 6; 7 16 -1 5data = 3 9 45 6 7 16 -1 5for n=data x=n(1)-n(2)end;x = -4x = -7x = 46x = 1 第5頁(yè)/共37頁(yè)第六頁(yè),共38頁(yè)。for n=1:5 for m=5:-1:1 A(n,m)=n2+m2;end disp(n)end12345AA

3、 =2 5 10 17 265 8 13 20 2910 13 18 25 3417 20 25 32 4126 29 34 41 50 第6頁(yè)/共37頁(yè)第七頁(yè),共38頁(yè)。 n=1:10;x=sin(n*pi/10)x =Columns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090Columns 8 through 10 0.5878 0.3090 0.0000 第7頁(yè)/共37頁(yè)第八頁(yè),共38頁(yè)。x=zeros(1,10); % preallocated memory for xfor n=1:10 x(n)=sin(

4、n*pi/10);end; 第8頁(yè)/共37頁(yè)第九頁(yè),共38頁(yè)。 num=0;EPS=1; while (1+EPS)1EPS=EPS/2;num=num+1;end numnum =53 EPS=2*EPSEPS =2.2204e-016第9頁(yè)/共37頁(yè)第十頁(yè),共38頁(yè)。if expression commandsend if expression commands evaluated if True else commands evaluated if Falseendif expression1 commands evaluated if expression1 is True elsei

5、f expression2 commands evaluated if expression2 is True elseif else commands evaluated if no other expression is True end 第10頁(yè)/共37頁(yè)第十一頁(yè),共38頁(yè)。 EPS=1; for num=1:1000 EPS=EPS/2; if (1+EPS) numnum = 53 EPS=1; for num=1:1000 EPS=EPS/2; if (1+EPS)1continue end EPS=EPS*2 breakendEPS =2.2204e-016 numnum = 5

6、3 第11頁(yè)/共37頁(yè)第十二頁(yè),共38頁(yè)。第12頁(yè)/共37頁(yè)第十三頁(yè),共38頁(yè)。for i=1:10;ai=89+i;bi=79+i;ci=69+i;di=59+i;end;c=d,c;Name=Jack,Marry,Peter,Rose,Tom;Mark=72,83,56,94,100;Rank=cell(1,5);S=struct(Name,Name,Marks,Mark,Rank,Rank);for i=1:5 switch S(i).Marks case 100 S(i).Rank=滿分(mn fn); case a S(i).Rank= 優(yōu)秀; case b S(i).Rank= 良

7、好; case c S(i).Rank= 及格; otherwise S(i).Rank=不及格; endend 第13頁(yè)/共37頁(yè)第十四頁(yè),共38頁(yè)。disp(學(xué)生姓名 , 得分 , 等級(jí));disp( )for i=1:5;disp(S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank);end;學(xué)生姓名 得分 等級(jí) Jack 72 及格Marry 83 良好(lingho)Peter 56 不及格Rose 94 優(yōu)秀Tom 100 滿分 第14頁(yè)/共37頁(yè)第十五頁(yè),共38頁(yè)。第15頁(yè)/共37頁(yè)第十六頁(yè),共38頁(yè)。N=4;A

8、=magic(3);try A_N=A(N,:),catch A_end=A(end,:),endA_end = 4 9 2lasterrans =Index exceeds matrix dimensions. 第16頁(yè)/共37頁(yè)第十七頁(yè),共38頁(yè)。第17頁(yè)/共37頁(yè)第十八頁(yè),共38頁(yè)。第18頁(yè)/共37頁(yè)第十九頁(yè),共38頁(yè)。5.函數(shù)函數(shù)(hnsh)體:這部分內(nèi)容由實(shí)現(xiàn)該體:這部分內(nèi)容由實(shí)現(xiàn)該 M函數(shù)函數(shù)(hnsh)文件文件功能的功能的Matlab指令指令組成。它接收輸入?yún)⒘?,進(jìn)行程序流控制,得到輸出參量。組成。它接收輸入?yún)⒘?,進(jìn)行程序流控制,得到輸出參量。第19頁(yè)/共37頁(yè)第二十頁(yè),共38頁(yè)

9、。circle.mfunction sa = circle(r,s)%CIRCLEplot a circle of radii r in the line specified by s.% r指定(zhdng)半徑的數(shù)值% s指定(zhdng)線色的字符串% sa圓面積% circle(r)利用藍(lán)實(shí)線畫半徑為 r 的圓周線.% circle(r,s)利用串 s 指定(zhdng)的線色畫半徑為 r 的圓周線.% sa=circle(r)計(jì)算圓面積,并畫半徑為 r 的藍(lán)色圓面.% sa=circle(r,s)計(jì)算圓面積,并畫半徑為 r 的 s 色圓面.% 編寫于1999年4月7日,修改于1999

10、年8月27日。if nargin2 error(輸入?yún)⒘刻唷?;end;if nargin=1 s=b;end;t=0:pi/100:2*pi;x=r*exp(i*t);if nargout=0 plot(x,s);else sa=pi*r*r; fill(real(x),imag(x),s)end第20頁(yè)/共37頁(yè)第二十一頁(yè),共38頁(yè)。第21頁(yè)/共37頁(yè)第二十二頁(yè),共38頁(yè)。第22頁(yè)/共37頁(yè)第二十三頁(yè),共38頁(yè)。指令含義nargin在函數(shù)體內(nèi),用于獲取實(shí)際輸入?yún)⒘縩argout在函數(shù)體內(nèi),用戶獲取實(shí)際輸出參量nargin(fun)獲取fun指定函數(shù)的標(biāo)稱輸入?yún)⒘繑?shù)nargout(fun)

11、獲取fun指定函數(shù)的標(biāo)稱輸出參量數(shù)inputname(n)在函數(shù)體內(nèi)使用,給出第 n個(gè)輸入?yún)⒘康膶?shí)際調(diào)用變量名第23頁(yè)/共37頁(yè)第二十四頁(yè),共38頁(yè)。n先叢所在函數(shù)空間獲取變量值,用eval(exp1)計(jì)算原串表達(dá)式;若該計(jì)算失敗,則再?gòu)膚orkspace指定的工作空間中獲取變量,再通過eval(exp2)計(jì)算替代串表達(dá)式。第24頁(yè)/共37頁(yè)第二十五頁(yè),共38頁(yè)。evallinzzy.mfunction y1=evallinzzy(a,s)t=(0:a)/a*2*pi;y1=subevallinzzy(4,s);function y2=subevallinzzy(a,s)t=(0:a)/a*2

12、*pi;ss=a*exp(i*t);switch s case base,caller y2=evalin(s,ss); case self y2=eval(ss);end a=30;t=(0:a)/a*2*pi;sss=base,caller,self;for k=1:3y0=evallinzzy(8,sssk);subplot(1,3,k)plot(real(y0),imag(y0)end 第25頁(yè)/共37頁(yè)第二十六頁(yè),共38頁(yè)。第26頁(yè)/共37頁(yè)第二十七頁(yè),共38頁(yè)。assigninxyq.mfunction y=assigninxyq(x)y=sqrt(x);t=x2;assignin

13、(base,yy,t) clear;x=4;y=assigninxyq(x);disp(blanks(5),x,blanks(5),y,blanks(4),yy),disp(x,y,yy) x y yy4 2 16 第27頁(yè)/共37頁(yè)第二十八頁(yè),共38頁(yè)。第28頁(yè)/共37頁(yè)第二十九頁(yè),共38頁(yè)。第29頁(yè)/共37頁(yè)第三十頁(yè),共38頁(yè)。第30頁(yè)/共37頁(yè)第三十一頁(yè),共38頁(yè)。y=eval(CEM) 執(zhí)行CEM指定的計(jì)算(j sun)y1,y2,=eval(CEM) 執(zhí)行CEM代表的函數(shù)文件,并輸出結(jié)果 第31頁(yè)/共37頁(yè)第三十二頁(yè),共38頁(yè)。t=pi;eval(theta=t/2,y=sin(th

14、eta)theta = 1.5708y = 1第32頁(yè)/共37頁(yè)第三十三頁(yè),共38頁(yè)。y1,y2,=feval(FH,arg1,arg2,)執(zhí)行函數(shù)句柄FH指定(zhdng)的計(jì)算y1,y2,=feval(FN,arg1,arg2,)執(zhí)行函數(shù)名字符串FN指定(zhdng)的計(jì)算y1,y2,=feval(FIL,arg1,arg2,)執(zhí)行內(nèi)聯(lián)函數(shù)FIL指定(zhdng)的計(jì)算 x=pi/4;Ve=eval(1+sin(x) Ve = 1.7071 Vf=feval(1+sin(x),x) ? Error using = fevalInvalid function name 1+sin(x). r

15、and(seed,1);A=rand(2,2);Heig=eig;d=feval(Heig,A) d = 0.7568 -0.1488 de=eval(Heig,A) ? Error using = evalFunction eval not defined for variables of class function_handle. 第33頁(yè)/共37頁(yè)第三十四頁(yè),共38頁(yè)。第34頁(yè)/共37頁(yè)第三十五頁(yè),共38頁(yè)。第35頁(yè)/共37頁(yè)第三十六頁(yè),共38頁(yè)。argout1,argout2,argoutn=FunName(argin1,argin2,arginn)hfun=FunNameargout1,argout2,argoutn=feval(hfun,argin1,argin2,arginn) 第36頁(yè)/共37頁(yè)

溫馨提示

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