matlab中的[p,S,mu] = polyfit(x,y,n)比p = polyfit(x,y,n)好在哪里
今天做了一个拟合,分别用了这两个命令,然后再用各自对应的polyval求出拟合值,发现两者有时候的结果会差很多,有时候一样,我觉得这其中主要的原因之一是向量x的取值情况,...
今天做了一个拟合,分别用了这两个命令,然后再用各自对应的polyval求出拟合值,发现两者有时候的结果会差很多,有时候一样,我觉得这其中主要的原因之一是向量x的取值情况,那位大侠来解释一下是为什么?谢谢
展开
2个回答
展开全部
[p,S,mu] = polyfit(x,y,n)和p = polyfit(x,y,n)本质上都是函数polyfit的调用,第一种和第二种它运行后的结果肯定是一样的,只不过函数polyfit的返回值第一个比第二个多而已。
事实上,第二个运行后也会产生S,mu,只不过没有将他们返回而已。
至于你说的问题,我怀疑是你的一些不恰当操作,或者粗心导致的。因为这两种返回的P值是一样的,用polyval求出拟合值那肯定也是一样的。
楼主可以在验证一下,有问题可以继续探讨。
事实上,第二个运行后也会产生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值一样了,这说明高次拟合有时候会产生很大的误差,如果不小心自己并不知道,我找了好几天才发现的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |