matlab拟合求方程系数,然后把曲线作图发现自己拟合相差甚远,求高手相助,谢谢

下边是要拟合的数据>>a=[300:10:1200];>>b=[62.346249.716337.086327.112717.139114.179911.220710.9... 下边是要拟合的数据
>> a=[300:10:1200];>> b=[62.3462 49.7163 37.0863 27.1127 17.1391 14.1799 11.2207 10.9026 10.5859 10.2868 9.9896 9.8516 9.7158 9.6431 9.5728 9.5919 9.613 9.5142 9.4113 9.2531 9.0929 8.8627 8.6277 8.4973 8.3655 8.3493 8.3318 8.3045 8.2751 8.258 8.2364 8.191 8.1385 8.1386 8.1299 8.0807 8.0173 7.9957 7.958 7.8037 7.6355 7.5288 7.4096 7.2856 7.1452 6.9159 6.6723 6.5503 6.4113 5.9847 5.5667 5.3913 5.2041 4.9088 4.6186 4.3656 4.1135 3.8235 3.543 3.2073 2.8957 2.7319 2.5518 2.2415 1.9569 1.7047 1.4746 1.2816 1.10002 0.92334 0.75759 0.60001 0.46409 0.35672 0.27071 0.1943 0.13158 0.09582 0.074964 0.056376 0.041637 0.03213 0.023806 0.017857 0.011906 0.0080959 0.0050002 0.0026189 0.0007737 0.00042842 0.00026176];>> cftool

这是用cftool拟合出来的散点图和拟合曲线,第二个是用下边程序画出来的图
>> t=300:10:1200;>> y=-3.2337e-022*t.^9 + 2.3185e-018*t.^8 - 7.2644e-015*t.^7 + 1.3042e-011*t.^6-1.4767e-008*t.^5 + 1.0925e-005*t.^4 - 0.0052758*t.^3 + 1.6023*t.^2-277.5668*t + 20897.5624;>> plot(t,y)
方程系数全是拟合出来的系数,不会出现输入错误,用的是9次多项式拟合,为什么用方程画出来的图会与拟合时的图这么大区别呢?

求大神指点,万分感激,临表涕零。。。
展开
 我来答
百度网友a5417efe3
2013-05-23
知道答主
回答量:15
采纳率:0%
帮助的人:16.2万
展开全部
我觉得你的拟合没问题,问题是9次多项式可能不足以拟合出这条曲线,从图上来看300-400这段拟合的结果是对的,后面就完全不对了,你可能需要更高次的多项式来进行拟合,或者结合其他函数进行拟合,比如说加入三角函数,指数函数什么的。
9192631770
2013-05-23 · TA获得超过7310个赞
知道大有可为答主
回答量:3138
采纳率:50%
帮助的人:2988万
展开全部
你肯定输错系数了
多项式拟合不要手动输入系数,matlab里有专门算多项式的函数polyval

p = polyfit(a,b,9)
f = polyval(p,a);
plot(a,b,'.k',a,f,'-')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7b6bb49
2013-05-23 · TA获得超过391个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:148万
展开全部
系数顺序错了吧,感觉走势完全相反……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式