我怎么能
为简单起见,我采用了两条非常基本的曲线:
我能够绘制曲线,但无法获得交点。请参见屏幕截图:
我已尝试过this问题中提出的解决方案,但这些解决方案都不适用于我。
答案 0 :(得分:1)
问候用户。如果我可能会问,您的目标是获得精确点 相交这两个函数,或最近点到交点点? (后者使用近似值)
这是一个想法:
1)如果您的离散化:x=0:0.05:2;
确实包含交叉点点,则可以在Matlab中使用intersect
函数。
例如
intersect([1,2,3],[4,3,1])
将返回一个包含两个元素1
和3
的向量,这两个向量的交集。
找到交点是为了找到点x,使得y1(x)= y2(x)。所以申请
yin = intersect(y1,y2);
在此之后,由于您的x
已排序,因此您应该检查yin
和{{1}中相同索引的y1
中的值}}。
满足该条件的值是y轴上的交点。
2)如果y2
不包含x轴的交点,则使用数值方法。找到x
的根。 (或g(x)= y2(x)-y1(x)= 0的点,因为这与y1(x)= y2(x)相同)
你可以先试试这些。希望这会有用。感谢。