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

 채택된 답변

Yu Jiang
Yu Jiang 2014년 10월 6일

1 개 추천

plot(t(2:end),y)

댓글 수: 8

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Numerical Integration and Differential Equations에 대해 자세히 알아보기

질문:

2014년 10월 6일

댓글:

2014년 10월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by