24小时热门版块排行榜    

查看: 2435  |  回复: 9

lilei119

新虫 (正式写手)

[交流] 【求助】多元方程组求解及拟合 已有2人参与

多元非线性方程组:
(x10-x1)/y=abx1/(1+bx1+cx2+dx3+ex4)
(x20-x2)y=acx2/(1+bx1+cx2+dx3+ex4)
(x30-x3)/y=adx3/(1+bx1+cx2+dx3+ex4)
(x40-x4)/y=aex4/(1+bx1+cx2+dx3+ex4)
其中x10,x20,x30,x40 都是已知的常数,abcde是待拟合的常数,现已知一系列的x1,x2,x3,x4和y值,要拟合出上述abcde5个参数,上面的方程组看样子是无法手工消元然后用一元非线性拟合了,类似的文献说用牛顿-拉弗逊迭代法,各位专家帮看看这个问题解决起来的难度?并告知具体或者大概步骤。不甚感激
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

forcal

禁虫 (初入文坛)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xiegangmai(金币+2): 鼓励讨论交流! 2011-03-12 20:20:51
zzuwangshilei(金币+1): 鼓励交流 2011-03-12 20:26:58
本帖内容被屏蔽

2楼2011-03-12 20:19:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lilei119

新虫 (正式写手)


xiegangmai(金币+1): 鼓励讨论交流! 2011-04-10 21:42:25
引用回帖:
Originally posted by forcal at 2011-03-12 20:19:36:
如果楼主方便,可以给出数据,没有数据,就不知道难度有多大。
一般的拟合软件都可以给出解决此类问题的代码,这没有任何难度。
Forcal解法参考:http://www.forcal.net/sysm/forcal9/fchtm/fcopt.htm

谢谢回复,
问题是这样的,
有一个方程组:

(x10-x1)/y=a*b*x1/(1+b*x1+c*x2+d*x3+e*x4)
(x20-x2)y=a*c*x2/(1+b*x1+c*x2+d*x3+e*x4)
(x30-x3)/y=a*d*x3/(1+b*x1+c*x2+d*x3+e*x4)
(x40-x4)/y=a*e*x4/(1+b*x1+c*x2+d*x3+e*x4)

x10,x20,x30,x40,y是自变量,x1,x2,x3,x4是因变量,a,b,c,d,e是常数,现已给出26组关于x1,x2,x3,x4x10,x20,x30,x40,y数据,要拟合a,b,c,d,e 这5个
参数。
拟合时的约束条件是让SSD这个值最小:

SSD = Σ[ (x1 – x1 (model))2 / (x10)2+ (x2- x2(model))2 / (x20)2+ (x3- x3(model))2 /(x30)2 + (x4- x4(model))2 / (x40) 2]
这里:x1(model)预测值,

下面用化学语言重新表达一遍上述问题。

y是吸附剂,x1,x2,x3,x4是4个被吸附物质,每个物质的吸附都符合Langmuir 模型,

即单独吸附x1的时候,满足公式:

(x10-x1)/y=a*b*x1/(1+b*x1)
,x10是x1的初始浓度,x1是x1吸附平衡时的浓度,y是吸附剂的投量。a,b是吸附常数。

现把x1,x2,x3,x4和y同时放入反应器,简单计算后各物质平衡浓度会同时满足以下4个方程:

(x10-x1)/y=a*b*x1/(1+b*x1+c*x2+d*x3+e*x4)
(x20-x2)y=a*c*x2/(1+b*x1+c*x2+d*x3+e*x4)
(x30-x3)/y=a*d*x3/(1+b*x1+c*x2+d*x3+e*x4)
(x40-x4)/y=a*e*x4/(1+b*x1+c*x2+d*x3+e*x4)
即:x10,x20,x30,x40是各物质的初始浓度,x1,x2,x3,x4吸附平衡后各物质浓度,a,b,c,d,e是吸附常数,现有26组实验,已测各物质的初始浓度和吸附平衡之后的浓度,现要拟合a,b,c,d,e 这5个
参数。

拟合时的约束条件是让SSD这个值最小:

SSD = Σ[ (x1 – x1 (model))2 / (x10)2+ (x2- x2(model))2 / (x20)2+ (x3- x3(model))2 /(x30)2 + (x4- x4(model))2 / (x40) 2]
这里:x1(model)预测值,

