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

 Akzeptierte Antwort

Yu Jiang
Yu Jiang am 6 Okt. 2014

1 Stimme

plot(t(2:end),y)

8 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Numerical Integration and Differential Equations finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 6 Okt. 2014

Kommentiert:

am 6 Okt. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by