Writing differential equation for plot

11 visualizaciones (últimos 30 días)
vaibhav gupta
vaibhav gupta el 5 de Dic. de 2020
Comentada: vaibhav gupta el 6 de Dic. de 2020
Can anyone help me how to write differential below equation for plot
d2x/dt2 = -sign(x + dx/dt)
I tried in below way and it is failing
ode = diff(x,t,2) == -sign(x + diff(x,t));

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 5 de Dic. de 2020
Try this
syms x(t)
d1x = diff(x);
d2x = diff(x,2);
ode = d2x == -sign(x + d1x);
cond = [x(0)==1 d1x(0)==0]
sol = dsolve(ode, cond)
This requires the Symbolic Math toolbox.
  5 comentarios
Ameer Hamza
Ameer Hamza el 6 de Dic. de 2020
fplot() is used when you want to plot a function handle or s symbolic function. On the other hand, plot() requires x, y data points. To use the plot() function here, you will need to define an x vector and calculate the y-values yourself. fplot() take cares of all these calculations
syms x(t)
d1x = diff(x);
d2x = diff(x,2);
ode = d2x == -sign(x + d1x);
cond = [x(0)==1 d1x(0)==0];
sol = dsolve(ode, cond);
xv = linspace(-5, 5);
yv = subs(sol, t, xv);
plot(xv, yv);
vaibhav gupta
vaibhav gupta el 6 de Dic. de 2020
Thank you for explaining difference. If i want to use ode45 function, how can i do that?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by