how to draw a trajectory
14 次查看(过去 30 天)
显示 更早的评论
Hi
i have a differential equation like this:
x'' + x + x^2 = 0
its a chaos problem and i want to display the trajectories.it has two fix point, a saddle at (-1,0) and a repellor at (0,0).
we can transform the equation to ODE by this:
x'= y
y'= -x -x^2
采纳的回答
Mischa Kim
2014-4-22
Mostafa, try something like
function my_phase()
IC = rand(10,2);
hold on
for ii = 1:length(IC(:,1))
[~,X] = ode45(@EOM,[0 2],IC(ii,:));
x = X(:,1);
y = X(:,2);
plot(x,y,'r')
end
xlabel('x')
ylabel('y')
grid
end
function dZ = EOM(t, z)
dZ = zeros(2,1);
x = z(1);
y = z(2);
dZ = [ y;...
- x - x^2];
end
You can use the IC vector to place the initial conditions to specifically show the dynamics around the fixed points.
3 个评论
Mischa Kim
2014-4-22
As I pointed, use the IC vector, e.g.,
IC = bsxfun(@plus, [-1 0], rand(100,2)-0.5*ones(100,2));
You probably need to zoom to display the interesting part of the plot.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!