實(shí)驗(yàn)三MATLAB的程序設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn)三MATLAB的程序設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn)三MATLAB的程序設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn)三MATLAB的程序設(shè)計(jì)_第4頁(yè)
實(shí)驗(yàn)三MATLAB的程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、桂林電子科技大學(xué)數(shù)學(xué)與計(jì)算科學(xué)學(xué)院實(shí)驗(yàn)報(bào)告院(系) 課程 名稱數(shù)學(xué)與計(jì)算科學(xué) 數(shù)學(xué)應(yīng)用軟件實(shí)驗(yàn)學(xué)號(hào)實(shí)驗(yàn)項(xiàng)目 名 稱姓名實(shí)驗(yàn)三 MATLAB的程序設(shè)計(jì)2.,實(shí)驗(yàn)?zāi)康?. 掌握建立與編輯函數(shù)文件和腳本文件的方法;2. 掌握MATLAB編程語(yǔ)言的基本控制語(yǔ)句;3. 掌握MATLAB程序的調(diào)試。二,實(shí)驗(yàn)原理if 語(yǔ)句、 switch 語(yǔ)句、forMATLAB有三種基本程序結(jié)構(gòu):順序、選擇和循環(huán)。主要的語(yǔ)句有 循環(huán)語(yǔ)句和while循環(huán)。1.選擇結(jié)構(gòu)(1) if語(yǔ)句:if條件表達(dá)式執(zhí)行語(yǔ)句elseif條件表達(dá)式執(zhí)行語(yǔ)句endswitch語(yǔ)句 switch表達(dá)式 case表達(dá)式 執(zhí)行語(yǔ)句 case表達(dá)式 執(zhí)

2、行語(yǔ)句otherwise執(zhí)行語(yǔ)句end循環(huán)結(jié)構(gòu)(1) for循環(huán)for循環(huán)變量=表達(dá)式執(zhí)行語(yǔ)句end其中表達(dá)式是一個(gè)矩陣,矩陣的列被一個(gè)一個(gè)的賦給循環(huán)變量,然后執(zhí)行循環(huán)體內(nèi)的語(yǔ)句。while循環(huán)while條件表達(dá)式執(zhí)行語(yǔ)句End3.其它流程控制函數(shù)for循環(huán)和while循環(huán),用于結(jié)束當(dāng)次continue語(yǔ)句與if語(yǔ)句相結(jié)合,當(dāng)滿continue : continue語(yǔ)句通常用在循環(huán)控制中,包括 循環(huán),繼續(xù)執(zhí)行下一次循環(huán),但是不結(jié)束當(dāng)前循環(huán)。一般 足一定的條件時(shí),執(zhí)行continue語(yǔ)句。break:與continue相同的是,break函數(shù)也是用于循環(huán)控制,中斷當(dāng)前循環(huán)。與continue不同

3、,break跳出當(dāng)前循環(huán),不再執(zhí)行該循環(huán)的任何操作。return :結(jié)束該程序的執(zhí)行,返回到調(diào)用函數(shù)或者鍵盤。4.創(chuàng)建M文件M文件以.m為擴(kuò)展名,它有兩種形式:腳本文件和函數(shù)文件。(1)腳本文件的創(chuàng)建進(jìn)入MATLAB命令窗口后,選擇“File”下拉菜單中的“new”選擇“ M-file ”,或在MATLAB 命令窗口輸入“ edit M文件名”,或點(diǎn)擊工具欄中的“新建”按鈕。在M文件編輯窗口中,寫(xiě)入符合語(yǔ)法規(guī)則的。編寫(xiě)完命令文件后,選擇“file ”下拉式菜單中的“ save”項(xiàng),然后依提示輸入一個(gè)文件名。至此,完成了腳本文件的創(chuàng)建。(2)函數(shù)文件的創(chuàng)建函數(shù)文件的創(chuàng)建與腳本文件的創(chuàng)建方法完全一

