24小时热门版块排行榜    

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

wocamuchong

铁虫 (小有名气)

[求助] boundary condition 求 free constant

我不知道这个能不能用Mathematica来求,但是我用手算,太麻烦了。我过几天再试试,但是如果谁知道用mathematica来求的话,最好了。

我有个式子是,它的boundary condition是,其中 theta, a, b and gamma 是constant, 要通过这四个boundary condition来求出来。用mathematica里用好方法吗?

[ Last edited by wocamuchong on 2014-2-17 at 07:17 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

引用回帖:
11楼: Originally posted by wocamuchong at 2014-02-18 20:17:46
我看了下,boundary condition看起来是对的。V这里是电势,第一二个条件是dirichlet边界条件,第三个是电荷密度的dirichlet条件在y=-1,第四个是电荷密度的von Newman条件在y=1。电荷密度是电势的两次导。所以好像 ...

这是针对实数的情况,从这个结果看,看起来象是第3个条件不好满足
第3个约束要是 =0 可能看起来更象些 .(取alpha=2情况,前面在复数区域也搜索过,好不到哪里去)
当然也可能是程序搜索的随机点还不够多(一般应该不会吧)
Clear["Global`*"];
V = \[Theta] +
   2 \[Alpha]*
    Log[Sqrt[y + b/a] \[Gamma]*
      BesselJ[1/3, ((y + b/a)^2)^(1/3) 2/3 Sqrt[-a]]];
eq1 = (V /. y -> -1);
eq2 = (V /. y -> 1) - 1;
eq3 = (D[V, {y, 2}] /. y -> -1) - 1;
eq4 = (D[V, {y, 3}] /. y -> 1);
eq = Abs[eq1] + Abs[eq2] + 1*Abs[eq3] + 1*Abs[eq4];
r1 = NMinimize[eq /. \[Alpha] -> 2, {\[Theta], a, b, \[Gamma]},
  Method -> {"RandomSearch", "SearchPoints" -> 200}]
(*r2=NMinimize[eq/.\[Alpha]->2,{\[Theta],a,b,\[Gamma]},Method->{\
"RandomSearch",Method->"InteriorPoint", "SearchPoints"->20}]*)
eq1 /. r1[[2]] /. \[Alpha] -> 2
eq2 /. r1[[2]] /. \[Alpha] -> 2
eq3 /. r1[[2]] /. \[Alpha] -> 2
eq4 /. r1[[2]] /. \[Alpha] -> 2
12楼2014-02-18 21:55:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

walk1997

金虫 (著名写手)

求什么?
我看V表达式的未知数只有 \alpha (J_3该是个已知函数吧)
你给4个约束, 看不太懂问题。
2楼2014-02-17 13:10:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

引用回帖:
2楼: Originally posted by walk1997 at 2014-02-17 13:10:20
求什么?
我看V表达式的未知数只有 \alpha (J_3该是个已知函数吧)
你给4个约束, 看不太懂问题。

重新理解了下,是要求theta,a,b,gamma么?
那alpha呢?算是已知的么?
3楼2014-02-17 13:12:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

四个方程,四个未知数。MATHEMATICA应该能求的。
4楼2014-02-17 19:50:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见