Plotting differential equations, need help

y = diff(sin(2*pi*t))./diff(t);
plot(t,y)
Remember diff() shortens the length of your vector by one so you will need to define a new time vector to plot against. ---- how do i do this?
thank you

 Respuesta aceptada

Yu Jiang
Yu Jiang el 6 de Oct. de 2014
plot(t(2:end),y)

8 comentarios

Andrew
Andrew el 6 de Oct. de 2014
yeah works for sin(), however when you try to do it for t^2. come sup with error.
Geoff Hayes
Geoff Hayes el 6 de Oct. de 2014
What is the error, and the line(s) of code that you are using?
using your fix for the plot(t(2:end),y), as plot(t,y) doesn't work
Error using diff
Difference order N must be a positive integer scalar.
y=diff(t,t);
plot(y,t)
returning an error
Yu Jiang
Yu Jiang el 6 de Oct. de 2014
Editada: Yu Jiang el 6 de Oct. de 2014
what is the t vector? What is the expected result from y=diff(t,t)?? This is different from you original post.
I tried the following on my machine, and it worked
t = linspace(-10,10,100);
y = diff(sin(2*pi*t))./diff(t);
plot(t(2:end),y)
Andrew
Andrew el 6 de Oct. de 2014
yeah it works, but when u integrate that technique into a different equation, it triggers an error.
Andrew
Andrew el 6 de Oct. de 2014
its ok, i fixed it. thanks for your help sir.
Yu Jiang
Yu Jiang el 6 de Oct. de 2014
You are welcome.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Numerical Integration and Differential Equations en Centro de ayuda y File Exchange.

Preguntada:

el 6 de Oct. de 2014

Comentada:

el 6 de Oct. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by