資源描述:
《計算方法_四階龍格庫塔法.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、clearall;x0=input('請輸入?yún)^(qū)間起點:');xn=input('請輸入?yún)^(qū)間終點:');h=input('請輸入步長:');Y(1)=input('請輸入初值y(x0):');N=(xn-x0)/h;fort=0:N+1X(t+1)=x0+t*h;endfori=1:N+1%以dy/dx=f(x,y)=-y+x+1為例!K1(i)=1-Y(i)+X(i);K2(i)=1-Y(i)-h*K1(i)/2+X(i)+h/2;K3(i)=1-Y(i)-h*K2(i)/2+X(i)+h/2;K4(i)=1-Y(i
2、)-h*K3(i)+X(i)+h;Y(i+1)=Y(i)+h/6*(K1(i)+2*K2(i)+2*K3(i)+K4(i));%數(shù)值解y(i)=exp(-X(i))+X(i);%精確解E(i)=abs(Y(i)-y(i));%截斷誤差endj=x0:h:xn;subplot(1,2,1);plot(X,Y,'b*',j,y,'r+');legend('數(shù)值解','精確解');subplot(1,2,2);plot(j,E,'b*');title('截斷誤差曲線');Y=vpa(Y,9)%輸出9位有效數(shù)字的數(shù)值解y=v
3、pa(y,9)%輸出9位有效數(shù)字的精確解E=vpa(E,7)%輸出7位有效數(shù)字的誤差值運行結(jié)果:(以dy/dx=f(x,y)=-y+x+1,0.1