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

Dennis
Dennis 2013년 10월 1일
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);
Dennis
Dennis 2013년 10월 1일
That seems to do it, thanks a lot!
ErnestoE
ErnestoE 2020년 9월 15일
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에 대해 자세히 알아보기

태그

질문:

2013년 10월 1일

댓글:

2020년 9월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by