定义列表
定义列表语法1:
[beta,r,J]=nlinfit(x,y,’model’,beta0)
beta: 估计出的回归系数
r:残差
J:Jacobi矩阵
x:n×m矩阵,对一元非线性回归,x为n维列向量
y:n维列向量
model:事先用M文件定义的非线性函数
beta0:回归系数的初始值
定义列表语法2:
[Y, Delta]=nlpredci(‘model’,x,beta,r,J)
用于求取x对应的预测值Y,以及在alpha下的置信区间Delta。
代码块
nlinfit 是一种基于 least squares estimation算法,用于做多元或一元非线性拟合的matlab函数
clear
clc
data = [
]';
X=data(:,:);
y=data(:,);
b0=[- - - ]'; %设定beta的初始值
[beta,r,J]=nlinfit(X,y,'dgytest',b0);
[Y, Delta]=nlpredci('dgytest',X,beta,r,J);
SSE=sum((Y-y).^);
plot(Y,y,'bo')
% 使用M文件建立函数模型
function ypre=dgytest(beta,X)
a=beta();
b=beta();
c=beta();
d=beta();
e=beta();
f=beta();
x1=ones(size(X,),);
x2=X(:,).^;
x3=X(:,);
x4=X(:,).^;
x5=X(:,);
x6=X(:,).*X(:,);
ypre=a*x1+b*x2+c*x3+d*x4+e*x5+f*x6;