PDA

查看完整版本 : [求助]指数函数参数回归


zwz_good
2008-12-05, 11:45
现在整理问题如下:
需要拟合的公式如下 x y 是自变量 z是因变量
[(1/a) ^ (k1*x) + (1/b) ^ (k2 * y) + c] * xy = z
原始数据为
以下是数据
X Y Z
1 1 0.0450
1 4 0.0600
1 8 0.0960
1 12 0.1080
8 1 0.0720
8 4 0.2400
8 8 0.3840
8 12 0.4320
50 1 0.1275
50 4 0.4500
50 8 0.7200
50 12 0.9450
100 1 0.1575
100 4 0.5880
100 8 1.1400
100 12 1.6200
200 1 0.2640
200 4 1.0320
200 8 2.0400
200 12 3.0240
500 1 0.6000
500 4 2.3700
500 8 4.6800
500 12 6.8400
800 1 0.9000
800 4 3.6000
800 8 7.2000
800 12 10.0800

要求出五个系数 'a','b','c','k1','k2'

请高手赐教,谢谢。

slgu
2008-12-05, 16:23
function fx=myfun(b,x,y)
fx=(b(1).^(b(4)*x)+b(2).^(b(5)*y)+b(3)).*x.*y;
[a b c k1 k2]=[b1~b5]=[.44412921, .80140046, -.99877752, 5.7593633, .49563058e-4]
RSS=1.1444918
R^2=0.9934
1 1 0.0450000000000000 0.0105414416876700
1 4 0.0600000000000000 0.0420340942936996
1 8 0.0960000000000000 0.0837170755203767
1 12 0.108000000000000 0.125048966796119
8 1 0.0720000000000000 0.00969203761590620
8 4 0.240000000000000 0.0377147708077779
8 8 0.384000000000000 0.0726206370793747
8 12 0.432000000000000 0.104717783743492
50 1 0.127500000000000 0.0605752350994082
50 4 0.450000000000000 0.235717317548589
50 8 0.720000000000000 0.453878981746048
50 12 0.945000000000000 0.654486148396760
100 1 0.157500000000000 0.121150470198816
100 4 0.588000000000000 0.471434635097179
100 8 1.14000000000000 0.907757963492095
100 12 1.62000000000000 1.30897229679352
200 1 0.264000000000000 0.242300940397633
200 4 1.03200000000000 0.942869270194358
200 8 2.04000000000000 1.81551592698419
200 12 3.02400000000000 2.61794459358704
500 1 0.600000000000000 0.605752350994082
500 4 2.37000000000000 2.35717317548589
500 8 4.68000000000000 4.53878981746048
500 12 6.84000000000000 6.54486148396760
800 1 0.900000000000000 0.969203761590531
800 4 3.60000000000000 3.77147708077743
800 8 7.20000000000000 7.26206370793676
800 12 10.0800000000000 10.4717783743482
第4列是拟合的值(fx)
但这个模型可能并非很好。