如何使用具有给定 k 范围(降低频率)的 besselh 函数在 matlab 中绘图?

How to plot in matlab using the besselh function with a given range of k (reduced frequency)?

我正在使用一个名为 besselh 的 Matlab 函数,它给出了二维翼型 Theoderon 升力不足函数的精确解,该二维翼型在给定 k 范围的不可压缩流中执行简谐运动。

我正在尝试用给定的 k 范围绘制此函数的实部。我觉得我的代码中缺少一些非常简单的东西。也许,我可能通过在循环中包含 "plot" 函数来错误地使用 for 循环?

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

下面是情节应该是什么样子的图片(实线)。

如有任何帮助,我们将不胜感激,在此先感谢您!

您正在尝试单独绘制每个点。只需计算 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))