请问怎样在matlab中得到直线方程与plot出的曲线之间的交点坐标

2024-12-23 14:09:20
推荐回答(1个)
回答1:

首先需要明确:用plot画图其实是折线图,即每相邻两点之间用直线连接。

画出图形来,从图中可见,有两个交点:

一个交点位于折线的最后一段,纵坐标已知为471,则横坐标易得x=y+25=496;

另一个交点位于点(334,324)和(361,323)连接的折线上,可以使用solve求解得到(9422/27, 8747/27)。

参考代码:

x=[1,113,334,361,440,964,964,1];

y=[1,107,324,323,400,400,471,471];

plot(x,y,'.-')

x1=[0 1000];

y1=x1-25;

hold on

plot(x1,y1,'r')

 

y2=471;

x2=y2+25;

[x3,y3]=solve('y=324+(323-324)/(361-334)','y=x-25');

x3=double(x3);y3=double(y3);

plot([x2, x3],[y2,y3],'mo')

 

legend('plot数据','y=x-25', '交点',2)