我正在尝试解决一组耦合微分方程,我想用 Maple 检查我的一些推导。但是,我没有让synthax正确。
我尝试在一个简单的情况下重现我的问题,如下所示:
restart;
e1:=diff(P(y),y,y,y,y)=0;
e2:=diff(Q(x,y),y,y)=0;
dsolve([e1,e2]);
cond:=P(0)=0;
dsolve({e1,cond});
dsolve({e1,e2,cond});
dsolve({e1,e2,cond},[P,Q]);
所以现在这些都是解耦的,并且很容易解决。但是,由于某种原因我没有真正得到Maple,因此我坚持使用Maple。
对于以下情况(从上面可以看到),Maple给了我一个解决方案
现在,当我将两者结合起来时,我收到一条错误消息
错误,(在dsolve中)发现以下等式不依赖于 输入系统的未知数:{diff(diff(Q(x,y),y),y)= 0}
如果我明确地将P和Q定义为未知数(我作为提示)(参见代码的最后一行)
错误,(在dsolve中)收到{Q}的指示作为未知的 问题,并找到相关的函数{Q(x,y)},不依赖于 {Y}。请明确指定未知{Q}的功能
备注
pdsolve({e1,e2,cond});
然而,这没有给出错误消息,但也没有输出。P(x,y)
并设置cond:=P(x,0)=0
的函数,则dsolve不会给出任何输出。我想要解决的问题
我想解决的实际问题如下。
d^4 P(y) / dy^4 = 0
d^2 Q(x,y) / dy^2 = 0
P(y=0) = 0
如何在一个命令中解决Maple中的这个集合? 我知道答案应该是
P(y) =1/6 C1 y^3 + 1/2 C2 y^2 + C1 y
Q(x,y) = F1(x) y + F2(x)
非常感谢任何提示/建议!
答案 0 :(得分:2)
这里的问题完全是程序性和数学性的。
考虑第一个错误:
错误,(在dsolve中)发现以下等式不依赖于输入系统的未知数:{diff(diff(Q(x,y),y),y)= 0}
这告诉你的是你有一个恒定的关系。从字面上看,你的函数Q(x,y)
的一阶导数是常数,C
,并且进一步尝试找出下一个衍生炸弹,因为你已经尽可能低了。完全是迂腐的,the evaluation should be zero,但这似乎不是Maple支持的情况。
第二条错误消息似乎在告诉您,当您将P
和Q
定义为未知数时,您仍然没有真正的未知数y
,求解。这也导致了Maple的困难。
我认为如果我们看到你对Q(x,y)
的定义,我们会很快发现,至少根据Maple,该函数实际上并不依赖于x
的任何值。这就是造成部分困难的原因。
另外,我不清楚你为什么要调用diff
,因为采用两个函数的导数和二阶导数似乎不是你想做的。也许这些应该替换为dsolve
,条件指定为here?