MATLAB中怎么求两条曲线的交点并标注

如题所述

1、利用plot()绘制两条颜色不同、线型不同的曲线,y1和y2有几个交点。x=0:pi/100:4*pi;y1=sin(x);y2=cos(x);plot(x,y1,'g--',x,y2,'b')

2、取y1,y2相等点的坐标,并将两条曲线相等的点表示为y3。x1=x(k);y3=sin(x1);

3、将y3与前面的y1,y2合并得到两条曲线相交的点。plot(x,y1,'g--',x,y2,'b',x1,y3,'rp')

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-06

1、我们利用MATLAB求下图双曲线方程x^2/4^2-y^2/3^2=1和直线方程y=1/2*x+1的交点。

2、启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如图代码。

3、保存和运行上述代码,在命令行窗口返回如下结果,也就是说,双曲线方程x^2/4^2-y^2/3^2=1和直线方程y=1/2*x+1有两个交点,分别为(7.4788, 4.7394)和(-4.2788, -1.1394)。

4、在第二步脚本的基础上,绘制出双曲线方程、直线方程的图像,并标出它们的两个交点。只需在脚本编辑区接着输入如下代码。

5、保存和运行上述改进后的脚本,得到双曲线方程x^2/4^2-y^2/3^2=1和直线方程y=1/2*x+1的图像,并且标出了它们的两个交点(7.4788, 4.7394)和(-4.2788, -1.1394)。

本回答被网友采纳
第2个回答  推荐于2017-09-09

求解思路:

第一步:建立自定义函数文件,tx_fun.m。文件包含两条曲线函数方程。

第二步:用fsolve()函数,求解两条曲线的交点。

第三步:用plot()函数,画出两条曲线

第四步:用text()函数,在两条曲线的交点附近标注交点坐标值

第3个回答  2018-07-27

解题方法

    建立自定义函数文件,tx_fun.m。文件包含两条曲线函数方程。

    用fsolve()函数,求解两条曲线的交点。

    用plot()函数,画出两条曲线。

    用text()函数,在两条曲线的交点附近标注交点坐标值。

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

它可以用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。我曾经用它做运筹学方面的多维线性规划,只需编好程序,把相关数据输进去,结果就出来了,效率超高的。

本回答被网友采纳
第4个回答  2012-06-15
那要看你的两条曲线是不是已知函数表达式的——
1. 对于两条曲线都是显示函数的,可以直接求出交点,然后用matlab绘点标注即可;
2. 如果两条曲线至少有一条是隐函数描述的,那么可以用近似求根,比如fsolve,fzero等函数求交点。

如果两条中至少有一条是离散点连接起来的曲线,而其解析表达式未知。那么可以用下面的方法求,而且这种方法对于上面1. 2.都有效。

原理很简单,离散点依次相连形成的曲线,其交点都在两条小直线段上,利用计算几何学中的判断“两线段相交”的方法(快速排斥和跨立试验),然后经过两层循环依次求出每个线段跟另一条曲线的所有线段的交点。

具体实例在 http://www.ilovematlab.cn/thread-167242-1-1.html
上述链接中的4楼给出了函数文件来解决这类问题。本回答被网友采纳
相似回答