声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2201|回复: 5

【求助】偶次多项式的曲线拟合

[复制链接]
发表于 2006-4-8 09:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>对读取的面型轮廓进行曲线拟合,已知的是该轮廓曲线是偶次多项式的形式,最高阶次为6,也就是说可以表达为:f(x)=a*x^6+b*x^4+c*x^2,顶点在原点,故没有常数项。<BR>但是读取的轮廓与实际轮廓肯定不完全相等,而是大小成比例;而且所读取的坐标并非完全对称的。也就是说读取到的曲线多项式应该为:<BR><BR>F(x)=A*(E*x+F)^6+B*(E*x+F)^4+C*(E*x+F)^2+D<BR><BR>MATLAB的多项式拟合后的表达式是从高阶到低阶的依次展开式,而要想得到我所需要的上述形式的话,可以利用各阶次系数相等来得到一组非线性方程。但是非线性方程组的求解需要对其赋初值x0,因为x0的选择对结果是有很大影响的。所以,请问,在这种情况下,如何选择x0比较合适呢?<BR>或者,还有别的办法可以得到我所需要的表达式吗?<BR>谢谢!</P>
回复
分享到:

使用道具 举报

发表于 2006-4-8 14:56 | 显示全部楼层

回复:(dirac)【求助】偶次多项式的曲线拟合

可以取x1=x^2<BR>这样你的拟合方程可以变成3次方程,求解就方便多了
 楼主| 发表于 2006-4-8 19:19 | 显示全部楼层

回复:(happy)回复:(dirac)【求助】偶次多项式的...

对啊,我怎么没想到。谢谢啦!
 楼主| 发表于 2006-4-8 21:17 | 显示全部楼层
<P>再请教,取x1=x^2以后,拟合的曲线好像非常失真啊,与数据非常不符。怎么回事?<BR>帮忙看看:<BR>xdata=[linspace(168,298,14) linspace(318,418,6) 518 818 linspace(888,988,6) linspace(998,1158,17)];<BR>ydata=[749 677 605 547 494 444 404 364 330 300 272 250 228 210 178 155 139 127 118 112 102 102 108 112 119 128 140 156 168 179 194 210 228 250 274 303 333 367 407 447 499 552 612 680 749];<BR>polytool(xdata.^2,ydata,3)<BR>这样得到的曲线有问题。为什么?</P>
发表于 2006-4-9 14:46 | 显示全部楼层

回复:(dirac)【求助】偶次多项式的曲线拟合

你这个数据最好能够采用分段拟合
 楼主| 发表于 2006-4-9 18:44 | 显示全部楼层

回复:(happy)回复:(dirac)【求助】偶次多项式的...

我的数据就是直接从一条6阶曲线读出来的啊<BR>曲线方程:y=3*x^6+8*x^4+11*x^2<BR>不需要分段拟合吧<BR>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 09:32 , Processed in 0.060506 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表