4、樣,只是在函數(shù)文件的第一句可執(zhí)行語(yǔ)句必 須是function引導(dǎo)的定義語(yǔ)句,并且輸入文件名時(shí)要與定義語(yǔ)句中的函數(shù)名相同。(3)腳本文件與函數(shù)文件的調(diào)用創(chuàng)建了腳本文件后,只在命令窗口鍵入腳本文件名,再按回車鍵,就可以執(zhí)行腳本文件中 所包含的所有命令。函數(shù)文件一旦創(chuàng)建,就可以與其它的MATLAB函數(shù)一樣調(diào)用了。5. 程序的調(diào)試在程序調(diào)試時(shí),程序運(yùn)行中變量的值為一個(gè)重要的線索。因此,查看變量值為程序調(diào)試的 重要線索,由于在函數(shù)調(diào)用時(shí)只返回最后的輸出參數(shù),而不返回中間變量,因此,可以選擇下 面的方法查看程序運(yùn)行中的變量值。;)刪除,將結(jié)果顯示在命令窗口中,與(1)通過(guò)分析后,將可能出錯(cuò)的語(yǔ)句后面的分號(hào)

5、( 預(yù)期值進(jìn)行比較;當(dāng)MATLAB執(zhí)行至此處時(shí)將暫停,等待用 k>>提示符,用戶可以查看工作區(qū)中的變量,(2)利用函數(shù) disp顯示中間變量的值;(3) 在程序中的適當(dāng)位置添加keyboard指令。戶反應(yīng)。當(dāng)程序運(yùn)行至此時(shí)將暫停,在命令窗口中顯示可以改變變量的值。輸入return指定返回程序,繼續(xù)運(yùn)行。(4)在調(diào)試一個(gè)單獨(dú)的函數(shù)時(shí),可以將函數(shù)改寫(xiě)為腳本文件,此時(shí)可以直接對(duì)輸入?yún)?shù)賦值,然后以腳本方式運(yùn)行該M文件,這樣可以保存中間變量,在運(yùn)行完成后,可以查看中間變量的值,對(duì)結(jié)果進(jìn)行分析,查找錯(cuò)誤所在。1三,實(shí)驗(yàn)內(nèi)容1.分別用腳本文件和函數(shù)文件實(shí)現(xiàn)以下功能:輸入?yún)?shù)a,b,c,畫(huà)出函數(shù)

6、y = ax2+bx+c的圖像;x + 1,x v02.編程實(shí)現(xiàn):輸入x的值,計(jì)算函數(shù)f (x)的函數(shù)值,其中f(x) =1,1<xc1,并計(jì)算x2,x31f (-0.7), f (0.5), f (1.5)3.編寫(xiě)一個(gè)函數(shù) mylog(n,x)來(lái)計(jì)算實(shí)數(shù)x的對(duì)數(shù),其中,當(dāng) n取10,計(jì)算以10為底的對(duì)數(shù);當(dāng)n 取2時(shí),計(jì)算以2為底的對(duì)數(shù),當(dāng)n取3時(shí),計(jì)算以自然底數(shù)為底的對(duì)數(shù),當(dāng)n取其它數(shù)時(shí)候,用換底公式進(jìn)行計(jì)算。4.編程實(shí)現(xiàn)求和:s(n) =1-2+3-4+.+(-1)nFns(n) =1 -丄+ 丄一丄 +. +(-1)n 出丄234n5.計(jì)算和式S(n)=1!+2! + .+ n!

7、,當(dāng)和大于1000時(shí),退出;6. 計(jì)算組合數(shù)八施 十:匚,用遞歸實(shí)現(xiàn);7,計(jì)算以下和式,并估計(jì)其求和公式以及驗(yàn)證:nS(n) =2 k =1 +2+3+.+ nk inS(n) =2 k2 =12 +22 +32 +. + n2k inS(n) =5: k3 =13 +23 +33 +.+ n3k =18,估計(jì)以下級(jí)數(shù)的和,并編程驗(yàn)證。處 11111s =送 一=+.+ + k#k!1!2!3!n!s=h =丄+丄+丄+.+: + kk(k +1)1咒2 2 咒3 3天4nx(n+1)2k-13 5 7 2k-19,畫(huà)一個(gè)國(guó)際象棋的棋盤;10,給N個(gè)人編上號(hào):1,2,3,., N,按順序圍成一

8、個(gè)圈坐好,從1號(hào)開(kāi)始報(bào)數(shù),報(bào)到 M (M C N)的人退出,下一個(gè)人再?gòu)?1開(kāi)始往下報(bào)數(shù),重復(fù)這個(gè)過(guò)程,請(qǐng)問(wèn)最后剩下的那個(gè)人的號(hào)數(shù)是多少?請(qǐng)編程實(shí)現(xiàn),并取 N =10, M =3進(jìn)行驗(yàn)證;11,求出1 N之間的所有素?cái)?shù);12,求出所有的水仙花數(shù)(所謂水仙花數(shù),是滿足以下條件的三位數(shù):各位數(shù)的立方之和等于它本身,例如,13 +53 +33 =153);13,14,15,16,將一個(gè)正整數(shù)進(jìn)行質(zhì)因數(shù)分解,例如:90 = 2*3*3*5 ;求兩個(gè)正整數(shù) m, n的最小公倍數(shù)和最大公因數(shù);有一個(gè)已排好序的數(shù)組,現(xiàn)在輸入一個(gè)數(shù),請(qǐng)按照原來(lái)的規(guī)律將此數(shù)插入到數(shù)組中; 將一個(gè)數(shù)組逆序輸出;四,實(shí)驗(yàn)結(jié)果分析或

