24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1698  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 又一批高校组建人工智能学院 师资行吗 不是骗人吗 +6 yexuqing 2026-04-19 7/350 2026-04-23 12:32 by yexuqing
[基金申请] 国自然面上和省基金B类撒花 +18 花田半亩~白 2026-04-21 18/900 2026-04-23 11:31 by 12021227
[考研] 有没有学校收留 +3 蒋昌鹏qtj 2026-04-20 3/150 2026-04-22 20:25 by 学员JpLReM
[考研] 312求调剂 +3 山河似你温柔 2026-04-22 3/150 2026-04-22 20:17 by 学员JpLReM
[考博] 华师大读博 +3 xq83 2026-04-22 5/250 2026-04-22 10:42 by xq83
[考博] 申博/考博 +4 啃面包的小书虫 2026-04-17 8/400 2026-04-21 16:26 by 啃面包的小书虫
[考研] 295分求调剂 +6 ?要上岸? 2026-04-17 6/300 2026-04-21 08:18 by Equinoxhua
[考研] 085600材料与化工调剂 5+3 孜孜不倦2002 2026-04-19 6/300 2026-04-20 21:25 by babero
[论文投稿] 有没有接收比较快的sci期刊呀,最好在一个月之内的,研三孩子求毕业 20+4 之护着 2026-04-16 7/350 2026-04-20 15:45 by 豆豆7758
[考研] 337求调剂 +3 jyz04 2026-04-18 3/150 2026-04-20 12:24 by 研可安
[考博] 申博 +3 Xyyx. 2026-04-18 3/150 2026-04-20 10:44 by YuY66
[考博] 湖南大学刘巧玲课题组2026年第二批次博士研究生招生信息 +3 南风观火 2026-04-18 5/250 2026-04-20 10:13 by 南风观火
[考研] 求计算机方向调剂 +3 Toffee2 2026-04-16 6/300 2026-04-19 22:37 by ll叶
[考研] 294求调剂 +8 淡然654321 2026-04-17 9/450 2026-04-19 19:51 by Equinoxhua
[考研] 304求调剂 +8 castLight 2026-04-16 8/400 2026-04-19 17:14 by 中豫男
[考研] 求调剂 +6 苦命人。。。 2026-04-18 7/350 2026-04-19 16:27 by 中豫男
[考研] 接受任何调剂 +6 也就是栗子 2026-04-17 7/350 2026-04-18 17:20 by 涵竹刘
[考研] 260求调剂 +4 Zyt1314520.. 2026-04-17 5/250 2026-04-18 08:28 by babysonlkd
[有机交流] 二苯甲酮酸类衍生物 50+3 小白爱主人 2026-04-17 6/300 2026-04-17 18:47 by kf2781974
[考研] 322求调剂 +6 tekuzu 2026-04-17 6/300 2026-04-17 13:48 by Espannnnnol
信息提示
请填处理意见