Wolfram mathematica 求解二维运动微分方程
我试图解决一个非常简单的问题,在力{k1+k2*y,k3*t}的作用下找到物体的位置。以下是我进入Mathematica 7的内容:Wolfram mathematica 求解二维运动微分方程,wolfram-mathematica,Wolfram Mathematica,我试图解决一个非常简单的问题,在力{k1+k2*y,k3*t}的作用下找到物体的位置。以下是我进入Mathematica 7的内容: DSolve[{ x''[t]*m == k1 + k2*y[t], y''[t]*m == k3*t, y'[0] == 0, y[0] == 0, x'[0] == 0, x[0] == 0 }, {x[t], y[t]}, t] 我得到了这个错误: DSolve::deqn:在第一个参数{C m(x^[Prime])[t]^2==k
DSolve[{
x''[t]*m == k1 + k2*y[t],
y''[t]*m == k3*t,
y'[0] == 0,
y[0] == 0,
x'[0] == 0,
x[0] == 0
}, {x[t], y[t]}, t]
我得到了这个错误:
DSolve::deqn:在第一个参数{C m(x^[Prime])[t]^2==k1+k2 y[t],m(y^[Prime][Prime])[t]==k3 t,True,y[0]==0,True,x[0]==0}中预期的方程或方程列表
Mathematica似乎对边界条件x'[0]==0不满意。这是为什么?它在您键入时起作用。。。试着在一个新的笔记本上做这件事
当我剪切并粘贴您发布到M'ma 7.0.1中的代码并进行计算时,我得到了结果 {{x[t] -> (60*k1*m*t^2 + k2*k3*t^5)/(120*m^2), y[t] -> (k3*t^3)/(6*m)}} {{x[t]->(60*k1*m*t^2+k2*k3*t^5)/(120*m^2), y[t]->(k3*t^3)/(6*m)} 您的M'ma错误消息告诉我,在实际的M'ma输入中,x上实际上只有一个素数(即
x'[t]
)。它引用的等式,-cm(x^[Prime])[t]^2==k1+k2y[t]
,与上面代码的第一行不匹配
我还怀疑x'[0]和y'[0]以前被分配为零,这导致
x'[0]==0,…,y'[0]==0
同时塌陷为True
。最好的测试方法:杀掉你的内核并重新评估上面的输入(在修正了打字错误之后)。belisarius和Eric Towers都建议杀掉内核并重新评估。它们很可能是正确的,因为某些东西有一个先验的定义。您可以通过以下方式检查这是否属实:
?<variable name>
或者,如果您真的想去掉变量的任何定义,可以使用Remove
。这样,您就不必重新计算当前会话中的任何其他内容
Clear[x, y, k1, k2, k3, m]