matlab 非线性参数辨识y=a*x+b*tan(c*x);求参数abc

用matlab自带的nlinfit拟合的效果不是很好p=nlinfit(x,y,@myFunc,[0.5,0.5,0.5]);请问还有什么更好的拟合方法么H=a*db+(... 用matlab自带的nlinfit拟合的效果不是很好
p=nlinfit(x,y,@myFunc,[0.5,0.5,0.5]);
请问还有什么更好的拟合方法么
H=a*db+(b*tan(c*B)+sign(db));
其中abc是需要求的参数
H的数据为[1 1.034 1.067 1.101 1.135 1.17 1.207 1.246 1.287 1.332 1.382 1.438 1.502 1.576 1.664 1.771 1.905 2.076 2.3 2.599 3 2.195 1.512 0.9655 0.5471 0.2341 0 -0.178 -0.3165 -0.4272 -0.5178 -0.5937 -0.6588 -0.7157 -0.7663 -0.812 -0.8541 -0.8932 -0.9302 -0.9657 -1 -1.034 -1.067 -1.101 -1.135 -1.17 -1.207 -1.246 -1.287 -1.332 -1.382 -1.438 -1.502 -1.576 -1.664 -1.771 -1.905 -2.076 -2.3 -2.599 -3 -2.195 -1.512 -0.9655 -0.5471 -0.2341 0 0.178 0.3165 0.4272 0.5178 0.5937 0.6588 0.7157 0.7663 0.812 0.8541 0.8932 0.9302 0.9657 1]
展开
 我来答
tianxiawulang
2013-03-12 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2551万
展开全部

没有哪种方法绝对优于其它方法,否则其它方法也就没必要存在了。

拟合结果的优劣不仅和拟合方法有关,和拟合函数的形式、拟合参数初值以及算法设置等因素都有关系,很多情况下需要具体分析。

你不给出具体的数据来,怎样帮你分析?

 

=======================

3月12日补充:

 

楼主另外开帖提的那个问题我看到了(见参考资料的链接)。是不是问题补充有字数限制,无法贴完整,所以另外提问的?如果是这个原因,给楼主提个建议:这种情况下,应该在原帖说明一下,否则,我很可能会注意不到你的那个帖子,而在原帖里给的信息又难免让人一头雾水。

 

对这个问题,我花了不少时间研究。目前得到的结果如图所示:

楼主可以看看是否符合自己的需要,如果符合,请在这里继续追问,或者采纳这个答案后我再去回答你的另一个提问。

 

并不是我想多得分,而是因为我不想明明自己很认真提供的答案无缘无故地不被采纳——如果我直接去回答另一个问题,这一个很可能就会悬在这里了。如果楼主不愿两个帖子都采纳我的回答,那就请在这里继续追问,我会继续回答。

 

顺便说一句,知道的规则似乎是这样的:悬赏的财富在提问的时候已经扣除了,采纳满意答案并不会让提问者额外损失什么(如果及时采纳可能还有奖励)。我并不在乎这些虚拟的财富(对我其实也没什么用),但是我希望自己的劳动和专业能力得到肯定和尊重。

参考资料: http://zhidao.baidu.com/question/531488912.html?&oldq=1

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式