How to find two local slopes in an arbitrary curve?
Show older comments
I am used Matlab to find a model from curves. So i am processing curvesand i have some difficult to find two local slopes?
For information i am not an expert in math.
Thanks for help!
Best regards
2 Comments
Azzi Abdelmalek
on 3 Jun 2013
This is not clear
Jan
on 3 Jun 2013
What does "processing curves" exactly mean? Do youz have two vector of x- and y_values? Or a sheet of paper with a hand-drawn line?
Answers (5)
Iain
on 3 Jun 2013
The general expression to calculate "slope" is (y2 - y1) / (x2 - x1)
If you have a vector of "y" values and "x" values of the same length, you can:
slope = diff(y) ./ diff(x);
slope_x_vals = (x(2:end) + x(1:end-1))/2;
plot(slope_x_vals,slope_y_vals)
If your y value is in metres, and your x value is in seconds, the units of "slope" is metres per second.
Body_sea
on 3 Jun 2013
0 votes
Jan
on 3 Jun 2013
0 votes
The gradient function calculates the slope in a fast and stable way.
Body_sea
on 3 Jun 2013
0 votes
Jules Ray
on 16 Jun 2015
0 votes
Use ginput (four in this case) to the boundaries or the limits that enclose both areas, for each area use for polyfit, and lineal interpolations, this allows estimates the slope but also the associated 2 sigma error of your measurements
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!