MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply TodayTo resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Asked by S on 6 Apr 2013

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]);

*No products are associated with this question.*

Answer by Friedrich on 13 Apr 2013

Accepted answer

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*')

## 0 Comments