9、總結(jié)1.分別用腳本文件和函數(shù)文件實(shí)現(xiàn)以下功能:輸入?yún)?shù)a,b,c,畫(huà)出函數(shù)y = ax2+bx + c的圖像;(1)M腳本文件: a=inpu t('a='); b=i np ut('b='); c=inpu t('c='); x=-5:5/1000:5; y=a.*x.A2+b.*x+c; plot(x,y) 結(jié)果輸入:>> lx11a=1b=1c=1 >>C占HLQiihr-ap IJ nioT Ivlph 追Q 劈竄 S iz 圖像:(2) M函數(shù)文件:fun ction lx12(a,b,c) x=-5:5/100

10、0:5; y=a.*x.A2+b.*x+c; plot(x,y)運(yùn)行函數(shù):1x12(1,1,1)圖像:IM Finiice ilx + 1,x V 02.編程實(shí)現(xiàn):輸入x的值,計(jì)算函數(shù)f (x)的函數(shù)值,其中f(x) =1,1<XC1 ,并計(jì)算x2,x31f (-0.7), f (0.5), f (1.5)M函數(shù)文件:function y =f(x) if x<0y=x+1; elseif x<1 y=l; else y=x2 end結(jié)果:>> f(-0.7)ans =0.3000>> f(0.5) ans =1 >> f(1.5) y =

11、2.2500 ans =2.25003.編寫(xiě)一個(gè)函數(shù) mylog(n,x)來(lái)計(jì)算實(shí)數(shù)x的對(duì)數(shù),其中,當(dāng) n取10,計(jì)算以10為底的對(duì)數(shù);當(dāng) n 取2時(shí),計(jì)算以2為底的對(duì)數(shù),當(dāng)n取3時(shí),計(jì)算以自然底數(shù)為底的對(duì)數(shù),當(dāng)n取其它數(shù)時(shí)候,用換底公式進(jìn)行計(jì)算。M函數(shù)文件function y = mylog( n,x)if n=10 y=log10(x);elseif n=2y=log2(x); elseif n=3y=log(x); elsey=log(x)/log( n); end結(jié)果:>> mylog(10,5) ans =0.6990 >> mylog(2,5) ans =2

12、.3219ans =1.29254.編程實(shí)現(xiàn)求和:s(n) =1 2+3-4+.+(1)nn1111s(n) =1 +. + (1)n 屮一23 4n(1)M函數(shù)文件:fun cti on Y=s( n)Y=0;for i=1:nY=Y+(-1)A(i+i)*i; end結(jié)果測(cè)試:> s(4) ans =-2153>> s(100) fun cti onY=s( n)Y=0;for i=1:nY=Y+(-1)A(i+l)*(l/i); end結(jié)果測(cè)試:>> s(4) ans =0.58335.計(jì)算和式S(n)=1! + 2! + .+ n!,當(dāng)和大于1000時(shí),退

