clrk4.m

来自「Advanced Engineering Mathematics using M」· M 代码 · 共 25 行

M
25
字号
function [T,Y]=clrk4(f,a,b,m,y0)% CALL: [T,Y]=clrk4(f,a,b,m,y0) solves Ydot=f(T,Y) on t=[a,b].% INPUTS: f M-file defining input function; interval a,b; %         m points in interval; y0 initial value% OUTPUTS: T abscissa, Y solution by 4th order Runge-Kutta methodh=(b-a)/(m-1); 	% Step sizeT=zeros(m,1);   % Column vector of time pointsY=zeros(m,1);   % Column vector of solution pointsT(1)=a;Y(1)=y0;for I=1:m-1;      % There are m-1 steps and m points  	 tI=T(I);         %  - step through m-1 intervals yI=Y(I); k1=h*feval(f,tI,yI);          % Runge-Kutta coefficients k2=h*feval(f,tI+h/2,yI+k1/2); k3=h*feval(f,tI+h/2,yI+k2/2);  	 k4=h*feval(f,tI+h,yI+k3); Y(I+1)=yI+(k1+2*k2+2*k3+k4)/6; T(I+1)=a + h*I;  % Next time stepend%% Version 5 Changed T,Y to column vectors%

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?