24小时热门版块排行榜    

查看: 3723  |  回复: 12

pangsaixi

银虫 (小有名气)

[求助] 有方程,怎么求多元回归方程的参数 已有4人参与

已知公式lnx=A+B/T+C*ln(T)  有数据如下
T=298.15K  对应  x=0.0060
T=303.15K     对应  x=0.0069
T=308.15K     对应  x=0.0079   
T=313.15K     对应  x=0.0089
T=318.15K     对应  x=0.010
T=323.15 K     对应  x=0.0113
T=328.15K       对应  x=0.0127
T=333.15K       对应  x=0.0141
怎么求得A、B、C参数的值,详细说一下步骤哦
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2014-06-27 08:36:30
如果数据、公式没错的话,3#版主的结果无误。
7楼2014-06-24 14:22:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
fegg7502: 金币+2, 应助指数+1, 3ks 2014-06-27 08:36:51
pangsaixi: 金币+3, 有帮助 2014-07-03 08:20:24
引用回帖:
10楼: Originally posted by ZqCSky at 2014-06-25 09:53:51
亲,不对耶,这个数据是文献上的,文献求得的A 、B、C参数分别是-41.79,   36.40,   7.634,和你求得的结果是不一样的,你看是不是你中间出错啦,或者用别的软件做一下'

x=exp(A+B/T+C*ln(T));
如果你能知道A ...

就以我的理解来说,单个自变量和因变量的拟合问题,最小二乘法是非常成熟的算法。
穷举法不应考虑,首先参数范围的确定就是一个难题,对于参数较多的情况,参数范围和初值的确定更是噩梦;其次,对于精度要求较高的场合,穷举的计算量将是天文数字。
遗传算法,不宜单独使用,该算法具有全局最优搜索能力,这是该算法的最大优势,但往往达不到很高的精度。
最小二乘法,其最大的劣势在于,对参数初值的依赖性很大,如果初值给得不好,容易陷入局部最优的深渊,无法自拔,使得对于不同的初值取法,拟合结果相差很大;但如果能给出合理的初值,最小二乘法可以迅速收敛。
一个改进的办法是结合遗传算法和最小二乘法:以遗传算法给出初值,将初值传递给最小二乘法,往往能达到良好的拟合效果。
实际上,对于一个拟合问题,即参数个数不多,拟合公式较简单的情况,单独利用最小二乘法即可得到全局最优解,这是因为在这些情况下,目标函数值往往只有一个极小值点,即最小值。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
11楼2014-06-25 10:36:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hyh4402031

金虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2014-06-27 08:37:49
pangsaixi: 金币+1, 有帮助 2014-07-03 08:20:37
用matlab里的fit,或cftool工具箱,可能定任何函数
12楼2014-06-26 19:20:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

ZqCSky

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
pangsaixi: 金币+3, 有帮助 2014-06-24 10:42:07
fegg7502: 金币+1, 鼓励交流 2014-06-27 08:36:59
首先你应该知道各个参数的大致范围,最好是离散的。
然后可以采用遗传算法来做。不会可以联系我
pymol 教程: http://pymol.chenzhaoqiang.com
2楼2014-06-24 10:39:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
pangsaixi: 金币+5, 有帮助, 非常感谢你的解答,虽然与文献不符 2014-06-26 11:47:04
fegg7502: 金币+1, 鼓励交流 2014-06-27 08:37:12
1stopt计算:
Parameters A,B,C;
Variable x,T;
Function x=exp(A+B/T+C*ln(T));
Data;
0.0060 298.15
0.0069 303.15
0.0079 308.15
0.0089 313.15
0.0100 318.15
0.0113 323.15
0.0127 328.15
0.0141 333.15

计算结果
均方差(RMSE): 3.13122567391747E-5
残差平方和(SSE): 7.84365937679995E-9
相关系数(R): 0.999930480453672
相关系数之平方(R^2): 0.999860965740312
决定系数(DC): 0.999860965002627
卡方系数(Chi-Square): 4.11915557244167E-7
F统计(F-Statistic): 43148.8311434816

