24小时热门版块排行榜    

查看: 3529  |  回复: 25

q1036210267

木虫 (正式写手)

[求助] 怎么用Fortran 去做曲线拟合?

曲线拟合的 fortran 程序怎么编

例如 图中:第一列是 距离r,第二列是能量E。
已知 距离和能量 满足公式 E = a((b/r) **9  - (b/r)**6 )

怎么用程序拟合得到 a 和 b

谢谢,金币不够我再加[ 来自科研家族 寂寞大虫家族 ]
回复此楼
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


dubo(金币+1): 欢迎讨论 2011-11-17 10:11:43
为啥要用 Fortran 做?是个统计软件不都能做吗?
2楼2011-11-17 09:57:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


q1036210267(金币+5): 2011-11-18 14:46:32
余泽成(金币+1): 谢谢参与应助! 2011-12-08 14:12:28
引用回帖:
3楼: Originally posted by q1036210267 at 2011-11-17 10:10:46:
.., 老师让我用fortran编程去做, 你有什么好方法吗?

作业题?

去 natlib 或 statlib 上找一找曲线拟合的包,然后加一个输入数据,输出数据的接口就可以了……
4楼2011-11-17 10:14:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★
xzhdty(金币+2): 欢迎常来程序语言讨论 2011-11-17 20:42:44
q1036210267(金币+5): 2011-11-18 14:46:51
用1stOpt吧,比Origin、Matlab等强大、方便好用的多:
CODE:
Variable r,E;
Function E = a*((b/r)^9  - (b/r)^6);
Data;
2.89999999850988        47.5834608565225
   3.09999999850988       -91.0481880549658
   3.29999999850988       -100.890821284316
   3.49999999850988       -100.883832534262
....

均方差(RMSE): 17.3437930194149
残差平方和(SSE): 29479.10131743
相关系数(R): 0.878771772121621
相关系数之平方(R^2): 0.772239827477775

参数        最佳估算
----------        -------------
a        906.43777208918
b        2.95729352643941
9楼2011-11-17 15:01:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

q1036210267

木虫 (正式写手)

引用回帖:
2楼: Originally posted by snoopyzhao at 2011-11-17 09:57:33:
为啥要用 Fortran 做?是个统计软件不都能做吗?

.., 老师让我用fortran编程去做, 你有什么好方法吗?
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
3楼2011-11-17 10:10:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

q1036210267

木虫 (正式写手)

引用回帖:
4楼: Originally posted by snoopyzhao at 2011-11-17 10:14:23:
作业题?

去 natlib 或 statlib 上找一找曲线拟合的包,然后加一个输入数据,输出数据的接口就可以了……

关键是满足的公式   E = a((b/r) **9  - (b/r)**6 )   r 在 分母上,这样的拟合包有吗?
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
5楼2011-11-17 10:24:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-11-19 12:23:31
引用回帖:
5楼: Originally posted by q1036210267 at 2011-11-17 10:24:44:
关键是满足的公式   E = a((b/r) **9  - (b/r)**6 )   r 在 分母上,这样的拟合包有吗?

应该是有的,要不你把数据贴出来,我用统计软件 R 做一下看看……如果它能做,那么应该有相关的库可以做……
6楼2011-11-17 10:56:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

q1036210267

木虫 (正式写手)

引用回帖:
6楼: Originally posted by snoopyzhao at 2011-11-17 10:56:50:
应该是有的,要不你把数据贴出来,我用统计软件 R 做一下看看……如果它能做,那么应该有相关的库可以做……

