24小时热门版块排行榜    

查看: 698  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

儒雅圣士

新虫 (正式写手)

[求助] 各位大神来凑凑热闹吧,帮小弟解个方程组,不胜感激 已有2人参与

求助各位大神,如何用Mathematica编程求解下面的方程组,未知量有四个,为v ,c ,n ,x
   Log[10,v*c/x] == 2.72 - 6080/833,
   Log[10,v*n/(1 - x)] == 2.45 - 7830/833 ,
   (0.2 - v)/(0.0218 - c) == 50.9414/(x*12.011) ,
   (0.2 - v)/(0.0024 - n) == 50.9414/((1 - x)*14.0067),
此外,要求未知量的取值范围为:0<v<0.15  ,0<c<0.015 ,0<n<0.003 ,0<x<1
回复此楼
一起努力
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
对于这个问题,直接一骨脑扔进Mathematica似乎是不好弄的,但是加上适当的人工分析问题就会很好解决。

把方程形式改改(主要就是把可能引发奇点讨论的部分手动化掉就可以直接Solve啦:
CODE:
Solve[{v*c == x 10^(2.72 - 6080/833),
   v*n == 10^(2.45 - 7830/833) (1 - x), (x*12.011) (0.2 - v) == (0.0218 -
       c) 50.9414, (0.2 - v) ((1 - x)*14.0067) == (0.0024 - n) 50.9414, 0 < v < 0.15,
   0 < c < 0.015, 0 < n < 0.003, 0 < x < 1}, {v, c, x, n}] // Chop
(*{{v -> 0.0998355, c -> 0.000241101, x -> 0.912861, n -> 9.79873*10^-8}}*)

Chop是用来去除数值求解时产生的小虚部的。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
3楼2015-06-19 11:11:43
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2015-06-18 08:56:17
儒雅圣士: 金币+10, 有帮助, 您好,谢谢您的帮助,不过我更想寻找用Mathematica编程求解,谢谢您 2015-06-18 11:50:46
v: 0.0998354993550781
c: 0.000241101484773351
n: 9.79873089377952E-8
x: 0.912860567123227
2楼2015-06-17 22:01:08
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

引用回帖:
3楼: Originally posted by xzczd at 2015-06-19 11:11:43
对于这个问题,直接一骨脑扔进Mathematica似乎是不好弄的,但是加上适当的人工分析问题就会很好解决。

把方程形式改改(主要就是把可能引发奇点讨论的部分手动化掉就可以直接Solve啦:

Solve // Chop
(*{{v  ...

……修正一下。刚才我似乎犯了什么低级错误。总之,方程形式不变也是可以直接解的:
CODE:
eqn = {Log[10, v*c/x] == 2.72 - 6080/833,
   Log[10, v*n/(1 - x)] == 2.45 - 7830/833, (0.2 - v)/(0.0218 - c) ==
    50.9414/(x*12.011), (0.2 - v)/(0.0024 - n) == 50.9414/((1 - x)*14.0067)};

Solve[eqn, {v, n, x, c}]

(*{{v -> -0.00107112, n -> -4.55851*10^-6, x -> 0.956507,
  c -> -0.0235467}, {v -> 0.0998355, n -> 9.79873*10^-8, x -> 0.912861,
  c -> 0.000241101}, {v -> -2.13445*10^-6, n -> -0.0526894, x -> -0.00177142,
  c -> 0.0218835}, {v -> 0.20005, n -> -0.000101436, x -> 181.756, c -> 0.0239569}}*)

小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
4楼2015-06-19 11:28:28
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
儒雅圣士: 金币+20, ★★★很有帮助, 虽然我还是不明白 ,还要谢谢您的耐心解答 ,好人一生平安,祝福您 2015-06-20 11:13:34
引用回帖:
4楼: Originally posted by xzczd at 2015-06-19 11:28:28
……修正一下。刚才我似乎犯了什么低级错误。总之,方程形式不变也是可以直接解的:


eqn = {Log == 2.72 - 6080/833,
   Log == 2.45 - 7830/833, (0.2 - v)/(0.0218 - c) ==
    50.9414/(x*12.011), (0 ...

……再次修正。(看样子临近午饭时间大脑缺糖所以运转不灵了。)上面的解法没有自动筛掉不合要求的解。(对于这个方程Solve在加了限制条件的情况下求解变的更慢了——话说这种现象我好像还是第一次观察到,以往我一直以为——并且很多时候也确实是——Solve加了限制条件后求解会更快),那么,就先求再筛呗:
CODE:
eqn = {Log[10, v*c/x] == 2.72 - 6080/T,
   Log[10, v*n/(1 - x)] == 2.45 - 7830/T, (m - v)/(0.0218 - c) ==
    50.9414/(x*12.011), (m - v)/(0.0024 - n) == 50.9414/((1 - x)*14.0067)};

Pick[#, And @@ {0 < v < 0.15, 0 < c < 0.015, 0 < n < 0.003, 0 < x < 1} /. #] & /@ Solve[eqn, {v, n, x, c}]

(* {{v -> 0.0998355, n -> 9.79873*10^-8, x -> 0.912861, c -> 0.000241101}} *)

目测这种情况下Solve调用的算法和上面的并不相同,所以这里不需要扣虚部。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
5楼2015-06-19 11:37:16
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上项目filecode邪修 +4 西山十月 2026-08-09 6/300 2026-08-10 00:16 by liufeng0619
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +7 Lanmanbaby 2026-08-09 14/700 2026-08-09 23:33 by Tide man
[基金申请] 关于代码变化问题,想知道的进来 +15 且听虎啸 2026-08-07 22/1100 2026-08-09 22:13 by 布布和一二
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 好奇怪的filecode +3 布布和一二 2026-08-08 4/200 2026-08-08 17:46 by zhanghaozhu
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
信息提示
请填处理意见