数据如下
Y        X10        X1        X20        X2        X30        X3        X40        X4
0.098709898        0        0        0        0        0.001071429        1.2854E-05        0        0
0.034516927        0        0        0        0        0.001071429        2.27537E-05        0        0
0.023548457        0        0        0        0        0.001071429        4.57405E-05        0        0
0.009339838        0        0        0        0        0.001071429        0.000158461        0        0
0.001373626        0        0        0        0        0.001071429        0.000714286        0        0
0.000446429        0        0        0        0        0.001071429        0.000928571        0        0
2.67857E-05        3.74667E-05        0.0000324        0.000103226        9.03226E-05        0        0        0        0
5.35714E-05        3.81333E-05        2.86667E-05        0.000103226        7.41935E-05        0        0        0        0
8.92857E-05        3.69333E-05        0.000022        0.0001        5.51613E-05        0        0        0        0
0.000142857        0.0000364        0.0000136        9.83871E-05        2.99355E-05        0        0        0        0
0.00018125        0.0000368        8.66667E-06        0.000102903        1.67742E-05        0        0        0        0
0.000196429        0.000036        5.73333E-06        9.6129E-05        9.6129E-06        0        0        0        0
0.000221429        3.54667E-05        3.06667E-06        9.45161E-05        4.80645E-06        0        0        0        0
0.000267857        0.000034        2.53333E-07        9.35484E-05        2.77419E-06        0        0        0        0
0.000175        6.66667E-06        3.08889E-07        9.03226E-05        2.49336E-06        0        0        0        0
0.0001125        6.66667E-06        2.21111E-06        9.03226E-05        2.32827E-05        0        0        0        0
3.39286E-05        6.66667E-06        4.85556E-06        9.03226E-05        6.57495E-05        0        0        0        0
7.14286E-05        6.66667E-06        3.67778E-06        9.03226E-05        4.78178E-05        0        0        0        0
0.00011        6.66667E-06        2.28889E-06        9.03226E-05        2.57306E-05        0        0        0        0
0.000151786        6.66667E-06        0.0000012        9.03226E-05        1.05882E-05        0        0        0        0
0.000210714        6.66667E-06        0.00000011        9.03226E-05        1.0019E-06        0        0        0        0
8.03571E-05        2.26667E-06        1.5569E-06        9.67742E-05        4.96451E-05        0.001066071        0.001066071        0.0000044        4.30976E-06
0.000139286        0.0000034        1.13333E-06        9.67742E-05        1.22203E-05        0.00105        0.00105        3.26667E-06        3.06667E-06
0.000214286        4.06667E-06        4.46554E-07        9.67742E-05        1.06928E-06        0.001028571        0.001028571        0.0000026        2.22222E-06
0.000321429        4.53333E-06        1.51089E-07        9.67742E-05        2.6058E-07        0.000985714        0.000985714        2.13333E-06        1.3468E-06
0.000535714        4.99333E-06        4.66667E-08        9.67742E-05        9.67742E-08        0.000942857        0.000942857        1.67333E-06        6.06667E-07
3楼2011-04-10 08:18:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

forcal

禁虫 (初入文坛)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xiegangmai(金币+2): 谢谢应助! 2011-04-10 21:42:38
本帖内容被屏蔽

4楼2011-04-10 21:30:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lilei119

新虫 (正式写手)

引用回帖:
Originally posted by forcal at 2011-04-10 21:30:21:
看不出楼主的目标函数有多少意义,以下目标函数不可以吗?
[(x10-x1)/y-a*b*x1/(1+b*x1+c*x2+d*x3+e*x4)]^2
+[(x20-x2)/y-a*c*x2/(1+b*x1+c*x2+d*x3+e*x4)]^2
+[(x30-x3)/y-a*d*x3/(1+b*x1+c*x2+d*x3+e*x4)]^2 ...

谢谢你,此外,关于目标函数,文献是用的这个,所以想对比一下我和他的结果如何。如果方便实现的话能否帮弄弄按我我的目标函数再走一下?此外,最后那个误差怎么理解?如何用它来说明拟合的精确度?非常感谢,您帮了我的大忙。
此外,我下载了forcal,按您的程序计算后结果不显示,说not registered。请教如何注册?

[ Last edited by lilei119 on 2011-4-11 at 07:13 ]
5楼2011-04-11 06:27:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

forcal

禁虫 (初入文坛)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xiegangmai(金币+2): 谢谢应助! 2011-04-11 21:02:58
本帖内容被屏蔽

6楼2011-04-11 16:36:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lilei119

新虫 (正式写手)

