2010-3循環(huán)語句.ppt_第1頁
2010-3循環(huán)語句.ppt_第2頁
2010-3循環(huán)語句.ppt_第3頁
2010-3循環(huán)語句.ppt_第4頁
2010-3循環(huán)語句.ppt_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)學實驗三,MATLAB循環(huán)語句,MATLAB語言編程介紹,MATLAB中各種命令可以完成許多單一的任務,對于某些較為復雜的問題,僅靠現(xiàn)有的命令或函數(shù)來解決,往往是難以達到目的 。為此,要運用MATLAB編程語言編制程序,形成M-文件。 程序是使計算機完成各項運算的命令集,運行一個編制好的程序,計算機會從第一條命令行開始,一行接一行地執(zhí)行相應的命令,直到終止。 程序編寫調(diào)試完成后,需要存盤,形成永久性文件,可以隨時對它進行調(diào)用或修改。 文件名以字母開頭,但不能用專用變量名,如pi,ans,eps等。,程序結(jié)構(gòu),程序一般包含:,a=input(請輸入數(shù)組 an= ); m,n=size(a);

2、M=a(1); for i=2:n if Ma(i) M=a(i); end end fprintf( M=%.5fn ,M);,數(shù)據(jù)輸入,數(shù)據(jù)處理,結(jié)果輸出,M-文件中輸入、輸出命令,直接賦值輸入: 提示對話輸入(input命令) x=2; x=input(請輸入?yún)?shù) x=); a=1,2;3,4; a=input(請輸入矩陣 a=); s= any string!; s=input(Please input s=); 直接輸出: 格式控制輸出(fprintf命令) x fprintf(x=%.0f, y=%.5fn,pi,pi); disp(a,b); fprintf(x=%5.0f, y

3、=%10.5fn,pi,pi);,一.For語句,格式: for i=n1:(step):n2 commands; end 作用:i從n1開始,執(zhí)行命令集commands,遇到end,i=i+step,重復執(zhí)行,直到i n2. 省略格式: for i=n1:n2這里step=1.,例1:求n個奇數(shù)和:s=1+3+5+(2n-1) n=input(please input n=); s=0; for i=1:n s=s+(2*i-1); fprintf(i=%.0f, s=%.0fn,i,s); end 程序wp31,例2:求階乘:p=12 3 n=n! n=input(請輸入 n= ); p=

4、1; for i=1:n p=p*i; fprintf( i=%.0f, p=%.0fn ,i,p); end wp32,例3:求e:e=1+1+1/2!+1/3!+1/n! n=input(請輸入 n= ); p=1;e=1; for i=1:n p=p*i; p1=1/p; e=e+p1; fprintf( i=%.0f, p=%.0f, e=%.8f n ,i,p,e); end wp33,二.While語句,格式: while (condition is true) commands; end 作用:當條件成立時,執(zhí)行命令集commands,直到條件不成立.,例4:求和:s=1+2+n

5、3000 s=0;k=1; while s+k3000 s=s+k; fprintf( k=%.0f, s=%.0fn ,k,s); k=k+1; end wp34,例5:求e:e=1+1+1/2!+1/3!+ (1/n!=1.0e-8 p=p*i; r=1/p; e=e+r; fprintf( i=%.0f, r=%.9f, e=%.9f n ,i,r,e); i=i+1; end wp35,三.選擇控制命令(if),單項選擇控制 格式: if (condition is true) commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。,例6:求n個

6、實數(shù)中最大的數(shù)M. a=input(請輸入數(shù)組 an= ); m,n=size(a); M=a(1); for i=2:n if Ma(i) M=a(i); end end fprintf( M=%.5fn ,M); wp36,四.多項選擇控制命令(if),多項選擇控制 格式: if (condition is true) commands; elseif (condition is true) commands; else commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。,例7:求函數(shù) y=x2 sgn(x)的值 x=input(please i

7、nput x=) if x0 z=1; elseif x=0 z=0; else z=-1; end y=x2*z wp37,五.定義函數(shù),格式 function y1,y2=funname(x,y,a,n) 其中: function 為關鍵字; y1,y2,為輸出列表; funname為自定義的函數(shù)名; (x,y,a,n,)為函數(shù)參數(shù),用來傳遞相 關數(shù)值. 存盤時,要求用funname作為函數(shù)名.,例7:建立符號函數(shù)sgn(x) function sn=sgn(x) if x0 sn=1; elseif x=0 sn=0; else sn=-1; end 以sgn作為文件名存盤,即建立了函數(shù)

8、。 調(diào)用: 在命令區(qū)執(zhí)行 : sn=sgn(10)或sn=sgn(-2),例8:建立計算(a+b)n,(a-b)n的函數(shù),function p,q=fun1(a,b,n) p=(a+b).n; q=(a-b).n; fun1.m,例編制程序,從鍵盤輸入a,b,n,計算(a+b)n,(a-b)n wp38,a=input(a=) b=input(b=) n=input(n=) p,q=fun1(a,b,n); fprintf(a+b)n=%.4f,(a-b)n=%.4fn,p,q),本次實驗上機任務,教材:李繼成等 上機操作實驗至實驗中所有指令和例題,熟悉Matlab相關命令;,數(shù)值計算問題舉例

