matlab中的[p,S,mu] = polyfit(x,y,n)比p = polyfit(x,y,n)好在哪里

今天做了一个拟合,分别用了这两个命令,然后再用各自对应的polyval求出拟合值,发现两者有时候的结果会差很多,有时候一样,我觉得这其中主要的原因之一是向量x的取值情况,... 今天做了一个拟合,分别用了这两个命令,然后再用各自对应的polyval求出拟合值,发现两者有时候的结果会差很多,有时候一样,我觉得这其中主要的原因之一是向量x的取值情况,那位大侠来解释一下是为什么?谢谢 展开
victoriajll
2011-10-10 · TA获得超过4883个赞
知道大有可为答主
回答量:654
采纳率:100%
帮助的人:1029万
展开全部
[p,S,mu] = polyfit(x,y,n)和p = polyfit(x,y,n)本质上都是函数polyfit的调用,第一种和第二种它运行后的结果肯定是一样的,只不过函数polyfit的返回值第一个比第二个多而已。
事实上,第二个运行后也会产生S,mu,只不过没有将他们返回而已。
至于你说的问题,我怀疑是你的一些不恰当操作,或者粗心导致的。因为这两种返回的P值是一样的,用polyval求出拟合值那肯定也是一样的。
楼主可以在验证一下,有问题可以继续探讨。
追问
您好,我之所以问这个问题是我在用过之后发现的,我的例子如下: http://zhidao.baidu.com/question/327859793.html,追问不让写太多字,这是我前几天问的另一个问题,对于那个例子,在我用[p,S,mu] = polyfit(x,y,n)做过之后,再用对应的polyval(p,x,S,mu)结果就4个y值一样了,这说明高次拟合有时候会产生很大的误差,如果不小心自己并不知道,我找了好几天才发现的。
box172506
2014-04-16
知道答主
回答量:4
采纳率:0%
帮助的人:5470
展开全部
我遇到类似问题找到你的提问,自己又研究了一下,应该是这样:
[p,s,mu] = polyfit(X,Y,N)里面mu有两个数,mean(X)和std(X),整个式子做拟合的时候把X根据公式XHAT = (X-mu(1))/mu(2)做了一下中心及比例变换,用XHAT和Y进行N阶拟合,所以结果会不一样。是说这样做能同时提高多项式和拟合算法的数值特性,这个本质有什么好处我不是太懂。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式