MATLAB中的交点
我怎么能MATLAB中的交点,matlab,plot,graph,intersection,Matlab,Plot,Graph,Intersection,我怎么能 在MATLAB中绘制两条曲线的交点 并以编程的方式获得它的数学形式 为简单起见,我采用了两条非常基本的曲线: y=x y=cos(x) 我能够绘制曲线,但无法获得交点。请参见屏幕截图: 我已经尝试过有问题的解决方案,但没有一个对我有效。尊重用户。如果我可以问一下,您的目标是获得与这两个函数相交的精确点,或者是距离相交点最近的点?(后者使用近似值) 这里有一个想法: 1)如果离散化:x=0:0.05:2不包含交点,可以使用Matlab中的intersect函数 比如说 inte
- 在MATLAB中绘制两条曲线的交点
- 并以编程的方式获得它的数学形式
- y=x
- y=cos(x)
我已经尝试过有问题的解决方案,但没有一个对我有效。尊重用户。如果我可以问一下,您的目标是获得与这两个函数相交的精确点,或者是距离相交点最近的点?(后者使用近似值) 这里有一个想法: 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
中的值,该值在y1
和y2
中都具有相同的索引
满足该条件的值是y轴上的交点
2)如果您的x
不包括x轴上的交点,则使用数值方法。查找y2-y1
的根。(或g(x)=y2(x)-y1(x)=0的点,因为这与y1(x)=y2(x)相同)
你可以先试试这些。希望这将是有用的。谢谢。试试idx=find((y2-y1)==min(abs(y2-y1)),1)
。这并不意味着您的函数如Arief所解释的那样是真正交叉的,但会找到它们最接近交叉的位置。