![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
如何在matlab中将散点拟合成闭合的曲线?闭合的意思就是一个圆圈形状。 5
1个回答
展开全部
我也做过类似的事情,我当时的思路是:先进行坐标变换,再插值,然后再反变换。效果还算可以。
例如:已知点有八个点,横坐标依次为:x = [1 , 0.707 , 0 , -0.707 , -1 , -0.707 , 0 , 0.707];对应纵坐标依次为y = [0 , 0.707 , 1 , 0.707 , 0 , -0.707 , -1 , -0.707 ];对其进行直角坐标与极坐标转换得到转换后的坐标,r = [1 , 1 , 1 , 1 , 1 , 1 , 1 , 1]; theta = [ 0 , 0.25*pi , 0.5*pi , 0.75*pi , pi , 1.25*pi ,1.5*pi , 1.75*pi ]; 然后进行插值,由于这些点都在一条直线上,所以插值后的点也在这条直线上,例如插值的theta = 0:0.1:2*pi;那么得到的r即为和theta长度相等,内容全为1的值,然后再由极坐标变换到直角坐标下,就是一个圆了
例如:已知点有八个点,横坐标依次为:x = [1 , 0.707 , 0 , -0.707 , -1 , -0.707 , 0 , 0.707];对应纵坐标依次为y = [0 , 0.707 , 1 , 0.707 , 0 , -0.707 , -1 , -0.707 ];对其进行直角坐标与极坐标转换得到转换后的坐标,r = [1 , 1 , 1 , 1 , 1 , 1 , 1 , 1]; theta = [ 0 , 0.25*pi , 0.5*pi , 0.75*pi , pi , 1.25*pi ,1.5*pi , 1.75*pi ]; 然后进行插值,由于这些点都在一条直线上,所以插值后的点也在这条直线上,例如插值的theta = 0:0.1:2*pi;那么得到的r即为和theta长度相等,内容全为1的值,然后再由极坐标变换到直角坐标下,就是一个圆了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询