How to calculate a numerical approximate derivative vector of a function?
이전 댓글 표시
I have a given formmula: Yprimenum(i) = (Y(i+1) – Y(i)) / ∆X, where ∆X is the X step length, or equivallently X(i) – X(i-1). And I also have two given functions: X= [0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 ] Y= [5 6 7 7.5 7.5 7.5 6.5 2.5 -5 -6 -6]
Now my task is to plot this function, Y, and calculate and plot the corresponding Yprimenum in the same graph. This is what I tried:
x= [0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 ]
y= [5 6 7 7.5 7.5 7.5 6.5 2.5 -5 -6 -6]
yprime=2.*x;
Yprimenum=zeros(1, length(x)-1);
for i= 1:length(x)-1;
Yprimenum(i)=(y(i+1)-y(i))./(x(i+1)-x(i));
end
figure;
hold on;
plot(x,y);
plot(x,yprime);
plot(x,Yprimenum(i));
hold off;
shg;
채택된 답변
추가 답변 (1개)
Andrei Bobrov
2014년 5월 31일
편집: Andrei Bobrov
2014년 5월 31일
x= [0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 ]
y= [5 6 7 7.5 7.5 7.5 6.5 2.5 -5 -6 -6]
Yprimenum = diff(y)./diff(x);
other variant
Yprimenum = gradient(y,x);
카테고리
도움말 센터 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!