引用回帖:
Originally posted by forcal at 2011-04-11 16:36:07:
您的目标函数是有些问题的,例如,x10、x20等有时为0,却做了除数,导致目标函数无意义。即便目标函数有意义,但仍感觉会费力不讨好。

最后的误差sqrt[s/(max*4)]用s代替也可,但用sqrt[s/(max*4)]能看出每个 ...

好的,再请教有办法可以求出每个参数的误差?就是每个值写成a+-b的形式。这样似乎更直观,不过不行也没关系,已经帮大忙了。
7楼2011-04-11 22:55:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lilei119

新虫 (正式写手)

引用回帖:
Originally posted by forcal at 2011-04-10 21:30:21:
看不出楼主的目标函数有多少意义,以下目标函数不可以吗?
[(x10-x1)/y-a*b*x1/(1+b*x1+c*x2+d*x3+e*x4)]^2
+[(x20-x2)/y-a*c*x2/(1+b*x1+c*x2+d*x3+e*x4)]^2
+[(x30-x3)/y-a*d*x3/(1+b*x1+c*x2+d*x3+e*x4)]^2 ...

谢谢forcal 老师的回复,约束方程稍微改了该,能否再耽误您时间帮忙看看?

(x10-x1)/y=a*b*x1/(1+b*x1+c*x2+d*x3+e*x4)    (1)
(x20-x2)y=a*c*x2/(1+b*x1+c*x2+d*x3+e*x4)      (2)
(x30-x3)/y=a*d*x3/(1+b*x1+c*x2+d*x3+e*x4)     (3)
(x40-x4)/y=a*e*x4/(1+b*x1+c*x2+d*x3+e*x4)     (4)

x10,x20,x30,x40,y是自变量,x1,x2,x3,x4是因变量,a,b,c,d,e是常数,现已给出26组关于x1,x2,x3,x4x10,x20,x30,x40,y数据,要拟合a,b,c,d,e 这5个
参数。
拟合时的约束条件是让SSD这个值最小:

