I am unable to run this program.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
second_oder_ode
function second_oder_ode
% SOLVE d^2x2/dt^2 = (k(Asin(wt)-x2)-cA(dx/dt)/h)/m
% initial conditions: x(0) = 0, x'(0)=0
t=0:0.001:1;% time scale
initial_x = 0;
initial_dxdt = 0;
c=0.001;
h=0.01;
k=100;
m=1;
w=10;
A=2;
[t,x]=ode45( @rhs, t, [initial_x initial_dxdt] );
plot(t,x(:,1));
xlabel('t'); ylabel('x');
function dxdt=rhs(t,x)
dxdt_1 = x(2);
dxdt_2 = (k*(A*sin(w*t)-x)-(c*A/h)*x(2))/m;
dxdt=[dxdt_1; dxdt_2];
end
end
1 Commento
Dyuman Joshi
il 27 Gen 2024
Please share the mathematical definition of the equation you are trying to solve.
Risposta accettata
Sam Chak
il 27 Gen 2024
Hi @Puja
I've indicated the location where you should apply a fix to it.
second_oder_ode
function second_oder_ode
% SOLVE d^2x2/dt^2 = (k(Asin(wt)-x2)-cA(dx/dt)/h)/m
% initial conditions: x(0) = 0, x'(0)=0
t=0:0.001:1;% time scale
initial_x = 0;
initial_dxdt = 0;
c=0.001;
h=0.01;
k=100;
m=1;
w=10;
A=2;
[t,x]=ode45( @rhs, t, [initial_x initial_dxdt] );
plot(t,x(:,1));
xlabel('t'); ylabel('x');
function dxdt=rhs(t,x)
dxdt_1 = x(2);
dxdt_2 = (k*(A*sin(w*t)-x(1))-(c*A/h)*x(2))/m;
% ^^^^
dxdt=[dxdt_1; dxdt_2];
end
end
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!