24小时热门版块排行榜    

查看: 719  |  回复: 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

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
儒雅圣士: 金币+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的回帖
查看全部 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

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 澳大利亚 Murdoch University 全奖博士招生(3个名额)地质化工冶金领域 +45 AI8RaGaPaSCR 2026-08-07 48/2400 2026-08-14 01:45 by HI0ghlI1otLA
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +11 医学老男孩 2026-08-13 29/1450 2026-08-14 00:04 by 大快人心啦
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +3 启萌科技 2026-08-12 11/550 2026-08-13 22:57 by 启萌科技
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 28/1400 2026-08-13 17:51 by 医学老男孩
[基金申请] filecode +14 documentary 2026-08-10 16/800 2026-08-13 16:39 by 润生71
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +4 工厂打螺丝 2026-08-08 4/200 2026-08-12 09:18 by hansi2025
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
信息提示
请填处理意见