matlab拟合曲线poly交点,matlab 离散曲线求交点

本文探讨了在MATLAB中求解离散曲线交点的方法,指出离散点判断距离的常见方法过于粗糙。作者提出了两种思路,一种基于高级绘图层面,另一种基于底层操作。重点介绍了第一种思路,利用离散点和线段交点来精确求解,强调了处理特殊情况和奇异点的重要性,并给出了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

曾经思考过曲面求交,结果发现是学术界的一个难题,并且也想出了一个当前广泛使用方法原理一样的近似解法(追踪法)。当然网上也有很多方法,只不过那些方法非常粗糙,无非就是meshgrid出离散网格,比较两曲面在某位置的坐标是否在某一精度范围内,然后标记显示之。这个方法仅仅当离散网格非常细的时候才比较精确。除此之外,还有个非常严重的问题:上面的“精度范围”不是你随心所欲给的,而且也没规律寻找,当给得不恰当的时候,在格点处两曲面点作比较,会出很多个符合要求的点,或者一个也没有。这样就会使得交线非常曲折,甚至断裂等,严重影响精确度。

———————————————————分割线————————————————————————

当然,既然有曲面求交,那么也有曲线求交,其基本结构就是两曲线求交。只是曲线求交问题,事先得澄清一些注意点:

1. 数学分析层面求两曲线交点,其实就是方程组求解;

2.

“曲线”概念包括“直线”(处处曲率半径为无穷大);

3. Matlab的重点是离散点

矩阵运算,因此所有运算都是基于离散的,因而这里的曲线并不是绝对光滑的。

4.

近似试探与未知函数表达式。

对于1,我想说的是,如果你想要求得两曲线的精确交点,并且一个不漏,那就直接求解方程组,不用看本帖下文;

对于2,直线在Matlab里面是两个点确定,因此交点如果是一段线(无穷个点)的情况,可能只是显示两端点为交点;

对于3,很简单的例子,参数方程 x=cos(t),y=sin(t)

(0<=t<=2*pi)

在数学分析(即连续空间)层面上是个圆,但是如果你在离散t的时候,间距比较大,那么最后Matlab绘制的图像不是圆,而是正多边形了。因此,此时我们讨论曲线交点是这个离散点连线的图形与其他图形的交点,而非圆与其他交点。这也是我在标题中加了“离散点连成”的修饰词,防止被误会。

对于4,既然是求曲线交点,那么本方法可以作为求方程组的近似解。当然,如果离散点够多,解的精确度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值