作业帮 > 数学 > 作业

matlab中两数组按线性拟合后的交点怎样求解?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/22 05:20:28
matlab中两数组按线性拟合后的交点怎样求解?
如x1=[1,2,3,4]; y1=[1,2,3,4]; x2=[0,1,2,3];y2=[4,3,2,1];求交点
既然做好了线性拟合,那就得到了两组点斜式方程,这里不考虑什么平行之类的奇怪情况了,直接列方程:
y = k_1*x + b_1 = k_2*x + b_2 => x = (b_2-b_1)/(k_1-k_2) => y = k_1*x+b_1
根据上面的式子就得到交点坐标x和y了.
再问: 曲线是任意离散的点组成的,例子给的比较特殊,我做实验中的数据,不能用方程给出
再答: 我说的是线性拟合后。您不是不会做线性拟合吧?
当然如果你说的“线性”拟合不是简单的直线的话,还是得给出具体的方程形式才比较有针对性,要不太笼统了。
再问: 我没说清楚,那也不能叫线性拟合,两两点之间用直线相连的
再答: 我明白了,您这是要找两条折线的交点啊。

这是计算几何里面的内容了,正规算法看来会比较麻烦。
有个简单低效的办法:先画出一条折线,记录下其上的每一点(直线要离散化),然后画另一条折线,当发现有横坐标落在上一条折线的范围中时,检查纵坐标。如果发现纵坐标有交点(或相距很近),则找到了可能有交点的大概位置。然后找到相应的线段区间用解析方法计算。