前几天本人遇到了一些难题,就是怎样求曲线的交点,不过现在找到了一些源程序,和与我遇到相同问题的朋友们分享一下!
转自《工程计算可视化与MATLAB实现》尚涛等编著 武汉大学出版社
两直线相交
function [X,Y]=pll(X1,Y1,X2,Y2)
% 直线相交求交点
A1=Y1(1)-Y1(2);
B1=X1(2)-X1(1);
C1=Y1(2)*X1(1)-Y1(1)*X1(2);
A2=Y2(1)-Y2(2);
B2=X2(2)-X2(1);
C2=Y2(2)*X2(1)-Y2(1)*X2(2);
D=det([A1,B1;A2,B2]);
X=det([-C1 B1;-C2 B2])/D;
Y=det([A1 -C1;A2,-C2])/D;
调用格式:
x1=[1 5];y1=[1 5];x2=[1 5];y2=[5,1];
[x,y]=pll(x1,y1,x2,y2);
plot(x1,y1,'r');
hold on
plot(x2,y2,'b');
plot(x,y,'ko');
直线与多条直线相交
xi=[1 2 3 4 5];yi=[2 6 3 6 1];
plot(xi,yi);hold on
x1=[1 5];y1=[4 5];line(x1,y1);
x=zeros(size(xi));
y=x;
for i&