Построение функции Бесселя в MATLAB
В MATLAB как ты сюжет
f(r) = { 2*J1(a*r) / r }^2
где a = 2*pi и J1 - функция Бесселя 1-го рода и r = sqrt(x^2 + y^2)
Это должно быть построено в 3D, то есть вроде пузыря (не знаю, как это сделать)
1 ответ
Используйте besselj --- функцию Бесселя первого рода --- для генерации J1
, Я полагаю, вы должны изменить a
а также r
генерировать "пузырь".
Я сгенерировал следующее, варьируя x
а также y
от -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')
,