m0_60248022 2021-11-11 14:47 采纳率: 0%
浏览 79

Matlab多元非线性拟合及检验

您好,请问如何用matlab进行二元非线性拟合呢?
其中,
x1=[0,3,6,9];
x2=[1,2,3,4];
y=[0.401,0.389,0.383,0.384];
想要拟合的模型是y=a+bx1+cx2^d,请问如何获得常数值?

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-11-11 16:08
    关注

    你好,a、b、c、d统一用一个4行1列的向量a表示

    f=@(a,x) a(1)+a(2)*x(:,1) + a(3)*x(:,2).^a(4);
    x1=[0,3,6,9];
    x2=[1,2,3,4];
    y=[0.401,0.389,0.383,0.384];
    x = [x1', x2'];
    y = y';
    a0 = [1;2;3;4];%参数初始值
    a = nlinfit(x,y,f,a0)
    

    由于你的X和Y样本太少,只有四组,而未知参数也有四个,所以模型是过度拟合了,你可以适当增加样本数目哦
    如有帮助,还望采纳哟

    评论

报告相同问题?

问题事件

  • 创建了问题 11月11日

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示