在 MATLAB 中绘制贝塞尔函数
在 MATLAB 中,如何绘制
f(r) = { 2*J1(a*r) / r }^2
其中 a = 2*pi J1 是第一类贝塞尔函数 r = sqrt(x^2 + y^2)
这应该以 3D 形式绘制,即有点像气泡(不知道如何做到这一点)
In MATLAB how do you plot
f(r) = { 2*J1(a*r) / r }^2
where a = 2*pi
and J1 is Bessel function of the 1st kind
and r = sqrt(x^2 + y^2)
This should plot in 3D, i.e. kind of be like a bubble (not sure how to do this)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 besselj -- - 第一类贝塞尔函数---生成
J1
。我想你必须改变a
和r
才能生成“气泡”。我通过从
-1:0.01:1
改变x
和y
并绘制网格点(x,y,f )
,不知道这是否是你想要的。代码
日志图
Doresdoom 建议,我用
set(gca,'Zscale','Log') 替换
axis vis3d;
。网格
Use besselj --- the Bessel function of first kind --- to generate
J1
. I suppose you have to varya
andr
to generate the "bubble".I generated the following by varying
x
andy
from-1:0.01:1
and plotting meshing points(x,y,f)
, I don't know if this is what you want.Code
Log plot
Doresdoom suggestion, I replaced
axis vis3d;
withset(gca,'Zscale','Log')
.Mesh