2.89999999850988        47.5834608565225     
   3.09999999850988       -91.0481880549658     
   3.29999999850988       -100.890821284316     
   3.49999999850988       -100.883832534262     
   3.69999999850988       -97.5822898062252     
   3.89999999850988       -92.4434701406007     
   4.09999999850988       -88.1091376452365     
   4.29999999850988       -82.5339529628509     
   4.49999999850988       -77.3861253233986     
   4.69999999850988       -73.0052837380059     
   4.89999999850988       -68.0465731172639     
   5.09999999850988       -63.8576239009254     
   5.29999999850988       -59.9730909447262     
   5.49999999850988       -56.2475301188684     
   5.69999999850988       -53.0154975654384     
   5.89999999850988       -49.9219857116753     
   6.09999999850988       -46.6032490749775     
   6.29999999850988       -44.2653308137879     
   6.49999999850988       -41.9748941493774     
   6.69999999850988       -39.5461416900439     
   6.89999999850988       -37.6276484560796     
   7.09999999850988       -35.7429504725931     
   7.29999999850988       -33.7093214423721     
   7.49999999850988       -32.0737503576758     
   7.69999999850988       -30.3704160911432     
   7.89999999850988       -28.9553585051460     
   8.09999999850988       -27.5034112487178     
   8.29999999850988       -26.1404970262196     
   8.49999999850988       -24.5960961239179     
   8.69999999850988       -23.5206302906392     
   8.89999999850988       -22.5476179089596     
   9.09999999850988       -21.2732265778263     
   9.29999999850988       -20.1905577201873     
   9.49999999850989       -19.2710659894965     
   9.69999999850988       -18.4053049038700     
   9.89999999850988       -17.4843327439167     
   10.0999999985099       -16.6935404301359     
   10.2999999985099       -15.8022152470471     
   10.4999999985099       -15.1143651787956     
   10.6999999985099       -14.2676007672186     
   10.8999999985099       -13.6135732276762     
   11.0999999985099       -12.9327652107736     
   11.2999999985099       -12.3135010701443     
   11.4999999985099       -11.5625851405387     
   11.6999999985099       -11.0335452066267     
   11.8999999985099       -10.3570831226009     
   12.0999999985099       -9.78311088083999     
   12.2999999985099       -9.28727814751875     
   12.4999999985099       -8.74943407587816     
   12.6999999985099       -8.28858781622343     
   12.8999999985099       -7.79736808084435     
   13.0999999985099       -7.29131901103393     
   13.2999999985099       -6.73515170211033     
   13.4999999985099       -6.42786668184911     
   13.6999999985099       -5.85066979637693     
   13.8999999985099       -5.50312962292320     
   14.0999999985099       -5.19299505239375     
   14.2999999985099       -4.75923652695049     
   14.4999999985099       -4.44520104844295     
   14.6999999985099       -4.03456228874964     
   14.8999999985099       -3.76576722364735     
   15.0999999985099       -3.35925630850015     
   15.2999999985099       -3.04033304387373     
   15.4999999985099       -2.91176807532561     
   15.6999999985099       -2.51392256656763     
   15.8999999985099       -2.24068257093247     
   16.0999999985099       -1.93981812438913     
   16.2999999985099       -1.73231958524286     
   16.4999999985099       -1.60494088259306     
   16.6999999985099       -1.33586747701461     
   16.8999999985099       -1.09448069845620     
   17.0999999985099      -0.999292646533844     
   17.2999999985099      -0.867277630229554     
   17.4999999985099      -0.727545514562746     
   17.6999999985099      -0.621467943883178     
   17.8999999985099      -0.524724794287962     
   18.0999999985099      -0.387056562641716     
   18.2999999985099      -0.327839730263809     
   18.4999999985099      -0.271320419244203     
   18.6999999985099      -0.250217193405580     
   18.8999999985099      -0.180612593858557     
   19.0999999985099      -0.158592599278016     
   19.2999999985099      -0.118041084918979     
   19.4999999985099      -8.210721534610396E-002
   19.6999999985099      -7.511114741513100E-002
   19.8999999985099      -4.646058569941039E-002
   20.0999999985099      -3.319488575288208E-002
   20.2999999985099      -2.483894440715313E-002
   20.4999999985099      -2.144022500140944E-002
   20.6999999985099      -1.118071967775522E-002
   20.8999999985099      -9.778605424635600E-003
   21.0999999985099      -6.904148456059712E-003
   21.2999999985099      -3.781511181625539E-003
   21.4999999985099      -2.196797483698173E-003
   21.6999999985099      -1.045257972281400E-003
   21.8999999985099      -4.811004528573192E-004
   22.0999999985099      -1.708403993562568E-004
   22.2999999985099      -4.545702480465615E-005
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
7楼2011-11-17 12:29:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiwei43

至尊木虫 (正式写手)

用origin做不可以吗?
8楼2011-11-17 14:08:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-11-19 12:23:50
我用 R 算了,一样的结果,用的是 Gauss-Newton 算法。
10楼2011-11-17 15:26:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学员94tPwG 的主题更新
信息提示
请填处理意见