MATLAB在二分法中的應(yīng)用 張揚(yáng)_第1頁(yè)
MATLAB在二分法中的應(yīng)用 張揚(yáng)_第2頁(yè)
MATLAB在二分法中的應(yīng)用 張揚(yáng)_第3頁(yè)
MATLAB在二分法中的應(yīng)用 張揚(yáng)_第4頁(yè)
MATLAB在二分法中的應(yīng)用 張揚(yáng)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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、MATLAB語(yǔ)言課程論文MATLAB在二分法中的應(yīng)用姓名:張揚(yáng)學(xué)號(hào):12009243762專業(yè):電子信息工程班級(jí):10級(jí)一班指導(dǎo)老師:湯全武學(xué)院:物理電氣信息學(xué)院完成日期:2011.11.31 MATLAB在二分法中求方程的近似解的應(yīng)用(張揚(yáng) 12009243762 物理電氣信息學(xué)院 10級(jí)電子1班)【摘要】計(jì)算一個(gè)函數(shù)f的零點(diǎn)(即求方程的根)是在科學(xué)計(jì)算中經(jīng)常遇到的問(wèn)題,二分法是解決此類問(wèn)題的方法之一,MATLAB在處理用二分法求方程的近似解問(wèn)題上非常方便,而且可以為學(xué)生創(chuàng)造出圖文并茂、豐富多彩人機(jī)交互、即時(shí)反饋的學(xué)習(xí)環(huán)境,為學(xué)生更好的學(xué)習(xí)數(shù)學(xué)提供了一個(gè)有力的輔助工具.【關(guān)鍵詞】二分法 精度

