To find intersection point of two lines ?
82 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
x1=7.8;
x2=8.5;
y1=0.96;
y2=0.94;
p1 = polyfit([x1 x2], [y1 y2], 2);
b1= polyval(p1,1);
m1=polyval(p1,2)-b1;
x3=8.25;
x4=8.25;
y3=0;
y4=.99;
p2 = polyfit([x3 x4], [y3 y4], 2);
b2 = polyval(p2, 1);
m2 = polyval(p2, 2) - b2;
I got x value = -1.2867; from which co-ordinate this value corresponds to? Actually I want to compute intersection of two line with respect to x=[7.8 8.25 8.5]; y=[0.96 0.99 0.94]; over which those two lines are plotted?
x=[7.8 8.25 8.5];
y=[0.96 0.99 0.94];
p=polyfit(x,y,2);
f=polyval(p,x);
plot(x,y,'o',x,f,'-');
hold on;
line([7.8 8.5],[0.96 0.94]);
hold on;
line([8.25 8.25],[0 0.99]);
0 commentaires
Réponse acceptée
Friedrich
le 13 Avr 2013
Hi,
not sure if I understand correctly what you want but is this what you are looking for?
%line1
x1 = [7.8 8.5];
y1 = [0.96 0.94];
%line2
x2 = [8.25 8.25];
y2 = [0 0.99];
%fit linear polynomial
p1 = polyfit(x1,y1,1);
p2 = polyfit(x2,y2,1);
%calculate intersection
x_intersect = fzero(@(x) polyval(p1-p2,x),3);
y_intersect = polyval(p1,x_intersect);
line(x1,y1);
hold on;
line(x2,y2);
plot(x_intersect,y_intersect,'r*')
3 commentaires
Plus de réponses (1)
Matt J
le 6 Juil 2022
Modifié(e) : Matt J
le 6 Juil 2022
How do you solve a special case when the slope is 0, Inf or –Inf?
%line1
x1 = [7.8 8.5];
y1 = [0.5 0.5];
XY1=[x1;y1];
%line2
x2 = [8.25 8.25];
y2 = [0 0.99];
XY2=[x2;y2];
xy_intersect=linexlines2D( XY1(:,1), XY1(:,2) , XY2(:,1), XY2(:,2))
plot(xy_intersect(1),xy_intersect(2),'ro')
line(x1,y1);
line(x2,y2);
0 commentaires
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!