1

我正在尝试求解一组耦合微分方程,并且我想用Maple检查我的一些推导。但是,我没有得到正确的合成器。

我试图在一个简单的案例中重现我的问题,如下所示:

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给了我一个解决方案

  • 在没有边界条件的情况下求解这两个方程。
  • 用边界条件求解第一个方程。

现在,当我将两者结合起来时,我会收到一条错误消息

错误,(在 dsolve 中)发现以下方程不依赖于输入系统的未知数:{diff(diff(Q(x, y), y), y) = 0}

如果我明确地将 P 和 Q 定义为未知数(我将其作为提示)(参见代码的最后一行)

错误,(在 dsolve 中)收到 {Q} 的指示作为问题的未知数,并找到相关函数 {Q(x, y)},而不依赖于 {y}。请明确指定未知 {Q} 的功能

笔记

  • 如果我仅在 e2 中将 Q 定义为 y 的函数,则 dsolve 语句有效,但这不是我想要的
  • 我已经研究过 pdsolve,但到目前为止没有任何运气。即我试过pdsolve({e1,e2,cond});这但是没有给出错误消息,但也没有输出。
  • 我在网上搜索了一些我收到的错误消息,但不幸的是,这并没有让我更进一步。
  • 如果 y 将 e1 中的 P 定义为 x 和 yP(x,y)和 set的函数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)

非常感谢任何提示/建议!

4

1 回答 1

2

这里的问题完全是程序和数学的。

考虑第一个错误:

错误,(在 dsolve 中)发现以下方程不依赖于输入系统的未知数:{diff(diff(Q(x, y), y), y) = 0}

这告诉你的是你有一个恒定的关系。从字面上看,你的函数的一阶导数Q(x,y)是一些常数,C并且进一步尝试找到下一个导数炸弹,因为你已经尽可能低了。为了完全迂腐,评估应该为零,但这似乎不是 Maple 支持的情况。

第二条错误消息似乎告诉您,当您将PQ作为未知数时,您仍然没有将真正的未知数y绑定到求解器。这也会导致 Maple 难度。

我想如果我们看到您对 的定义Q(x,y),我们会很快发现,至少根据 Maple 的说法,该函数实际上并不依赖于 的任何值x。这就是造成您的部分困难的原因。

此外,我不清楚你为什么要打电话diff,因为取两个函数的导数和二阶导数似乎不是你想要做的。也许这些应该被替换为dsolve,你的条件在这里指定?

于 2012-03-22T11:32:32.043 回答