function y = rk4( tspan, y0, nt, n)
y = zeros(nt, n);
y(1, :) = y0;
h = ( tspan(2) - tspan(1) ) / nt;
for i = 1:nt
t = tspan(1) + (i-1)*h;
k1 = dydt( t, y0, n );
k2 = dydt( t + 0.5* h, y0 + 0.5* h .* k1, n );
k3 = dydt( t + 0.5* h, y0 + 0.5* h .* k2, n );
k4 = dydt( t + h, y0 + h .* k3, n );
y(i+1, :) = y(i, :) + h / 6 * ( k1 + 2*k2 + 2* k3 + k4);
end
end
function y = dydt( t, y0, n )
%UNTITLED 此處顯示有關此函式的摘要
% 此處顯示詳細說明
sigma = 10;
rho = 28;
beta = 8/3;
y = zeros(1,n);
y(1) = sigma * (y0(2) - y0(1) ) ;
y(2) = y0(1) * (rho - y0(3) ) - y0(2) ;
y(3) = y0(1) * y0(2) - beta * y0(3) ;
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/207313.html
標籤:匯編語言
