Как построить график в Matlab, используя функцию Бесселя с заданным диапазоном k (пониженная частота)? - PullRequest
0 голосов
/ 07 июня 2018

Я использую функцию Matlab, называемую besselh, которая дает точное решение функции дефицита подъема Теодерона для двумерного профиля, выполняющего простое гармоническое движение в несжимаемом потоке с заданным диапазоном k.

Япытаясь построить реальную часть этой функции с заданным диапазоном k.Я чувствую, что упускаю что-то действительно простое в моем коде.Возможно, я мог бы использовать неправильный цикл for, включив в него функцию «plot»?

for k=10^-10:0.2:1.5 %range of k
H=(besselh(1,2,k))/(besselh(1,2,k)+i*besselh(0,2,k)) %Bessel function
plot(k,real(H))
%plot(k,imag(H))
end

Ниже показано, как должен выглядеть график (сплошная линия).

Любая помощь будет оценена, спасибо заранее!

This is how the plot should look like

1 Ответ

0 голосов
/ 07 июня 2018

Вы пытаетесь построить каждую точку индивидуально.Просто рассчитайте функцию по всему диапазону для k и затем построите график:

k = 10^-10:0.2:1.5; %range of k
% notice the ./ means element-wise vector division
H = (besselh(1,2,k)) ./ (besselh(1,2,k) + i * besselh(0,2,k)); %Bessel function
plot(k,real(H))
...