非线性回归分析

使用格式

beta = nlinfit(X,Y,fun,beta0)
[beta,r,J] = nlinfit(X,Y,fun,beta0)

其中X为给定的自变量数据,Y为给定的因变量数据,输入数据X、Y分别为n*m矩阵和n维列向量,fun要拟合的函数模型(句柄函数或者内联函数形式),beta0函数模型中待定系数估计初值(即程序的初始实参),beta返回拟合后的待定系数其中beta为估计出的回归系数;r为残差;J为Jacobian矩阵。

事例

主程序main.m

clear;
clc;
x=[0.5,0.4,0.3,0.2,0.1;0.3,0.5,0.2,0.4,0.6;1.8,1.4,1.0,1.4,1.8]';%每一列为一个变量
y=[0.785,0.703,0.583,0.571,0.126]';
beta0=[1,1,1,1,1]';  %有多少个待定系数,就给多少个初始值
[beta,r,j]=nlinfit(x,y,@myfun,beta0);

函数模型myfun.m

function yy=myfun(beta,x)  %参数:待定系数和自变量
x1=x(:,1);  %系数是数组,b(1),b(2),…b(n)依次代表系数1, 系数2,…… 系数n
x2=x(:,2);  %自变量x是一个矩阵,它的每一列分别代表一个变量,有n列就可以最多n
x3=x(:,3);
yy=beta(1)+beta(2)*x1+beta(3)*x2+beta(4)*(x2.^2)+beta(5)*(x3.^2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值