Coding a solution to a second order ODE with ode45 or simulink

Please help! y''+by'+siny=0 -Plot the numerical solution of this differential equation with initial conditions y(0)=0, y'(0)=4, from t=0 to t=20 -Do the same for the linear approximation y''+by'+y=0 -Compare linear and nonlinear behavior for values b = 1, 1.5, 2

2 commentaires

Upload your code
syms t f
function fprime = pendulum(t, f) b = [1, 1.5, 2]; fprime = zeros(size(f)); fprime(1) = f(2); fprime(2) = -sin(f(1))-b*f(2); [t f] = ode45('pendulum', [0 20], [0 4]); plot(t,f(:,1)) end

Connectez-vous pour commenter.

 Réponse acceptée

madhan ravi
madhan ravi le 22 Oct 2018
Modifié(e) : madhan ravi le 22 Oct 2018
[t,f] = ode45(@pendulum, [0 20], [0 4]); % calling of the function
plot(t,f(:,1),'g')
hold on
plot(t,f(:,2),'r')
function fprime = pendulum(t, f)
b = 1; % b should be a scalar
fprime = zeros(size(f));
fprime(1) = f(2);
fprime(2) = -sin(f(1))-b*f(2);
fprime=[fprime(1);fprime(2)]
end

3 commentaires

madhan ravi
madhan ravi le 22 Oct 2018
Modifié(e) : madhan ravi le 22 Oct 2018
If something is not clear let know else accept the answer so that people know the question is solved
Is there a way I can plot a second equation on the same graph? Thank you.
see edited

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Multicore Processor Targets dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by