matlab实现一/多元非线性回归

主函数:

%单引号表示转置
x1=[1.1 1 1.2 1.1 0.9]';
x2=[2 2 1.8 1.9 2.1]';
x3=[3.2 3.2 3 2.9 2.9]';
y=[10.1 10.2 10 10.1 10]';
X=[x1,x2,x3];
beta0=[1,1,1];
%X代表自变量输入,u代表因变量输入,myfun为函数形式
%beta0是系数向量,不知道目的,可设置为[1,1,1]
%beta即为最终参数结果
[beta,r]=nlinfit(X,y,'myfun',beta0);
beta

myfun函数:

%主要表示函数形式,beta作为参数向量,x作为自变量
function y=myfun(beta,x)
y=beta(1)*x(:,1)+beta(2)*x(:,2)+beta(3)*x(:,3).^2;

参考博客:https://blog.csdn.net/qq_42820064/article/details/86239033

猜你喜欢

转载自blog.csdn.net/gls_nuaa/article/details/113127116