24小时热门版块排行榜    

查看: 1184  |  回复: 1

mouhd

铜虫 (小有名气)

[求助] Mathematica画图问题 已有1人参与

Rho= Sqrt[x^2 + y^2]; Theta= ArcTan[y/x]; Plot3D[z = (Sin[Theta] + Cos[Theta])*BesselJ[1, Rho], {x, -10,  10}, {y, -10, 10}]

代码如上图像如附件所示
用Mathematica画亥姆赫兹方程的1阶贝塞尔函数解函数图像,但因为要直角坐标转柱坐标,所以用了Arctan函数,导致图像在x=0处不连续,求解答

Mathematica画图问题
图像.JPG
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

很简单,ArcTan的值域,是 -Pi/2 到 Pi/2 ……要解决这个问题很简单,那就是,改用RevolutionPlot3D:

RevolutionPlot3D[(Sin[t] + Cos[t])*BesselJ[1, r], {r, 0, 10}, {t, 0, 2 Pi}]

当然了,硬要Plot3D也是可以的,那就需要你把ArcTan后的角度和实际角度凑出来,比如:

Rho = Sqrt[x^2 + y^2]; Theta = If[x y > 0, ArcTan[x, y], 2 Pi + ArcTan[x, y]];
Plot3D[(Sin[Theta] + Cos[Theta])*BesselJ[1, Rho], {x, -10, 10}, {y, -10, 10}]
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
2楼2014-07-03 18:19:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mouhd 的主题更新
信息提示
请填处理意见