24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1668  |  回复: 5
本帖产生 1 个 计算强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

北-极-星

木虫 (正式写手)

[求助] Mathematica偏微分方程求解编程求助 已有1人参与

如图,我想在Mathematica中编程求出此方程的含边界条件的解,自己编程如下,不能运行,求大神帮忙指点。。
DSolve[{(\[PartialD]/\[PartialD]t)c[z, t] -
    D*(\[PartialD]/\[PartialD]z)(\[PartialD]/\[PartialD]z)c[z, t] ==
   0, c[z, t == 0] == Subscript[c, 0],
  D (\[PartialD]/\[PartialD]z)c[z == 1/2*Subscript[h, s], t] == 0,
  D (\[PartialD]/\[PartialD]z)
     c[z == 1/2*Subscript[h, s] + Subscript[h, f], t] == Subscript[J,
   0]}, c[z, t], {z, t},
Constants -> {D, Subscript[c, 0], Subscript[h, s], Subscript[h, f],
   Subscript[J, 0]}]

Mathematica偏微分方程求解编程求助
1.jpg


Mathematica偏微分方程求解编程求助-1
2.jpg


Mathematica偏微分方程求解编程求助-2
程序.jpg
回复此楼

» 猜你喜欢

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

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

NicoleLas

木虫 (正式写手)

引用回帖:
2楼: Originally posted by xzczd at 2015-01-06 19:02:51
首先要指出的是,楼主的代码里语法错误非常多,并且都是很明显的错误。Mathematica(啊,确切地说是Mathematica内所使用的Wolfram)终究是编程语言,它有它明确的语法规范。就算这个方程DSolve可解,那正确的语法也 ...

请收下小的这个月的膝盖。
Be water, my friend.
6楼2015-01-07 19:09:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
dbb627: 金币+5, 计算强帖+1, 应助指数+1, 谢谢指导 2015-01-06 23:45:02
首先要指出的是,楼主的代码里语法错误非常多,并且都是很明显的错误。Mathematica(啊,确切地说是Mathematica内所使用的Wolfram)终究是编程语言,它有它明确的语法规范。就算这个方程DSolve可解,那正确的语法也应该是
CODE:
With[{c = c[z, t]}, eqn = D[c, t] - d D[c, z, z] == 0];
bc = {c[z, 0] == c0, Derivative[1, 0][c][hs/2, t] == 0, Derivative[1, 0][c][hs/2 + hf, t] == j0/d};
DSolve[{eqn, bc}, c[z, t], t]

然后,上面这段代码依旧会将输入原样返回,并提示软件无法求解这个问题。这个方程之所以会无法求解,个人觉得和Mathematica的DSolve对偏微分方程符号解的求解力弱有一定关系,但是更多的应该是因为Mathematica在总体上排斥使用级数来表示解(顺便Maple似乎也一样),理由嘛,个人猜测和级数的收敛性判定的困难有关,当然,这只是猜测。

题外话好像说的多了一点。既然Mathematica无法直接求解这个问题,那么我们有没有迂回策略呢?答案是有的。我们利用Mathematica来复现一般偏微分方程里面的相应求解方法就好了。

先拉普拉斯变换并求解所得的常微分方程:
CODE:
sol = FullSimplify[
  DSolve[LaplaceTransform[{eqn, Rest@bc}, t, s] /.
      bcrule[[1]] /. {l_[c[z, t], t, s] :> c[z],
      l_[d_[a_, 0][c][z_, t], t, s] :> d[a][c][z]}, c[z], z][[1, 1,
    2]], d > 0 && hf != 0 && Abs[hs/2] <= Abs[z] <= Abs[hs/2 + hf]]

然后,因为我们已经知道这个东西反变换没有有限形式的解,而Mathematica不能直接给出级数解,那么,我们就把上面的结果在{hs/2, hs/2+hf}上做傅立叶余弦展开:
CODE:
(* 平移到{0, hf} *)
midsol = sol /. z -> z + hs/2 // Simplify
(* term1为余弦展开的第0项。这项没包含在通项里所以要单独求。 *)
term1 = FourierCosSeries[midsol, z, 0, FourierParameters -> {1, Pi/hf}, Assumptions -> hf > 0]
(* Mathematica虽然不乐意使用无穷级数表示解,却不缺求解级数系数通项的能力 *)
term2 = FourierCosCoefficient[midsol, z, n,
  FourierParameters -> {1, Pi/hf}, Assumptions -> hf > 0]

