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

1 件のコメント

mostafa
mostafa 2014 年 4 月 22 日
if true
x0 = input('Enter the initial position [x y] - ');
tspan=[0,10*pi];
[t,x]=ode45(@simple,tspan,x0,[]);
plot(x(:,1),x(:,2));
title('Lorenz Model Trajectory XZ')
xlabel('X')
ylabel('Z')
end
but it give me error. i write equations in simple.m .

サインインしてコメントする。

 採用された回答

Mischa Kim
Mischa Kim 2014 年 4 月 22 日

1 投票

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 件のコメント

mostafa
mostafa 2014 年 4 月 22 日
it shows me only the repellor one around the zero. how can i see the saddle one??
Mischa Kim
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.
mostafa
mostafa 2014 年 4 月 22 日
thanks a lot. i got it

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangePhysics についてさらに検索

質問済み:

2014 年 4 月 22 日

コメント済み:

2014 年 4 月 22 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by