Построение функций Бесселя

Как построить функцию Бесселя (2d) 1-го рода в Matlab?


person the_aardavark    schedule 30.04.2010    source источник


Ответы (2)


Две части этого:

  1. Как строить графики функций в MATLAB?
  2. Как оценить функцию Бесселя в заданном диапазоне?
person duffymo    schedule 30.04.2010

Если вы имеете в виду двухмерный сюжет, вы можете выбрать несколько \nu и наложить их, используя, например.

nu=0:0.5:3;
[nuGrid,z]=meshgrid(nu,linspace(0,10,100));
myBessel=besselj(nuGrid,z);
plot(z,myBessel)
xlabel('\nu')
ylabel('z')
zlabel('J_\nu(z)')
legend(cellstr(num2str(nu')))

который дает:

альтернативный текст

Если вы имеете в виду график функции двух переменных, вот способ (вы можете заменить mesh на surf, если хотите):

[nu,z]=meshgrid(linspace(0,5,100),linspace(0,10,100));
myBessel=besselj(nu,z);
mesh(nu,z,myBessel)
xlabel('\nu')
ylabel('z')
zlabel('J_\nu(z)')

Вот получившийся график:

альтернативный текст

person Ramashalanka    schedule 01.05.2010
comment
Я почти уверен, что он имел в виду графы типа y = f(x), когда говорил о 2D. Я бы назвал ваш первый график формы z = f(x, y) трехмерным. - person Andreas Rejbrand; 01.05.2010
comment
@Andreas: Я подумал, что это может быть так, и я увидел, что так думал duffymo (ссылаясь на plot). Но я догадался, что ОП (2d) не нужно указывать, и заставил меня подумать, что он имел в виду это как функцию двух переменных. С 1 представителем, ну, вероятно, никогда больше не увидишь ОП, чтобы знать. Конечно, surf — это трехмерный график функции двух переменных. Я изменил акцент в своем ответе (и переделал его, чтобы избежать цикла for двумерного графика). - person Ramashalanka; 02.05.2010