请问怎样在matlab中得到直线方程与plot出的曲线之间的交点坐标
我现在有一系列的[x,y]值如下x=[1,113,334,361,440,964,964,1];y=[1,107,324,323,400,400,471,471];请问怎...
我现在有一系列的[x,y]值如下
x=[1,113,334,361,440,964,964,1];
y=[1,107,324,323,400,400,471,471];
请问怎样得到这一系列[x,y]值plot出的曲线与y=x-25之间的交点的确切坐标? 展开
x=[1,113,334,361,440,964,964,1];
y=[1,107,324,323,400,400,471,471];
请问怎样得到这一系列[x,y]值plot出的曲线与y=x-25之间的交点的确切坐标? 展开
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)
更多追问追答
追答
你的意思是不是说,数据点很多,不太适合先画图判断和哪段相交再计算具体坐标,而是给定一组坐标,直接由程序作判断并计算吗?
另外,我看你的那根红线不像是y=x+25或y=x-25啊?是使用图像坐标(y轴逆向)?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询