Finding slope from a 2D plot

107 次查看(过去 30 天)
adrooney
adrooney 2014-12-7
I have plotted a group of points using plot(x,y) command. The plot is non linear. I attached a picture with a line drawn on the linear side of the graph. Give me an idea of how to find the slope.
  2 个评论
Star Strider
Star Strider 2014-12-7
Obvious question: Slope of what ?
Four possibilities:
  1. The slope of the line from about 0 to about 0.5 ...
  2. The slope of the relatively linear descending part of the curve between about 1 and 3.75 ...
  3. The descending part of the loop ...
  4. The ascending part of the loop ...
... or something else?
adrooney
adrooney 2014-12-7
sorry to draw the line. I'm attaching a picture with the line.(it is on the ascending part of the loop). What I have done is created a dummy point in the third quadrant and drew the line. I need to find the slope and intersection. Can I do it in matlab?

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2014-12-7
I see 4 lines. Anyway, extract the x and y coordinates that you want to fit a line to, then use polyfit:
coefficients = polyfit(x, y, 1);
% Now get the slope, which is the first coefficient in the array:
slope = coefficients(1);
  6 个评论
adrooney
adrooney 2014-12-7
Ok thanks I'll try doing that. One more doubt can't we plot grid lines on the plot and all the four quadrants?
Image Analyst
Image Analyst 2014-12-7
You can use
grid on;
or you can use line() to draw lines at certain, specific places.
xl = xlim();
yl = ylim();
% Draw quadrant dividing lines
xLine = (x(1)+x(2))/2;
yLine = (y(1)+y(2))/2;
% Draw vertical line
line([xLine, xLine], yl, 'Color', 'r', 'LineWidth', 2);
% Draw horizontal line.
line(xl, [yLine, yLine], 'Color', 'r');

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by