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

 Réponse acceptée

Yu Jiang
Yu Jiang le 6 Oct 2014
plot(t(2:end),y)

8 commentaires

Andrew
Andrew le 6 Oct 2014
yeah works for sin(), however when you try to do it for t^2. come sup with error.
Geoff Hayes
Geoff Hayes le 6 Oct 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 le 6 Oct 2014
Modifié(e) : Yu Jiang le 6 Oct 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 le 6 Oct 2014
yeah it works, but when u integrate that technique into a different equation, it triggers an error.
Andrew
Andrew le 6 Oct 2014
its ok, i fixed it. thanks for your help sir.
Yu Jiang
Yu Jiang le 6 Oct 2014
You are welcome.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations 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