9、,問題:求無理數(shù)的近似值 先求 的近似值,再設計通用函數(shù).,例1:用二分法求函數(shù)x2-2=0的正實根.,輸入初值:,輸出結(jié)果:STOP,No,No,No,Yes,Yes,Yes,a=1;b=2;K=1000;er=1.0e-8;f=inline(x.2-2);k=1;c=(a+b)/2;while kKr=c;if abs(f(r)1.0e-10fprintf(k=%.0f,r=%.8fn,k,r);break;end,if f(a)*f(r)0 b=r;else a=r;endc=(a+b)/2; fprintf(k=%.0f,r=%.8fn,k,r);if abs(r-c)er break

10、;endk=k+1;end,erfenfa.m,1. 每門課程考試閱卷完畢,任課教師都要對各班的考試成績進行統(tǒng)計,統(tǒng)計內(nèi)容包括:全班人數(shù),總得分,平均得分,不及格的人數(shù)及90分(包括90分)以上的人數(shù).請編制程序解決這一問題,并自給一組數(shù)據(jù)驗證程序的正確性.要求:使用者在提示下通過鍵盤輸入學生成績,計算機自動處理后,顯示需要的結(jié)果.,本次實驗自選個題目,任選題;,任選題提交能夠正確運行并附有結(jié)果的程序,2. 根據(jù)我國個人所得稅計算方法,編制程序,要求:使用者在系統(tǒng)提示下通過鍵盤輸入月工資薪金收入總數(shù),計算機則在屏幕上顯示個人所得稅額,界面友好,方便使用. 個人所得稅計算方法: 月個人所得稅(月

11、工資薪金收入1600)*適用稅率速算扣除數(shù) 附表:個人所得稅稅率表(工資、薪金所得適用),個人所得稅稅率表(工資、薪金所得適用),級 數(shù) 全月應納稅所得額 稅率()稅率 速算扣除數(shù)1 不超過500元的 52 超過500元至2000元的部分 10 253 超過2000元至5000元的部分 15 1254 超過5000元至20000元的部分 20 3755 超過20000元至40000元的部分 25 13756 超過40000元至60000元的部分 30 33757 超過60000元至80000元的部分 35 63758 超過80000元至100000元的部分 40 103759 超過100000

12、元的部分 45 15375,、任給一個自然數(shù)n,寫出1到n之間所有能夠表示成連續(xù)若干個自然數(shù)的和的數(shù)及其所有表示方法,、求,中同時滿足下列條件的數(shù) ()該數(shù)各位數(shù)字之和為奇數(shù) ()該數(shù)是素數(shù),a=1.;b=2.;r=1.0e-7;ya=fc1(a);yb=fc1(b);k=1;if abs(ya)r root=a; fprintf(k=%.0f, Root x=%.4f, f(x)=%12.7fn,k,root,ya); return;endif abs(yb)r root=b; fprintf(k=%.0f, Root x=%.4f, f(x)=%12.7fn,k,root,yb);,function y=fc1(x) y=1./(x-.3).2+.01)+1./(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論