Я думаю, что ваш результат на самом деле правильный , и это простая проблема с построением графика или с тем, как вы указываете theta
.Поскольку это периодическая функция, давайте нарисуем еще несколько периодов:
function q52693512
eta = 376.7303134617706554679; % 120pi
ka = 4;
N = 24;
coeff = (2)/(pi*eta*ka);
Jz = 0;
theta = linspace(-3*pi, 3*pi, 180);
for n = 0:N
kappa = 1 + (n>0);
num = (-1.^(n)).*(1i.^(n)).*(cos(n.*theta)).*(kappa);
Hankel = besselh(n,2,ka);
Jz = Jz + ((num./Hankel));
end
Jz = Jz.*coeff;
figure(); plot(theta, abs(Jz));
Возможно, вы уже можете увидеть, что желаемые результаты там , но смещен на половину периода относительно нашего результата.Это будет понятнее, если мы снова посмотрим на центр (это именно та форма, которую вы хотите, если игнорировать значения горизонтальной оси).
Попробуйте поискатькакое-то оправдание для ϕ равным theta
± π / 2 (или что-то подобное).