请教matlab拟合递推公式的参数问题
自己建立的一个模型,是一个递推公式:Yn=a+b*(Xn)^c+d*Yn-1
要拟合参数,matlab行吗?how?
具体举例如下 :
n Xn Yn
1 0.82900 0.12500
2 0.81600 0.14600
3 0.64300 0.24300
4 0.57000 0.24700
5 0.47200 0.26800
6 0.36500 0.28400
7 0.24500 0.30700
8 0.11800 0.27100
9 0.37200 0.30000
10 0.55800 0.32400
Y0=0
Y1=a+b*X1^c+d*Y0
Y2=a+b*X2^c+d*Y1
.......
我要拟合出a、b、c、d
请各位帮帮忙:@) Ref
【资源共享】MATLAB曲线拟合向导(Curve Fitting Toolbox) by octopussheng
http://forum.vibunion.com/forum/thread-49726-1-1.html 谢谢楼上,可是里面好像没有我想要的。。。 这有点像时间系列拟合问题,用1stOpt可以很好解决。 1stOpt的求解代码:
Parameter a,b,c,d;
Variable n, xn, yn;
StartProgram ;
Procedure MainModel;
var j: integer;
temy: double;
Begin
temy := 0.125;
for j := 0 to DataLength - 1 do begin
temy := a+b*power(xn,c)+d*temy;
yn := temy;
end;
End;
EndProgram;
Data;
//n Xn Yn
//1 0.82900 0.12500
2 0.81600 0.14600
3 0.64300 0.24300
4 0.57000 0.24700
5 0.47200 0.26800
6 0.36500 0.28400
7 0.24500 0.30700
8 0.11800 0.27100
9 0.37200 0.30000
10 0.55800 0.32400
结果:
均方差(RMSE): 0.0143258546789437
残差平方和(RSS): 0.00184707101053993
相关系数(R): 0.958039131193731
相关系数之平方(R^2): 0.917838976898438
决定系数(DC): 0.915435755952491
F统计(F-Statistic): 19.7088815188877
参数 最佳估算
-------------------- -------------
a 0.0679529197541864
b -0.00251143582208461
c -1.43030630358839
d 0.865007710644784
[ 本帖最后由 dingd 于 2009-4-13 17:07 编辑 ]
回复 5楼 dingd 的帖子
谢谢你,很详细!:handshake
页:
[1]