matlab的拟合问题 10

我用的fit函数去拟合,如图画出拟合曲线和原始数据,看起来拟合不错。但是参数abcd有点问题,几个例子来说,当x=500时,y近似450,但是当代入参数时y=-3.507... 我用的fit函数去拟合,如图画出拟合曲线

和原始数据,看起来拟合不错。但是参数abcd有点问题,几个例子来说,当x=500时,y近似450,但是当代入参数时y=-3.507*500^3+71.74*500^2-83.89*500+415.4,明显不对,不等于450,这是怎么回事??

代码: f={'x^3','x^2','x','1'}; type = fittype(f); options = fitoptions(type); set(options,'Robust','LAR','Normalize','On') ff = fit(x, y, type,options);
a=ff.a;b=ff.b;c=ff.c;d=ff.d; x1=minx:1:maxx; y1=floor(a*x2.^3+b*x2.^2+c*x2+d*ones(size(x2)));
展开
 我来答
tianxiawulang
2015-04-12 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2574万
展开全部

fit 返回的拟合函数是把自变量x进行规范化的(normalized),也就是说,

ff(x) = a*x^3 + b*x^2 + c*x + d

中的x,并不是你的原始数据,而是经过规范化的数据,即 (原始数据-均值)/ 标准差,其中均值和标准差可以在图中看到。

 

事实上,用fit拟合得到的结果为cfit对象,计算函数值时不应该用题主的方式,而应该用feval:

feval(ff,500)
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
NUAAJmantan
2016-01-09 · 知道合伙人教育行家
NUAAJmantan
知道合伙人教育行家
采纳数:53 获赞数:231
南京航空航天大学,航空宇航推进理论与工程2014级硕士在读

向TA提问 私信TA
展开全部

对于一般的拟合直接使用MATLAB的拟合工具箱,将会更加的方便:

  • Apps--->Curve Fitting

  • 在左上角选择相应的数据,在上中间位置选择需要的拟合方式,即可的到拟合结果。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sihw_ocean
2015-04-12 · TA获得超过639个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:345万
展开全部
这好像和set里的参数有关,x被归一化了
追问
哦哦,没注意,谢谢谢谢,我弄了好半天了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式