找回密码
 注册
Simdroid-非首页
查看: 142|回复: 6

[基础概念] 求助:求解带参数的微分方程时如何限定参数属于正实数?

[复制链接]
发表于 2009-11-10 14:17:14 | 显示全部楼层 |阅读模式 来自 江苏南京
一个弹性地基梁的微分控制方程,参数Lambda为正实数,求出的解应无虚部,但求解出现复数,我想求解时将参数Lambda为正实数作为条件列入,试了不少方法弄不出来,请高手点拨一下。
de[x_, y_] := (D[w[x], {x, 4}] + (Sqrt[2] \[Lambda])^4 w[x] == 0)
SolnRule = DSolve[de[x, y], w[x], x]
w1[x_] = Simplify[w[x] /. SolnRule[[1]]];
ComplexExpand[w1[x]]

\[Lambda] \[Element] Reals && \[Lambda] > 0
发表于 2009-11-10 14:50:00 | 显示全部楼层 来自 北京
Simdroid开发平台
$Assumptions = \[Lambda] > 0;
是假定λ>0但是好像对求解微分方程无效,
不过 EulerGamma也是一个大于0小于1的常数,我觉得它应该不会影响你的方程的解.所以你可以将λ换成 EulerGamma,然后解方程,将方程的解中的 EulerGamma再换成λ.
虽然π,和e也是常数但是它们可能会改变解的形式.
回复 不支持

使用道具 举报

发表于 2009-11-10 16:09:11 | 显示全部楼层 来自 北京海淀
这个微分方程未免也太简单了。
四阶一定有四个常数,而结果一定是四个根的组合。

希望楼主不要过分依赖软件
回复 不支持

使用道具 举报

发表于 2009-11-10 16:18:34 | 显示全部楼层 来自 北京海淀
1# chji168168

特征方程的四个根都是复数,但这四个特征根的虚部和实部都只有lamdda*x,-lamdda*x这两种情况,再根据积分常数有四个,容易得知通解是:

E^(ax)*cos(ax)*C1+E^(-ax)*cos(ax)*C2+(E^(ax)*sin(ax)*C3+E^(-ax)*sin(ax)*C4)i
回复 不支持

使用道具 举报

发表于 2009-11-10 16:23:21 | 显示全部楼层 来自 北京海淀
本帖最后由 waynebuaa 于 2009-11-10 16:24 编辑

4# waynebuaa
当然了,一定要用Mathematica,也可以,代码是:

  1. $Assumptions = Element[x, \[Lambda]] > 0;ComplexExpand[w[x] /. First@DSolve[D[w[x], {x, 4}] + (Sqrt[2] \[Lambda])^4 w[x] == 0, w[x], x, GeneratedParameters -> (Subscript[C, #] &)]]

复制代码
可以看得出来,Mathematica给的解还不如人给的解简洁
回复 不支持

使用道具 举报

 楼主| 发表于 2009-11-12 13:51:27 | 显示全部楼层 来自 江苏南京
惭愧,我搞错了,无论参数lamda是否正实数或复数,该微分方程的解答都是mathematica给出的复数解,人工求解也是这样,ggggwhw的怀疑是对的,要求出实数解,要利用微分方程理论,复数解的虚部及实部均是微分方程的解,实部解和虚部解相互独立,二者组合即给出实数解,我刚刚查了常微分方程一书。
这个问题的解答是利用物理意义,无穷远处解趋于0,得C3、C4为0,再实部贡献Cos项,虚部贡献Sin项,解答有两个常数,a=C1+C2,b=C1-C2,
多谢楼上各位的帮助
回复 不支持

使用道具 举报

发表于 2009-11-12 21:47:48 | 显示全部楼层 来自 北京
其实我也遇见过和你一样的情况,当时我的处理方法是,自己定义函数,
  1. (*解微分方程 y'[x] + p[x]*y[x] == q[x] *)
  2. jiewf[px_, qx_, bianliang_, canshu_] :=
  3.   Module[{jieguo},
  4.    jieguo =
  5.     E^-\[Integral]px \[DifferentialD]bianliang (canshu + \[Integral]qx
  6. \!\(\*SuperscriptBox["\[ExponentialE]",
  7. RowBox[{"\[Integral]",
  8. RowBox[{"px",
  9. RowBox[{"\[DifferentialD]",
  10.              "bianliang"}]}]}]]\) \[DifferentialD]bianliang)
  11.    ];
  12. (*解微分方程 y''[x] + p*y'[x] + q*y[x] == 0 *)
  13. jiewf2[px_, qx_, bianliang_, genshu_, canshu_] :=
  14. Module[{jieguo, gen},
  15.   gen = genshu;
  16.   If[gen == -1,
  17.    If[px^2 - 4 qx < 0, gen = 0];
  18.    If[px^2 - 4 qx == 0, gen = 1];
  19.    If[px^2 - 4 qx > 0, gen = 2];
  20.    ];
  21.   If[gen == 0,
  22.    jieguo =
  23.     E^(-(px/2)
  24.         bianliang) (canshu[[1]]*Cos[Sqrt[4 qx - px^2]/2 bianliang] +
  25.        canshu[[2]]*Sin[Sqrt[4 qx - px^2]/2 bianliang]),
  26.    If[gen == 1,
  27.     jieguo =
  28.      E^(-(px/2) bianliang) (canshu[[1]] + canshu[[2]]*bianliang),
  29.     If[gen == 2,
  30.      jieguo =
  31.       canshu[[1]]*E^(-((px - Sqrt[px^2 - 4 qx])/2) bianliang) +
  32.        canshu[[2]]*E^(-((px + Sqrt[px^2 - 4 qx])/2) bianliang),
  33.      jieguo =
  34.       E^(-(px/2)
  35.           bianliang) (canshu[[1]]*Cos[Sqrt[4 qx - px^2]/2 bianliang] +
  36.           canshu[[2]]*Sin[Sqrt[4 qx - px^2]/2 bianliang])
  37.      ]
  38.     ]
  39.    ];
  40.   jieguo
  41.   ]
复制代码
当然我的数学能力不是很强所以只写了两种简单情况,然后输入参数后就可以解出对于的微分方程的解了.
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 07:26 , Processed in 0.058243 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表