因为拉普拉斯变换是线性变换,我们只要把上面的term2拉普拉斯反变换后再(在形式上)将它加合再把term1的反变换也加进来(别忘了把坐标系换回去)就获得了这个方程的级数解了:
CODE:
# + HoldForm[
    Sum[#2, {n, 1,
      Infinity}]] & @@ ((Simplify[InverseLaplaceTransform[#, s, t],
       d > 0] /. z -> z - hs/2) & /@ {term1, term2 Cos[Pi n/hf z]})

Mathematica偏微分方程求解编程求助-3

嗯……形式上和你的有一点区别,主要原因是Sum内部的两项其实可以展开,而其中的一部分是可以求和的——这一求和Sum也确实可以做到,但是,Mathematica默认情况下给出的形式和你的文献所给的不太一样,并且我暂时没找到将该式子化简成你的那个形式的方法。不过至此为止你的问题也基本解决了,而且我回答这个半年前的问题也纯粹是饭前血糖低导致的脑抽。所以,到此为止吧。

» 本帖已获得的红花(最新10朵)

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

北-极-星

木虫 (正式写手)

送红花一朵
引用回帖:
2楼: Originally posted by xzczd at 2015-01-06 19:02:51
首先要指出的是,楼主的代码里语法错误非常多,并且都是很明显的错误。Mathematica(啊,确切地说是Mathematica内所使用的Wolfram)终究是编程语言,它有它明确的语法规范。就算这个方程DSolve可解,那正确的语法也 ...

多谢指导  还要自己在研究研究
3楼2015-01-06 22:04:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

北-极-星

木虫 (正式写手)

送红花一朵
引用回帖:
2楼: Originally posted by xzczd at 2015-01-06 19:02:51
首先要指出的是,楼主的代码里语法错误非常多,并且都是很明显的错误。Mathematica(啊,确切地说是Mathematica内所使用的Wolfram)终究是编程语言,它有它明确的语法规范。就算这个方程DSolve可解,那正确的语法也 ...

多谢指导   我自个再研究研究
4楼2015-01-06 22:05:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 307中医考研调剂 +3 于以采蘩 2026-04-14 3/150 2026-04-15 11:16 by xtt..
[考研] 327求调剂 +23 Xxjc1107. 2026-04-13 25/1250 2026-04-14 18:48 by 逍遥三郎
[考研] 通信工程求调剂!!! +4 zlb770521 2026-04-14 4/200 2026-04-14 18:19 by lbsjt
[考研] 366求调剂 +11 不知名的小卅 2026-04-11 11/550 2026-04-14 15:50 by zs92450
[考研] 人工智能320调剂08工类还有机会吗 +18 振—TZ 2026-04-10 19/950 2026-04-14 10:34 by screening
[考研] 300分求调剂 (085501机械专硕,本科扬大) +9 xu@841019 2026-04-11 10/500 2026-04-14 08:48 by 木木mumu~
[教师之家] 山东双非院校考核超级无底线,领导幸灾乐祸,教师遭殃恐 +3 qut2026 2026-04-11 7/350 2026-04-12 20:24 by qut2026
[考研] 本科南方医科大学 一志愿985 药学学硕284分 求调剂 +5 弱水听文 2026-04-09 5/250 2026-04-12 13:16 by shengxi123
[考研] 277 数一104,学硕,求调剂 +21 瓶子PZ 2026-04-09 23/1150 2026-04-11 23:12 by labixiaoqiao
[考研] 电子信息279求调剂,有书读就行 +8 wwwooden 2026-04-08 11/550 2026-04-11 20:22 by cq2548
[考研] 085402通信工程调剂,有4项学科竞赛国奖(电赛国二),硕士研究生调剂自荐信。 +5 m永o不v言o弃m 2026-04-09 5/250 2026-04-11 09:33 by zhq0425
[考研] 0854调剂 +4 长弓傲 2026-04-09 4/200 2026-04-11 09:18 by 猪会飞
[考研] 考研调剂 +26 硕星赴 2026-04-09 27/1350 2026-04-10 22:24 by 猪会飞
[考研] 263能源动力专硕求调剂 +3 加大号饭盒袋 2026-04-10 3/150 2026-04-10 22:23 by 286640313
[考研] 计算机类求调剂,22408-274分 +7 上岸de小虫 2026-04-09 8/400 2026-04-10 19:56 by fxue1114
[考研] 初试261 +3 Asht少 2026-04-10 6/300 2026-04-10 16:38 by Asht少
[考研] 本科211 工科085400 280分求调剂 可跨专业 +3 LZH(等待调剂中 2026-04-09 3/150 2026-04-09 21:29 by wutongshun
[考研] 材料专硕初试分332一志愿西北工业大学, +12 故人?? 2026-04-09 12/600 2026-04-09 18:34 by Ccclqqq
[考研] 286求调剂 +19 Faune 2026-04-08 20/1000 2026-04-09 08:36 by 哦哦123
[考研] 二次调剂求老师收留 +3 笑笑袁 2026-04-08 3/150 2026-04-08 23:50 by 醉在风里
信息提示
请填处理意见