function yy=model(beta0,X)
a=beta0(1);
b=beta0(2);
c=beta0(3);
d=beta0(4);
e=beta0(5);
x1=X(:,1);
x2=X(:,2);
x3=X(:,3);
x4=X(:,4);
x5=X(:,5);
yy=a*x1+b*x2+c*x3+d*x4+e*x5;
主程序如下:
X=[9133504 5044173 65941 151828 1677772;11665761.8 6060683.1 181992.7 172774.7 2158573.8;14878590 7243459 331363 278253 2840985;
17543468 8074148 603015 256375 3220992;21297613 9309882 1121982 215440 3785362;25502370.8 10463734 1801315.4 210796.3 4662641.1];
Y=[1926109;2824417.1;3906526;5057307;6476921;7919249.3]
beta0=[1.00 -0.20 -0.04 -0.15 -0.11];betafit=nlinfit(X,Y,'model',beta0)
matlab中的nlinfit函数时,参数需要回归系数的初值,如何确定?
答案:2 悬赏:60
解决时间 2021-03-13 00:08
- 提问者网友:娇妻失忆
- 2021-03-12 06:59
最佳答案
- 二级知识专家网友:时光不老我们不分离
- 2021-03-12 07:22
这个很好办
你先根据散点图等其他方式确定模型的表达式
然后利用已知的数据中的某几个点求解
模型中参数的大约值,然后就可以了。
比如:
模型为y=a*exp(b/(c+x));
先利用最值确定a
再利用任意两组数据求出其他的参数
以他为处置即可,
一般别用随机数,有时可能与实际有较大出入
你先根据散点图等其他方式确定模型的表达式
然后利用已知的数据中的某几个点求解
模型中参数的大约值,然后就可以了。
比如:
模型为y=a*exp(b/(c+x));
先利用最值确定a
再利用任意两组数据求出其他的参数
以他为处置即可,
一般别用随机数,有时可能与实际有较大出入
全部回答
- 1楼网友:错过的是遗憾
- 2021-03-12 07:37
这个函数的初始值取所求值附近就可以,这个函数就是有这个缺点,你选择不同的初始值往往得到的结果不一样。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