参数        最佳估算
----------        -------------
A                  16.1487818428146
B                  -3031.99316474978
C                  -1.94680330538855

====== 结果输出 =====

No        实测值x        计算值x
1        0.006        0.0060200
2        0.0069        0.0068925
3        0.0079        0.0078528
4        0.0089        0.0089052
5        0.01        0.0100539
6        0.0113        0.0113029
7        0.0127        0.0126560
8        0.0141        0.0141168
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2014-06-24 10:41:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pangsaixi

银虫 (小有名气)

引用回帖:
2楼: Originally posted by ZqCSky at 2014-06-24 10:39:22
首先你应该知道各个参数的大致范围,最好是离散的。
然后可以采用遗传算法来做。不会可以联系我

真心不会,这个怎么确定范围啦,嘿嘿能不能详细说一下怎么计算
4楼2014-06-24 10:41:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)


fegg7502: 金币+1, 鼓励交流 2014-06-27 08:37:21
除了1stopt,包括Origin在内的4种常见软件的程序代码或者操作步骤参见:
http://muchong.com/bbs/viewthread.php?tid=6572963&authorid=1122189
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2014-06-24 10:43:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pangsaixi

银虫 (小有名气)

引用回帖:
3楼: Originally posted by 月只蓝 at 2014-06-24 10:41:09
1stopt计算:
Parameters A,B,C;
Variable x,T;
Function x=exp(A+B/T+C*ln(T));
Data;
0.0060 298.15
0.0069 303.15
0.0079 308.15
0.0089 313.15
0.0100 318.15
0.0113 323.15
0.0127 328.15
0.0141  ...

亲,不对耶,这个数据是文献上的,文献求得的A 、B、C参数分别是-41.79,   36.40,   7.634,和你求得的结果是不一样的,你看是不是你中间出错啦,或者用别的软件做一下
6楼2014-06-24 10:57:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖


fegg7502: 金币+1, 应助指数+1, 鼓励交流 2014-06-27 08:37:29
引用回帖:
6楼: Originally posted by pangsaixi at 2014-06-24 10:57:55
亲,不对耶,这个数据是文献上的,文献求得的A 、B、C参数分别是-41.79,   36.40,   7.634,和你求得的结果是不一样的,你看是不是你中间出错啦,或者用别的软件做一下...

你可以看一下文献给出的相关系数等拟合指标,是不是比三楼的结果高。
如果没有,说明文献拟合的结果不是特别好。
我们需要注意的是,文献给出的拟合结果并不一定是最优的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
8楼2014-06-24 20:19:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pangsaixi

银虫 (小有名气)

引用回帖:
2楼: Originally posted by ZqCSky at 2014-06-24 10:39:22
首先你应该知道各个参数的大致范围,最好是离散的。
然后可以采用遗传算法来做。不会可以联系我

这个能详细帮忙解释一下吗,确实不会的
9楼2014-06-25 08:36:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZqCSky

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★
pangsaixi: 金币+2 2014-06-25 11:55:05
fegg7502: 金币+1, 鼓励交流 2014-06-27 08:37:37
引用回帖:
9楼: Originally posted by pangsaixi at 2014-06-25 08:36:48
这个能详细帮忙解释一下吗,确实不会的...

亲,不对耶,这个数据是文献上的,文献求得的A 、B、C参数分别是-41.79,   36.40,   7.634,和你求得的结果是不一样的,你看是不是你中间出错啦,或者用别的软件做一下'

x=exp(A+B/T+C*ln(T));
如果你能知道A的范围
A(-42.00,-41.99,-41.88,...-40)
B的范围
B(36,36.01,36.02..37)
C的范围

用穷举法,搜索空间太大,你可以使用遗传算法,来找最优解。
pymol 教程: http://pymol.chenzhaoqiang.com
10楼2014-06-25 09:53:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 pangsaixi 的主题更新
信息提示
请填处理意见