How can I interpolate x and y data points in plot and slope (dy/dx) at any value of x?
조회 수: 5 (최근 30일)
이전 댓글 표시
clear all
clc
x=[15 20 25 30 35 40 45 50 55];
y=[11.89 11.845 11.85 11.855 11.865 11.93 12.01 12.2 12.77];
plot(x,y)
댓글 수: 0
채택된 답변
Torsten
2023년 2월 27일
편집: Torsten
2023년 2월 27일
x=[15 20 25 30 35 40 45 50 55];
y=[11.89 11.845 11.85 11.855 11.865 11.93 12.01 12.2 12.77];
% Approximate dy/dx
dy = gradient(y,5);
hold on
yyaxis left
plot(x,y)
ylabel('y vs. x')
yyaxis right
plot(x,dy)
ylabel('dy/dx vs. x')
hold off
grid on
% interpolate y and dy/dx at x=x0
x0 = 22;
y0 = interp1(x,y,x0)
dy0 = interp1(x,dy,x0)
댓글 수: 3
Torsten
2023년 2월 27일
편집: Torsten
2023년 2월 27일
But you also didn't give us an equation for y in terms of x ... So isn't it natural that you also only get dy/dx as a vector of 9 values from the command dy = gradient(y,5) and that you have to interpolate between the values to get y and dy/dx for some given value of x in between 15 and 55 ?
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!