Plotting a line through 2 points

Hello,
I have a file with a difference in acceleration between 2 conditions, filename is 'ad'. I need to draw a line through 25% and 75% of the max of this data and then find the x-position where this line intercepts the x-axis.
As an illustration, this is what I want to do: http://tinypic.com/r/rab7te/5
Any help is appreciated, thanks.

 采纳的回答

Image Analyst
Image Analyst 2013-10-1

0 个投票

Use the line() function. Just figure out the two endpoints, which shouldn't be very hard at all. Use "hold on" before you call line() so that you don't blow away the curve.

5 个评论

Sorry, but I don't understand what you mean. Could you please explain further? I have the x and y points at 25 and 75% of the max, how do I proceed?
To draw a line between just those two points, you'd do
line([x25, x75], [y25, y75], 'Color', 'r', 'LineWidth', 3);
If you want to extend it past those points a short distance, then just recall high school algebra and the formula for a line:
slope = (y75-y25)/(x75-x25);
xLeft = 80; % Whatever x value you want.
yLeft = slope * (xLeft - x25) + y25;
xRight = 100; % Whatever x value you want.
yRight = slope * (xRight - x25) + y25;
line([xLeft, xRight], [yLeft, yRight], 'Color', 'r', 'LineWidth', 3);
That seems to do it, thanks a lot!
Does this works for vertical lines too? i.e. if both values of x is the same?
Yes. Just try it. And there is a new function xline() if you want the line to run all the way across the entire distance in y, instead of just between two points inside the axes.
xline(xLeft, 'Color', 'r', 'LineWidth', 3);

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Graphics Object Properties 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by