13、出;fun cti onY=s( n)Y=0;a=1;for i=1:na=a*i;Y=Y+a;if Y>1000dis p('S(n)>1000, i ?3?-?-break ;end end程序測(cè)試:>> s(5) ans =S(n)>1000,退出循環(huán)ans =5913>> s(3)66.計(jì)算組合數(shù)C:n!=,用遞歸實(shí)現(xiàn);k!( n- k)!kM函數(shù)文件:fun cti onY = c(k ,n)if k<0 | n<0);error( 'k or n is smaller tha n 0,put in aga in

14、r return ;elseifk>nerror(end'k>n,put in aga in!');if k=0Y=1;elseifk=1&&n=1Y=1;elseifk<=nY=( n/k)*c(k-1, n-1);end程序測(cè)試:>> c(0,0) ans =>> c(0,1) ans =>> c(3,4) ans =7, 計(jì)算以下和式,并估計(jì)其求和公式以及驗(yàn)證:nS(n) =2: k =1 +2+3+ nk ztfun cti on Y=s( n)Y=0;for k=1: nY=Y+k;end測(cè)試:an

15、s =nS(n) =2 k2 =12 +22 +32 + n2k 1S=0;fun cti onY=s( n)Y=0;for k=1: n丫=丫+"2;end測(cè)試:>> s(3) ans =14nS(n) =5: k3 =13 +23 +33 + n3k 4fun cti on Y=s( n)Y=0;for k=1: n丫=丫+"3;end測(cè)試:>> s(2) ans =8,估計(jì)以下級(jí)數(shù)的和,并編程驗(yàn)證。丄+ 1 +2!3!+丄+n!1 1 1S=2 - =1心k! 1!程序:a=1;S=0;for k=1:100000a=a*k;S=S+1/a;e

16、nd dis p(S);驗(yàn)證:>> s1.7183cS=z心 k(k +1)=丄+1X2233天4丄+ +nx( n+1)程序:for k=1:100000S=S+1/(k*(k+1);end dis p(S);檢驗(yàn):>> s1.0000S 語(yǔ)亠 3+5-7+蟲(chóng)+2k-1程序:S=0;for k=1:100000S=S+(-1)A(k+1)/(2*k-1);enddis p(S);檢驗(yàn):>> s0.78549,畫(huà)一個(gè)國(guó)際象棋的棋盤;10,給N個(gè)人編上號(hào):1,2,3,., N,按順序圍成一個(gè)圈坐好,從1號(hào)開(kāi)始報(bào)數(shù),報(bào)到 M (M < N)的人退出,下一個(gè)

17、人再?gòu)?1開(kāi)始往下報(bào)數(shù),重復(fù)這個(gè)過(guò)程,請(qǐng)問(wèn)最后剩下的那個(gè)人的號(hào)數(shù)是多少?請(qǐng)編程實(shí)現(xiàn),并取 N =10, M =3進(jìn)行驗(yàn)證;M函數(shù)文件:fun cti onx,y=Jose ph0(N,M)a=1:N; t=1;k=1;while tl,k=size(a);if len gth(a)=1 dis p(a);break ; endif k<Mwhile kif len gth(a)=1 break ;endfor r=1:(M-1) c=a(1); a(1)=; a=a c;enda(1)=; k=k+1; endelse for i=1:(M-1) b(i)=a(i);end a(M)=;

18、 for j=1:(M-1) a(M-j)=;end for i=1:(M-1) a=a b(i);end t=t+1;end end驗(yàn)證:>> Jose ph0(10,3)4>> Jose ph0(7,4)211,求出1 N之間的所有素?cái)?shù);M函數(shù)文件:fun cti onout = np rimes(N)A= 1:N;A=0;i=2;while i<= floor(sqrt(N);for j= 2:fix(N/i)A(i*j) = 0;end ;i = A(fi nd(A>i,1); end ;out=non zeros(A);檢驗(yàn):>> np

19、 rimes(20)ans =231113171912,求出所有的水仙花數(shù)(所謂水仙花數(shù),是滿足以下條件的三位數(shù):各位數(shù)的立方之和等于它本身,例如,13 +53 +33 =153);程序:for i=100:999a=fix(i/100); b=fix(mod(i,100)/10);c=mod(i,10);if a3+b3+c3=idis p( i);end end結(jié)果:>> 1x1015337037190 = 2*3*3*540713,將一個(gè)正整數(shù)進(jìn)行質(zhì)因數(shù)分解,例如:fun cti on c=p rimfactor(a)b=2:sqrt(a);c=;whileise mp ty

20、(b)if mod(a,b(1)b(mod(b,b(1)=;con ti nue ;elsec=c,b(1);a=a/b(1); b(b>sqrt(a)=; endend dis p('該正整數(shù)的質(zhì)因數(shù)為: '); c=c,a;測(cè)試:P rimfactor(90)該正整數(shù)的質(zhì)因數(shù)為:ans =14,求兩個(gè)正整數(shù) m, n的最小公倍數(shù)和最大公因數(shù);M函數(shù)文件:function M,N=gcmlcm(m, n)t=mi n(m,n);while tif mod(m,t)=0 & mod( n, t)=0disp('m,n的最大公約數(shù):'); dis p(t);break;endt=t-1;endg=m* n/t;disp('m,n的最小公倍數(shù):');dis p(g);程序測(cè)試:gcmlcm(4,6)的最大公約數(shù):2m,nm,n的最小公倍數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論