请高手们帮忙看看这个程序该怎么修改,不胜感激!
全部程序如下,我用的是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 编辑 ] 自己好好检查一下,“(”数和“)”数不一样! 还是不对啊:@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)呢,都试过了,不行啊:@( 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 编辑 ] 公式改为:
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
谢谢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 编辑 ] 如果改为:
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 谢谢dingd的耐心指导:handshake
但可能真的是版本的问题,我的就是运行不了:@L
页:
[1]