mathematica绘制一维波动方程曲线,

mathematica绘制一维波动方程曲线,
对于d2u(x,t)/dt2-c^2*d2u(x,t)/dx2=0,0
yyhong 1年前 已收到2个回答 举报

单字 幼苗

共回答了17个问题采纳率:88.2% 举报

你给的初始条件这个 u(x,0)=d sin(2 pi x) 好像不对吧,d难道是系数吗?

1年前 追问

4

yyhong 举报

是的,d是个系数!

举报 单字

如果你是要画Plot3D的话,那么应该是求微分方程的数值解,因此要指定c,d的值,并用NDSolve求解。 c = 2; d = 1; sol = NDSolve[{Derivative[0, 2][u][x, t] - 4*Derivative[2, 0][u][x, t] == 0, Derivative[0, 1][u][x, 0] == 0, u[x, 0] == Sin[2*Pi*x], u[0, t] == 0, u[1, t] == 0}, u, {x, 0, 1}, {t, 0, Pi}, MaxStepSize -> 0.001] 求解出来的结果是一个插值形式的函数,你要用替换的方式才能转化成Plot3D能画的函数。 注意解方程和画图,运行时间都是很慢的,因为求解PDE真的很复杂。 Plot3D[Evaluate[u[x, t] /. sol], {x, 0, 1}, {t, 0, Pi}, PlotPoints -> 45, Mesh -> {25, 30}, PlotStyle -> Directive[Yellow, Specularity[White, 20], Opacity[0.8]]]

ykwykw 幼苗

共回答了5个问题 举报

我总觉得我可以解决的,但是貌似你已经睡着了

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 1.342 s. - webmaster@yulucn.com