【发布时间】:2021-07-29 01:57:38
【问题描述】:
我正在尝试访问 ode45 提供的当前解决方案。我见过的所有例子,他们解决了颂歌,然后存储解决方案以供进一步操作。虽然这是一个替代解决方案,但我需要在每次迭代时访问该解决方案,以便我可以为动画目的绘制它们。这是简单摆的代码。
clear
clc
theta0 = [pi/2; 0];
tspan = [0 10];
[t, theta] = ode45(@odeFun, tspan, theta0);
plot(t, theta(:,1));
function dydx = odeFun(t, theta)
g = 9.8;
l = 1;
dydx = zeros(2, 1);
dydx(1) = theta(2);
dydx(2) = -g/l*theta(1);
end
我的目标是实现以下目标
clear
clc
theta0 = [pi/2; 0];
t=0;
while t < 10
[t, theta] = ode45(@odeFun, ..., ...);
plot(t,theta)
drawnow
t = t + 0.1;
end
[t, theta] = ode45(@odeFun, tspan, theta0);
plot(t, theta(:,1));
function dydx = odeFun(t, theta)
g = 9.8;
l = 1;
dydx = zeros(2, 1);
dydx(1) = theta(2);
dydx(2) = -g/l*theta(1);
end
【问题讨论】: