Azzera filtri
Azzera filtri

two coupled first oredr ODE plot

5 visualizzazioni (ultimi 30 giorni)
fartash2020
fartash2020 il 20 Giu 2018
Commentato: Torsten il 20 Giu 2018
Hi MATLAB users, I have been trying to solve a coupled first order ODE. I want to plot z(t) vs t. the time span from timespan=[0 30]. I would highly appreciate if anyone can guide me. so far I have:
% Constant parameters
DeltaE = 0 ;
omega = 0.1 ;
kesi = 8e-5 ;
Omega = 1e-2 ;
q = 1e-5 ;
% Initial Values
z0 = 0.15 ;
phi0 = (9/5)*pi ;
% undriven
epsilon = 0 ;
%%%driven
%%%epsilon =1e-3 ;
% equations
d(phi)/dt = (omega.*z) + (z./sqrt(1-z.^2)).*q.*cos(phi) + epsilon.*cos(t);
dz/dt = -sqrt(1-z.^2).*1.*sin(phi)+ kesi.*(d(phi)/dt);
Best, Fatemeh

Risposta accettata

Torsten
Torsten il 20 Giu 2018
% Constant parameters
DeltaE = 0 ;
omega = 0.1 ;
kesi = 8e-5 ;
Omega = 1e-2 ;
q = 1e-5 ;
% Initial Values
z0 = 0.15 ;
phi0 = (9/5)*pi ;
% undriven
epsilon = 0 ;
%%%driven
%%%epsilon =1e-3 ;
fun=@(t,y)[omega*y(2) + y(2)/sqrt(1-y(2)^2)*q*cos(y(1)) + epsilon*cos(t);-sqrt(1-y(2)^2)*sin(y(1))+ kesi*(omega*y(2) + y(2)/sqrt(1-y(2)^2)*q*cos(y(1)) + epsilon*cos(t))];
tspan = [0 30]
y0 = [phi0;z0];
[t,y] = ode45(fun,tspan,y0);
plot(t,y(:,2))
Best wishes
Torsten.
  4 Commenti
fartash2020
fartash2020 il 20 Giu 2018
if we change it like this
fun=@(t,y)[(omega/Omega)*y(2) + y(2)/sqrt(1-y(2)^2)*(q/Omega)*cos(y(1)) + (epsilon/Omega)*cos(t*Omega);-sqrt(1-y(2)^2)*sin(y(1))+ kesi*((omega/Omega)*y(2) + y(2)/sqrt(1-y(2)^2)*(q/Omega)*cos(y(1)) + (epsilon/Omega)*cos(t.*Omega))];
it would seem ok, right?
Torsten
Torsten il 20 Giu 2018
I can't tell since I don't know the differential equations you are trying to solve. All I can tell is that this system is different from the one you defined previously.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by