SSD = Σ[ (x1 – x1 (model))2 + (x2- x2(model))2 + (x3- x3(model))2  + (x4- x4(model))2 ]
SSD = Σ[ (x1 – x1 (model))2 + (x2- x2(model))2 + (x3- x3(model))2  + (x4- x4(model))2 ]
这里:x1,x2,x3,x4是实验测出来的值(数据见下),x1(model),x2(model),x3(model),x4(model)是指上面方程组(方程(1)(2)(3)(4))根据给出的数据(数据见下)y, x10,x20,x30,x40和5个参数求出的解。此外,求解该方程组会有多组解,所以还需要限制条件(即 0 不知道这个是否能实现,非常感谢您的帮助!!




数据如下
Y        X10        X1        X20        X2        X30        X3        X40        X4
0.098709898        0        0        0        0        0.001071429        1.2854E-05        0        0
0.034516927        0        0        0        0        0.001071429        2.27537E-05        0        0
0.023548457        0        0        0        0        0.001071429        4.57405E-05        0        0
0.009339838        0        0        0        0        0.001071429        0.000158461        0        0
0.001373626        0        0        0        0        0.001071429        0.000714286        0        0
0.000446429        0        0        0        0        0.001071429        0.000928571        0        0
2.67857E-05        3.74667E-05        0.0000324        0.000103226        9.03226E-05        0        0        0        0
5.35714E-05        3.81333E-05        2.86667E-05        0.000103226        7.41935E-05        0        0        0        0
8.92857E-05        3.69333E-05        0.000022        0.0001        5.51613E-05        0        0        0        0
0.000142857        0.0000364        0.0000136        9.83871E-05        2.99355E-05        0        0        0        0
0.00018125        0.0000368        8.66667E-06        0.000102903        1.67742E-05        0        0        0        0
0.000196429        0.000036        5.73333E-06        9.6129E-05        9.6129E-06        0        0        0        0
0.000221429        3.54667E-05        3.06667E-06        9.45161E-05        4.80645E-06        0        0        0        0
0.000267857        0.000034        2.53333E-07        9.35484E-05        2.77419E-06        0        0        0        0
0.000175        6.66667E-06        3.08889E-07        9.03226E-05        2.49336E-06        0        0        0        0
0.0001125        6.66667E-06        2.21111E-06        9.03226E-05        2.32827E-05        0        0        0        0
3.39286E-05        6.66667E-06        4.85556E-06        9.03226E-05        6.57495E-05        0        0        0        0
7.14286E-05        6.66667E-06        3.67778E-06        9.03226E-05        4.78178E-05        0        0        0        0
0.00011        6.66667E-06        2.28889E-06        9.03226E-05        2.57306E-05        0        0        0        0
0.000151786        6.66667E-06        0.0000012        9.03226E-05        1.05882E-05        0        0        0        0
0.000210714        6.66667E-06        0.00000011        9.03226E-05        1.0019E-06        0        0        0        0
8.03571E-05        2.26667E-06        1.5569E-06        9.67742E-05        4.96451E-05        0.001066071        0.001066071        0.0000044        4.30976E-06
0.000139286        0.0000034        1.13333E-06        9.67742E-05        1.22203E-05        0.00105        0.00105        3.26667E-06        3.06667E-06
0.000214286        4.06667E-06        4.46554E-07        9.67742E-05        1.06928E-06        0.001028571        0.001028571        0.0000026        2.22222E-06
0.000321429        4.53333E-06        1.51089E-07        9.67742E-05        2.6058E-07        0.000985714        0.000985714        2.13333E-06        1.3468E-06
0.000535714        4.99333E-06        4.66667E-08        9.67742E-05        9.67742E-08        0.000942857        0.000942857        1.67333E-06        6.06667E-07

[ Last edited by lilei119 on 2011-5-25 at 10:16 ]
8楼2011-05-25 09:59:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

forcal

禁虫 (初入文坛)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
臭水沟(金币+1): 谢谢参与! 2011-05-26 22:59:42
本帖内容被屏蔽

9楼2011-05-26 18:21:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lilei119

新虫 (正式写手)

引用回帖:
4楼: Originally posted by forcal at 2011-04-10 21:30:21:
看不出楼主的目标函数有多少意义,以下目标函数不可以吗?
[(x10-x1)/y-a*b*x1/(1+b*x1+c*x2+d*x3+e*x4)]^2
+[(x20-x2)/y-a*c*x2/(1+b*x1+c*x2+d*x3+e*x4)]^2
+[(x30-x3)/y-a*d*x3/(1+b*x1+c*x2+d*x3+e*x4)]^2 ...

forcal老师,这个程序非常有用,后来用在其他数据上时碰到一个问题:由于数据不够多,约束性不太好,所以拟合的时候每次运行,结果可能都不一样,并且有时候出现bcde某个或者某几个值出现负数的情况。由于abcde都是正数,想在程序里把这个条件加进去可能可以排除一些无效解,不知道如何加?望赐教。
10楼2012-01-06 05:00:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lilei119 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 jRl3mE6ddZGq 2026-08-03 7/350 2026-08-04 04:50 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 jRl3mE6ddZGq 2026-08-03 6/300 2026-08-04 04:47 by k7OM8YghWbkC
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 04:47 by k7OM8YghWbkC
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 04:46 by k7OM8YghWbkC
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 7/350 2026-08-04 04:46 by k7OM8YghWbkC
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 cu9Nq1xK233Z 2026-08-03 5/250 2026-08-04 04:44 by k7OM8YghWbkC
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 04:41 by k7OM8YghWbkC
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 jRl3mE6ddZGq 2026-08-03 7/350 2026-08-04 03:35 by k7OM8YghWbkC
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 03:21 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 cu9Nq1xK233Z 2026-08-03 12/600 2026-08-04 03:17 by k7OM8YghWbkC
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
[高分子] UV压敏胶开发 +3 ichall 2026-07-30 5/250 2026-08-03 14:40 by Sunrisepay
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 16/800 2026-08-03 12:23 by fuweiguochen
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +19 低垂的野花 2026-07-31 25/1250 2026-08-03 09:25 by gy116024
[基金申请] 2026年国自然面上资助率 +16 布布和一二 2026-07-30 22/1100 2026-08-03 09:20 by gy116024
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +8 锦衣卫寒战 2026-07-28 12/600 2026-08-03 08:22 by syl200707
[基金申请] 微信指数没变化,科研之友没阅读 +15 wangze12014 2026-07-28 19/950 2026-08-02 20:05 by 蔡棒棒菂
[考博] 2027年申博 50+3 射雕英雄胜 2026-07-30 3/150 2026-08-02 09:36 by lfy8008
[高分子] HXDI做水性聚氨酯乳液,是不是特别容易出渣 15+3 yuyusuv 2026-07-29 3/150 2026-07-31 09:21 by huizingga
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
信息提示
请填处理意见