求助MATLAB最小二乘
求助MATLAB最小二乘法
(alfa*(x(1)-2*x(2))+1)*x(3)-lamda*gama*(1-x(2))=0;
(alfa(*x(1)-2*x(2))+1)*x(1)-2*lamda*gama*x(3)=0;
(1-alfa*x(2))*x(2)-alfa*(x(3))^2=0;
上面是一个方程组,从实验中测得了x(3)和gama之间的关系,有50组数据点。
我想要通过最小二乘的方法,回归出alfa,lamda的数值。
问题的难点在于这个方程组无法求解出x(3)关于gama的解析解。只能把三个方程放在一起求解数值解。
所以请大神帮帮我。已经折磨我两个星期了。@laosam280 返回小木虫查看更多
今日热帖
用非线性拟合命令,nlinfit就可以!
我只能测到x(3)和gama的数据,x(1)和x(2)的数据没法测,这样也可以用nlinfit吗?
梢杂胣linfit函数来拟合alfa,lamda,x1,x2。其自定义拟合函数可以这样来考虑
function x3=func(x)
%求助MATLAB最小二乘法
xalfa=x(1);lamda=x(2);x1=x(3);x2=x(4);
%(alfa*(x1-2*x2)+1)*x3-lamda*gama*(1-x2)=0;
%(alfa*(x1-2*x2)+1)*x1-2*lamda*gama*x3=0;
%(1-alfa*x2)*x2-alfa*(x3)^2=0;
x31=lamda*gama*(1-x2)/(alfa*(x1-2*x2)+1);
x32=(alfa*(x1-2*x2)+1)*x1/(2*lamda*gama);
x33=sqrt((1-alfa*x2)*x2/alfa);
x3=(x31+x32+x33)/3;
end,
把已知的数据都给出来。