清芯 发表于 2009-8-6 14:42

请高手们帮忙看看这个程序该怎么修改,不胜感激!

全部程序如下,我用的是1.5版本的,不知哪里错了,一运行就显示“读数据出错”。
高手们帮帮忙啊,实在是不懂啊,我现在正处于盲目模仿阶段。或者哪位大侠好心帮忙运行一下结果啊,谢谢啦!

Title "nihe- Regression";
Variable n, nn, x1, x2, x3, x4, x5, T;
Parameter a, b, c, d, e;
FunctionT=ln((100.3*((x1)^(a*(n+1)/2)*(x2)^(b*(n-1)/2)*(x3)^(c*1/2)*(x4)^(-d*nn/2)*(x5))^(-e*nn/2))-30.04)/70.26)/0.019;
Data;
13.7267   1.4447   0.99836802    1.08681672    0.979333633    0.365479497    2.588757396   27
13.7002   12.17510.998354827    1.69726248    0.900310187    0.365466499    1.660341556   173
9.7263    3.7620   0.979402608    1.312633833    0.917008365    0.364712389    2.854812398   78
11.4013   0.8017   0.996151487    1.058161351    0.982792935    0.363306358    3.102836879   15
14.1522   1.9682   0.998786966    1.114420063    0.974327476    0.36557427    2.461322082   34
10.0024   1.4247   0.989534126    1.117154812    0.962955906    0.361960466    3.277153558   25
9.7764    1.7794   0.98666165    1.149253731    0.953393942    0.362214419    3.246753247   23
11.9434   3.5523   0.992808879    1.241877256    0.943878215    0.365532386    2.543604651   83
11.7364   4.0033   0.991771449    1.276556777    0.936856715    0.365557362    2.510760402   97
13.1452   6.1866   0.997981235    1.378333333    0.929028419    0.365159196    2.116082225   160
8.2445    6.1213   0.959251713    1.587223587    0.854451759    0.365230306    2.708978328   85
11.7106   4.1377   0.991624376    1.286238532    0.935095734    0.365564781    2.496433666   93
10.0779   4.6093   0.981035511    1.367983368    0.910356856    0.365352043    2.659574468   122
10.0779   4.8780   0.980824983    1.388773389    0.907008465    0.365430463    2.619760479   118
12.2030   3.8629   0.993798782    1.257092199    0.942410856    0.365573358    2.468265162   86
12.2030   4.3271   0.993816121    1.287234043    0.937442044    0.36556698    2.41046832    105

[ 本帖最后由 清芯 于 2009-8-6 14:47 编辑 ]

dingd 发表于 2009-8-6 20:17

自己好好检查一下,“(”数和“)”数不一样!

清芯 发表于 2009-8-7 09:26

还是不对啊:@Q
T=(ln((100.3*(x1^(a*(n+1)/2)*x2^(b*(n-1)/2)*x3^(c/2)*x4^(-d*nn/2)*x5^(-e*nn/2))-30.04)/70.26))/0.019
还是要把x1^(a*(n+1)/2写成x1^((a*n)/2)*x1^(a/2)呢,都试过了,不行啊:@(

清芯 发表于 2009-8-7 09:37

C:%5CDocuments%20and%20Settings%5Comg%5C%E6%A1%8C%E9%9D%A2%5C%E6%9C%AA%E5%91%BD%E5%90%8D.bmp
用的就是下面的公式,已知x1、x2、x3、x4、x5、n、nn、T的16组数据,要求拟合a、b、c、d、e五个参数。

[ 本帖最后由 清芯 于 2009-8-7 09:41 编辑 ]

dingd 发表于 2009-8-7 15:26

公式改为:
T=ln(((100.3*((x1)^(a*(n+1)/2)*(x2)^(b*(n-1)/2)*(x3)^(c*1/2)*(x4)^(-d*nn/2)*(x5))^(-e*nn/2))-30.04)/70.26)/0.019;

计算结果:
均方差(RMSE): 6.51440240336892
残差平方和(RSS): 678.9990187683
相关系数(R): 0.990298790928769
相关系数之平方(R^2): 0.980691695314982

参数        最佳估算
----------        -------------
a                  72.7789275485772
b                  -49.3215983943747
c                  -161.4604378971
d                  24.3703288637706
e                  0.0588475373698787

清芯 发表于 2009-8-8 16:45

谢谢dingd!

不好意思,应该是(x5)^(-e*nn/2),而不是((x1)^(a*(n+1)/2)*(x2)^(b*(n-1)/2)*(x3)^(c*1/2)*(x4)^(-d*nn/2)*(x5))^(-e*nn/2)。
而且我按照您的公式算还是显示“读数据出错”,非常郁闷啊:@Q
谁来帮帮我,万里长征的最后一步就是跨不过去了:'(

[ 本帖最后由 清芯 于 2009-8-8 16:56 编辑 ]

dingd 发表于 2009-8-8 21:19

如果改为:
T=ln((100.3*((x1)^(a*(n+1)/2)*(x2)^(b*(n-1)/2)*(x3)^(c*1/2)*(x4)^(-d*nn/2)*(x5)^(-e*nn/2))-30.04)/70.26)/0.019;

结果:
均方差(RMSE): 9.01506505745558
残差平方和(RSS): 1300.34236784251
相关系数(R): 0.981206886096111
相关系数之平方(R^2): 0.962766953322426

参数        最佳估算
----------        -------------
a                  -5.21833306284338
b                  -9.32803569765434
c                  219.91407807118
d                  4.0171834487801
e                  -6.87220845701489

清芯 发表于 2009-8-10 09:18

谢谢dingd的耐心指导:handshake
但可能真的是版本的问题,我的就是运行不了:@L
页: [1]
查看完整版本: 请高手们帮忙看看这个程序该怎么修改,不胜感激!