# finding the slope of each segement in a fitted curve

조회 수: 3(최근 30일)
Salma fathi 2022년 4월 13일
댓글: Salma fathi 2022년 4월 14일
having the following plot,
Is there a method that would allow me to find the slope of each segment in this plot or at least, how I cann retrieve the x , y coordinates for the points on the plot so I can use them to find the slope?
attached is the data I am fitting, the x coordinate is GDALT variable and the y coordinate is the NE variabel. I used the curve fitting toolbox to generate this plot.
##### 댓글 수: 3표시 이전 댓글 수: 2숨기기 이전 댓글 수: 2
Salma fathi 2022년 4월 14일
편집: Salma fathi 2022년 4월 14일
Thank you for your reply, I believe I can do that also by using interpolating via 'cubic spline' instead of 'linear' in the curve fitting toolbox and it would give the same result right?
But I am still not sure how this will help me in finding the slope at the indicated points in the plot...

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

### 채택된 답변

Chunru 2022년 4월 14일
idx = isnan(T.NE);
T(idx, :) = [];
x = T.GDALT;
y = T.NE;
plot(x, y, 'o-')
% The slope for each segment
slope = diff(y)./diff(x)
slope = 15×1
1.0e+10 * 0.1733 0.4733 1.0267 1.1600 0.8067 0.3600 -0.1067 -0.3467 -0.4267 -0.4267
##### 댓글 수: 1표시 없음숨기기 없음
Salma fathi 2022년 4월 14일
Thank you for the help.

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

### 추가 답변(1개)

Akira Agata 2022년 4월 14일
By applying interpolation, you can decrease and, as a result, the deviation will be more accurate.
The following is an example.
BTW, you don't need to use Curve Fitting Toolbox for interpolation. The function interp1 is in the basic MATLAB.
idx = isnan(T.NE);
T(idx, :) = [];
x = linspace(T.GDALT(1), T.GDALT(end));
y = interp1(T.GDALT, T.NE, x, 'spline');
dy = diff(y)/uniquetol(diff(x));
figure
yyaxis left
plot(T.GDALT, T.NE, 'bo')
hold on
plot(x, y, 'b-')
xlabel('NE')
ylabel('GDALT')
yyaxis right
plot(x(1:end-1),dy)
ylabel('\Delta GDALT / \Delta NE')
legend({'Original', 'Smoothed', 'Slope'})
##### 댓글 수: 1표시 없음숨기기 없음
Salma fathi 2022년 4월 14일
Thank you for the great explanation, I have a better understanding now. Much appreciated.

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

### 범주

Find more on Line Plots in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by