2、 近似值 迭代次數(shù)一、二分法二分法也稱逐次分半法。它的基本思想是:先確定方程含根的區(qū)間(a,b),再把區(qū)間逐次二等分。(一)判別有根區(qū)間設(shè)函數(shù)在區(qū)間a,b上連續(xù),且,那么根據(jù)零點(diǎn)定理知方程在開(kāi)區(qū)間(a,b)內(nèi)至少有一個(gè)實(shí)根,同時(shí)若在a,b上是單調(diào)的,那么方程在開(kāi)區(qū)間(a,b)有唯一一個(gè)實(shí)根。這是使用二分法的前提。(二)用二分法求方程的根的近似值的步驟 步驟1 若對(duì)于a0, disp(注意:ya*yb0,請(qǐng)重新調(diào)整區(qū)間端點(diǎn)a和b.),return end max1=-1+ceil(log(b-a)-log(abtol)/log(2); %ceil是向正無(wú)窮大方向取整 for k=1:max1+1

3、 a;ya=fun(a);b;yb=fun(b);x=(a+b)/2; yx=fun(x);wuca=abs(b-a)/2;k=k-1; k,a,b,x,wuca,ya,yb,yx if yx=0 a=x;b=x; elseif yb*yx0 b=x;yb=yx; else a=x;ya=yx; end if b-aabtol,return,end end k=max1;x;wuca;yx=fun(x); (二)使用二分法的主程序求解方程在開(kāi)區(qū)間(a,b)內(nèi)的一個(gè)近似根的值的步驟 步驟1 建立名為 fun.m的M文件如下 function y1=fun(x) y1=(x);步驟2 將二分法的主

4、程序保存名為 erfen.m的M文件; 步驟3 在MATLAB工作窗口輸入程序 k,x,wuca,yx=erfen(a,b,abtol)三例題【例一】確定方程的實(shí)根的分布情況,并用二分法求在開(kāi)區(qū)間(-2,-1)內(nèi)的實(shí)根的近似值,要求精度為0.001. 解:(1)先用兩種方法確定方程的實(shí)根的分布情況。 方法1 作圖法 在MATLAB工作窗口輸入程序: x=-4:0.1:4;y=x.3-x+4;plot(x,y)grid,gtext(y=x.3-x+4)畫出函數(shù)的圖像,如圖1所示。從圖像可以看出,此曲線有兩個(gè)圖1 函數(shù)的圖像駐點(diǎn) 都在x軸的下方,在(-2,-1)內(nèi)曲線與x軸只有一個(gè)交點(diǎn),則該方程有

5、唯一一個(gè)實(shí)根,且在(-2,-1)內(nèi)。方法2 試算法在MATLAB工作窗口輸入程序 x=-4:1:4,y=x.3-x+4運(yùn)行后輸出結(jié)果: x =-4 -3 -2 -1 0 1 2 3 4 y = -56 -20 -2 4 4 4 10 28 64由于連續(xù)函數(shù)滿足,所以此方程在(-2,-1)內(nèi)有一個(gè)實(shí)根。(2)求方程在(-2,-1)內(nèi)的一個(gè)實(shí)根。用二分法的主程序計(jì)算a.建立名為 fun.m的M文件function y1=fun(x) y1=x.3-x+4;b.將二分法的主程序保存名為 erfen.m的M文件c.在MATLAB工作窗口輸入程序 k,x,wuca,yx=erfen(-2,-1,0.00

6、1)d.運(yùn)行后結(jié)果為ans =Columns 1 through 7 0 -2.0000 -1.0000 -1.5000 0.5000 -2.0000 4.0000Column 8 2.1250ans =Columns 1 through 7 1.0000 -2.0000 -1.5000 -1.7500 0.2500 -2.0000 2.1250 Column 8 0.3906ans = Columns 1 through 7 2.0000 -2.0000 -1.7500 -1.8750 0.1250 -2.0000 0.3906Column 8 -0.7168ans =Columns 1 t

7、hrough 7 3.0000 -1.8750 -1.7500 -1.8125 0.0625 -0.7168 0.3906Column 8 -0.1418ans =Columns 1 through 7 4.0000 -1.8125 -1.7500 -1.7813 0.0313 -0.1418 0.3906Column 8 0.1296ans =Columns 1 through 7 5.0000 -1.8125 -1.7813 -1.7969 0.0156 -0.1418 0.1296Column 8 -0.0048ans = Columns 1 through 7 6.0000 -1.79

8、69 -1.7813 -1.7891 0.0078 -0.0048 0.1296Column 8 0.0627ans =Columns 1 through 7 7.0000 -1.7969 -1.7891 -1.7930 0.0039 -0.0048 0.0627Column 8 0.0290ans =Columns 1 through 7 8.0000 -1.7969 -1.7930 -1.7949 0.0020 -0.0048 0.0290Column 8 0.0121ans =Columns 1 through 7 9.0000 -1.7969 -1.7949 -1.7959 0.001

9、0 -0.0048 0.0121Column 8 0.0037k =9x =-1.7959wuca =9.7656e-004yx =0.0037【例二】已知函數(shù)。用二分法迭代8次,尋找在閉區(qū)間1.5,2.5上的值滿足(函數(shù)用弧度計(jì)算),且求其絕對(duì)誤差和相對(duì)誤差。 解:(1)在MATLAB工作窗口輸入程序 x=1.5:0.001:2.5; f=x.*sin(2.*x)+1.5; plot(x,f),grid,gtext(f=x.*sin(2.*x)+1.5) 運(yùn)行后,畫出圖2,可見(jiàn)函數(shù)在1.5,2.5上有惟一一個(gè)零點(diǎn)。 圖2 函數(shù)的圖像(2)在MATLAB工作區(qū)輸入程序k=8; a=1.5; b

10、=2.5; abtol=(b-a)/(2(k+1) 運(yùn)行后得絕對(duì)誤差為abtol = 0.0020 (3)建立名為 fun.m的M文件 function y1=fun(x) y1=x.*sin(2.*x)+1.5;(4)在MATLAB工作窗口輸入程序 k,x,wuca,yx=erfen(1.5,2.5,0.0020)運(yùn)行后得ans =Columns 1 through 7 0 1.5000 2.5000 2.0000 0.5000 1.7117 -0.8973Column 8 -0.0136ans =Columns 1 through 71.0000 1.5000 2.0000 1.7500

11、0.2500 1.7117 -0.0136Column 8 0.8861ans =Columns 1 through 7 2.0000 1.7500 2.0000 1.8750 0.1250 0.8861 -0.0136Column 8 0.4283ans = Columns 1 through 7 3.0000 1.8750 2.0000 1.9375 0.0625 0.4283 -0.0136 Column 8 0.2030ans =Columns 1 through 7 4.0000 1.9375 2.0000 1.9688 0.0313 0.2030 -0.0136 Column 8

12、0.0933ans = Columns 1 through 7 5.0000 1.9688 2.0000 1.9844 0.0156 0.0933 -0.0136Column 8 0.0395ans =Columns 1 through 7 6.0000 1.9844 2.0000 1.9922 0.0078 0.0395 -0.0136 Column 8 0.0128ans =Columns 1 through 7 7.0000 1.9922 2.0000 1.9961 0.0039 0.0128 -0.0136Column 8 -0.0004ans =Columns 1 through 7

13、 8.0000 1.9922 1.9961 1.9941 0.0020 0.0128 -0.0004Column 8 0.0062k = 8x =1.9941wuca = 0.0020yx =0.0062(5)根據(jù)相對(duì)誤差公式 (3)編寫MATLAB程序 abtol=0.0020;xk=1.994140625;tol=abtol/abs(xk)運(yùn)行后得tol = 0.0010四結(jié)論 MATLAB在處理用二分法求解函數(shù)的近似根時(shí),方法簡(jiǎn)便,可靠,程序設(shè)計(jì)容易,并且具有很強(qiáng)的圖形功能,只需給出一些基本參數(shù)就能得到所需圖形,非常方便,圖文并貌,為學(xué)生學(xué)習(xí)數(shù)學(xué)提供了有力的輔助工具。通過(guò)完成本次的論文,使我對(duì)MATLAB這門課程有了進(jìn)一步的認(rèn)識(shí)和了解,它無(wú)論在數(shù)學(xué)還是在物理學(xué)當(dāng)中應(yīng)用都很廣泛,而且非常方便,在寫論文的過(guò)程中,雖然遇到了很多問(wèn)題,不過(guò)經(jīng)過(guò)自己的努力最終都一一解決了。 同時(shí)我也認(rèn)識(shí)到細(xì)心和認(rèn)真的重要性,而且一定要有耐心,總之,這次的論文使我學(xué)到了很多。五、心得體會(huì)經(jīng)過(guò)一學(xué)期緊張而有序的課程學(xué)習(xí),在忙碌之余也頗有收獲,我明白了MATLAB語(yǔ)言的優(yōu)點(diǎn):簡(jiǎn)潔,方便,易懂等等。同時(shí)也通過(guò)本次的課

溫馨提示

  • 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)論