当前位置: 首页 > 仿真模拟 >matlab 非线性带约束参数的最小二乘拟合

matlab 非线性带约束参数的最小二乘拟合

作者 zhuimeng527
来源: 小木虫 200 4 举报帖子
+关注

本人有一函数,类似图中的函数,有大量数据(x,y)值,打算采用matlab,最小二乘法对参数a,b,c,d进行拟合,参数满足a>0,b>0,a+b=1;但是不知道怎么编写matlab程序


IMG_2438.JPG 返回小木虫查看更多

今日热帖
  • 精华评论
  • zhuimeng527

    图片歪了

    IMG_2438 - 副本.JPG

  • 512095518

    引用回帖:
    2楼: Originally posted by zhuimeng527 at 2017-09-23 23:55:01
    图片歪了

    IMG_2438 - 副本.JPG

    你可以用matlab中的fmincon函数来求解,这个函数的功能是求目标函数的最小值。语法用这个就可以:x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)。具体的例子你可以百度查下,或者matlab的help文件也有。

    你的目标方法是用最小二乘法,所以你构造一个误差平方和的函数,例如你现有大量的(x,y),假设X=[x1,x2,...,xn];Y=[y1,y2,...,yn]。则你的误差平方和的函数为g(x) = (Y - f(x) )^2

  • dingd

    推荐用1stOpt,拟合功能比Matlab强大好用很多。

  • yanze

    把b用1-a替换,结合不等式有0<a<1  这样就好多了

猜你喜欢