请问怎样在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之间的交点的确切坐标?
展开
 我来答
tianxiawulang
推荐于2017-12-16 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2677万
展开全部

首先需要明确:用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)

 

 

更多追问追答
追问

非常感谢您的回答,那如果我得到了一系列的[x,y]值(plot出以后如上图中间的那根黄线),我想要得到黄线与红线(同样也是y=x+25)的交点的确切坐标,请问应该怎么办呢?

追答
你的意思是不是说,数据点很多,不太适合先画图判断和哪段相交再计算具体坐标,而是给定一组坐标,直接由程序作判断并计算吗?
另外,我看你的那根红线不像是y=x+25或y=x-25啊?是使用图像坐标(y轴逆向)?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式