How to find the point(s) when two plot curves cross?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello. I want to plot these 2 plots:
y_1=a*x+b;
y_2=a*(x^2);
and find to point where they meet? The exact values of x. This is my code so far, but I don't know how to finish the statement :
clc;
clear all;
a=5;
b=10;
x=linspace(0,10,50);
y_1=a*x+b;
y_2=(x.^2);
for i=1:length(x);
if(a*x+b==(x.^2));
printf(x)
end
end
plot(y_1);
hold on;
plot(y_2);
댓글 수: 0
답변 (1개)
Image Analyst
2018년 7월 1일
Use roots():
a=5;
b=10;
x=linspace(-4,10,50);
y_1=a*x+b;
y_2=(x.^2);
for i=1:length(x)
if(a*x+b==(x.^2))
printf(x)
end
end
plot(x, y_1,'b-', 'LineWidth', 2);
hold on;
plot(x, y_2),'c-', 'LineWidth', 2;
grid on;
xRoots = roots([1, -a, -b])
y1 = a * xRoots(1) + b;
y2 = a * xRoots(2) + b;
plot(xRoots, [y1, y2],'ro', 'LineWidth', 2, 'MarkerSize', 13);
댓글 수: 4
Image Analyst
2018년 7월 1일
You can use ismembertol() like the FAQ says, but why? What's wrong with using roots? Why deny yourself the simplest, one-line solution? Usually people don't ask and prefer to do things the more complicated less accurate way so I'm not sure why you do.
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!