如何解决方案的代码跳diff. eq.离散点吗?

2视图(30天)
我做了一个matlab程序对脉冲微分方程的解决方案。解决方案万博 尤文图斯在下列顺序跳。
在哪里 , N_0 , \ Gamma_a 是恒定的价值观和 “l” 是自然数。我需要给跳转到上面的解决方案的点序列。我困惑如何去做。请帮助我。
函数impulse_diff
clc;
关闭所有;
%的步骤大小
t0 = 0;
tfinal = 5;
h = 0.01;
n =装天花板((tfinal-t0) / h) + 1;
%初始条件
% s (1) = 0.5;
%θ= 0.01;
% N0 = 2;
% Ta = 0.7;
% b = N0 * (Ta-theta) +θ;
x1 (1) = 5;
x2 (1) = 3;
t (1) = 0;
%函数处理
Fx1 = @ (t (x1, x2) 1/2 * x1-x1。^ 3 + x1, x2。^ 2 - ((x1, x2 ^ 2 +。^ 2) ^ 1/4)。*标志(x1);
Fx2 = @ (t (x1, x2) 1/2 * x2。^ 3 x2。* x1。^ 2 - ((x1, x2 ^ 2 +。^ 2) ^ 1/4)。*标志(x2);
i = 1: n
t (i + 1) = t(我)+ h;
%如果(mod(我,N0) = = 0)
% h = b;
% t (i + 1) = (1) + h;
其他的%
% h =θ;
% t (i + 1) = (1) + h;
%结束
%更新x1和x2
k1x1 = Fx1 (t (i), x1 (i), x2(我));
k1x2 Fx2 = (t (i) x1 (i), x2(我));
k2x1 = Fx1 (t(我)+ h / 2 x1 (i) + h / 2 * k1x1, x2 (i) + h / 2 * k1x2);
k2x2 Fx2 = (t(我)+ h / 2 x1 (i) + h / 2 * k1x1, x2 (i) + h / 2 * k1x2);
k3x1 = Fx1 (t(我)+ h / 2 x1 (i) + h / 2 * k2x1, x2 (i) + h / 2 * k2x2);
k3x2 Fx2 = (t(我)+ h / 2 x1 (i) + h / 2 * k2x1, x2 (i) + h / 2 * k2x2);
k4x1 = Fx1 (t (i) + h, x1(我)+ h * k3x1, x2(我)+ h * k3x2);
k4x2 Fx2 = (t(我)+ h, x1(我)+ h * k3x1, x2(我)+ h * k3x2);
x1 (i + 1) = x1(我)+ h / 6 * (k1x1 + 2 * k2x1 + 2 * k3x1 + k4x1);
x2 (i + 1) = x2(我)+ h / 6 * (k1x2 + 2 * k2x2 + 2 * k3x2 + k4x2);
结束
%的阴谋
情节(t, x1);
持有;
情节(t, x2);
% xlim ([0, tfinal]);
% ylim ([6 6]);
结束

答案(0)

类别

找到更多的在编程帮助中心文件交换

s manbetx 845


释放

R2017a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!