Runge-Kutta 4th order method for two variable
11 次查看(过去 30 天)
显示 更早的评论
clc
clear
syms x1 x2
a=3;
b=5;
c=7;
d=2;
t(1)=0;
X1(1)=1;
X2(1)=-1;
TG=5;
n=100;
h=(TG-t(1))/n;
fx1=inline(x2);
fx2=inline(-a*x1+b*x1^2);
for i=1:n
K1_1=h*fx1(X2(i));
K2_1=h*fx1(X2(i)+K1_1/2);
K3_1=h*fx1(X2(i)+K2_1/2);
K4_1=h*fx1(X2(i)+K3_1);
X1(i+1)=X1(i)+(1/6)*(K1_1+2*K2_1+2*K3_1+K4_1);
K1=h*fx2(X1(i));
K2=h*fx2(X1(i)+K1_1/2);
K3=h*fx2(X1(i)+K2_1/2);
K4=h*fx2(X1(i)+K3_1);
X2(i+1)=X2(i)+(1/6)*(K1+2*K2+2*K3+K4);
t(i+1)=t(i)+h;
disp(' ')
disp(['t(',num2str(i),'): ',num2str(t(i+1))])
disp(['X1(',num2str(i),'): ',num2str(X1(i+1))])
disp(['X2(',num2str(i),'): ',num2str(X2(i+1))])
end
disp(' ')
subplot(1,3,1)
plot(t,'r--*')
title('t')
subplot(1,3,2)
plot(X1,'-.o')
title('X1')
subplot(1,3,3)
plot(X2,'-.*')
title('X2')
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Subplots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!