MATLABではどのようにプロットしますか
f(r) = { 2*J1(a*r) / r }^2
ここで、a = 2*pi、J1 は第 1 種ベッセル関数、r = sqrt(x^2 + y^2)
これは 3D でプロットする必要があります。つまり、泡のようになります (これを行う方法がわからない)。
MATLABではどのようにプロットしますか
f(r) = { 2*J1(a*r) / r }^2
ここで、a = 2*pi、J1 は第 1 種ベッセル関数、r = sqrt(x^2 + y^2)
これは 3D でプロットする必要があります。つまり、泡のようになります (これを行う方法がわからない)。
besselj --- 第 1 種 Bessel 関数 --- を使用して を生成しますJ1
。変化させて「バブル」を生成する必要があると思いa
ますr
。
meshing points を変化させx
、y
fromおよび plotting することにより、次のように生成しました。これがあなたの望むものかどうかはわかりません。-1:0.01:1
(x,y,f)
a = 2*pi;
[X Y] = meshgrid(-1:0.01:1,-1:0.01:1);
R = sqrt(X.^2+Y.^2);
f = (2*besselj(1,a*R(:))./R(:)).^2;
mesh(X,Y,reshape(f,size(X)));
axis vis3d;
Doresdoom の提案、私は に置き換えaxis vis3d;
ましたset(gca,'Zscale','Log')
。