資源描述:
《分法和牛頓迭代法求解方程的比較》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、二分法和牛頓迭代法求解方程的比較200822401018徐小良一、問題敘述求解的解;通過編寫matlab程序分別用分析二分法和牛頓迭代法求解方程,通過兩種方法的比較,分析二者求解方程的快慢程度。二、問題分析由matlab畫圖命令,容易得到此方程解的范圍為(2,4);兩種迭代方法,在使用相同的誤差(0.00001)的情況下,得出matlab迭代次數(shù),通過次數(shù)的比較得出二者求解速度快慢比較。三、實驗程序及注釋(1)、二分法程序:clear;%清除所有內(nèi)存數(shù)據(jù);f=inline('12-3*x+2*cos(x)');f
2、ormatlong%數(shù)據(jù)顯示格式設(shè)為長型;a=2;b=4;%求解區(qū)間;er=b-a;ya=f(a);k=0;er0=0.00001;%誤差分析;whileer>er0x0=.5*(a+b);y0=f(x0);ifya*y0<0b=x0;%二分法求解程序;elsea=x0;ya=y0;enddisp([a,b]);er=b-a;k=k+1%顯示各個區(qū)間值和求解次數(shù);enddisp([a,b]);%顯示最后一個區(qū)間值;(2)、牛頓迭代法程序:clear;%清除所有內(nèi)存數(shù)據(jù);f=inline('12-3*x+2*cos
3、(x)');formatlong%數(shù)據(jù)顯示格式設(shè)為長型;b=3;a=4;k=0;%求解區(qū)間;y0=f(b);y=f(a);whileabs(b-a)>0.00001t=a-y*(a-b)/(y-y0);b=a;y0=y;%牛頓迭代法求解程序;a=t;y=f(a);k=k+1;disp([b,a]);k%顯示各個區(qū)間值和求解次數(shù);enddisp([b,a]);%顯示最后一個區(qū)間值;一、實驗數(shù)據(jù)結(jié)果及分析表1:二分法程序結(jié)果迭代次數(shù)區(qū)間值:a區(qū)間值:b13.000000000000003.50000000000000
4、23.250000000000003.5000000000000033.250000000000003.3750000000000043.312500000000003.37500000000000......…………143.347351074218753.34741210937500153.347381591796883.34741210937500163.347396850585943.34741210937500173.347396850585943.34740447998047183.3473968505
5、85943.34740447998047表2:牛頓迭代法程序結(jié)果迭代次數(shù)區(qū)間值:b區(qū)間值:a13.438282138662913.3199556816049223.319955681604923.3483632970400433.348363297040043.3474127204823343.347412720482333.3474028396087953.347412720482333.34740283960879二、實驗結(jié)論通過表1可知,在二分法下,程序迭代了17次后和第18次的結(jié)果一致,即程序迭代了17次
6、達到要求的試驗誤差;通過表2可知,在牛頓迭代法下,程序迭代了4次后和第5次的結(jié)果一致,即程序迭代了4次達到要求的試驗誤差;二者比較明顯可以看出牛頓迭代法的求解效率要遠遠優(yōu)于二分法。多面體旋轉(zhuǎn)實驗200822401018徐小良一、問題敘述:編寫matlab程序?qū)崿F(xiàn)對正立方體的旋轉(zhuǎn),并用適當?shù)姆椒▉眚炞C程序設(shè)計的正確性。二、問題分析:使用相對應(yīng)的三個正交矩陣即可實現(xiàn)對三位圖形進行各個方向的旋轉(zhuǎn),在此不再贅述。,,使用moviein命令,就可以對原正立方體和旋轉(zhuǎn)以后的三位圖形進行全方位的觀測;為觀測的方便,可在立方體各
7、個面上涂不同的顏色加以區(qū)分。三、試驗程序以及注釋:(1)、主題函數(shù):clear;%清除以前所有數(shù)據(jù),以防干擾[X,Y,Z]=peaks(30);m=moviein(30);%撲捉相關(guān)畫面B0=[000;100;110;010;001;101;111;011];n=8;%延時相關(guān)因子view(-25,16);B=B0;cube(B);fori=1:30view(10*(i-1),10*(i-1))%設(shè)置觀測點m(:,i)=getframe;%觀察立方體delay(n);%延時一定時間,以便觀測endQz=[cos(
8、pi/2)-sin(pi/2)0;sin(pi/2)cos(pi/2)0;001];Qy=[cos(-pi/4)0sin(-pi/4);010;-sin(-pi/4)0cos(-pi/4)];Qx=[100;0cos(pi/4)-sin(pi/4);0sin(pi/4)cos(pi/4)];B=B*Qz';cube(B);B=B*Qz';cube(B);%立方體旋轉(zhuǎn)B=B