潭潭沙中洲 2021-09-06 21:49 采纳率: 50%
浏览 408
已结题

MATLAB多项式拟合,数据够多,高次拟合不出

代码和报错如下,降低次数为2就可以解决,网上有给出解释
“x值的条件不够,没办法进行更高阶次的拟合,降低拟合的阶数即可
(k阶拟合需要确定k+1个未知参数(如1阶拟合y = ax + b需要确定a和b两个参数),故而至少需要k+1个方程,故而需要至少k+1个不同的已知数对(x,y),由于函数中x只能对应一个y,故而需要至少k+1个不同的x。)”

请教各位,我的(x,y)值有100多组,为什么不能进行高次拟合
x值的范围在[880,950],y在[-40000,-30000]
猜测是因为3次拟合的系数非常接近0吗??因为2次拟合的结果已经挺符合的了

X=Arr1(:,1)';
Y=G_fin';
FN2=polyfit(X,Y,3);

警告: 多项式未正确设置条件。请添加具有不同 X 值的点,减少多项式的阶数,或者尝试按照 HELP POLYFIT 中所述进行中心化和缩放。

In polyfit (line 79)
In Untitled (line 29)

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-09-06 22:26
    关注

    不是说系数接近0,而是说你的数据出现秩亏的情况,就是说你的数据里面高次项和低次项出现了线性相关,次数再高也没有必要了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 创建了问题 9月6日

悬赏问题

  • ¥15 怎样才能让鼠标沿着线条的中心线轨迹移动
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?