24小时热门版块排行榜    

查看: 634  |  回复: 2

zuzero

铁虫 (小有名气)

[交流] [交流贴]分享我的源代码(很短的代码实现矩量法计算圆柱散射) 已有1人参与

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TM波:
clear;
N = 128;
Z = zeros(N);
ka = 2 * 2 * pi;
kl = ka / N * 2 * pi;
phi = (0 : N - 1) * 2 * pi / N;
Z(1, 1) = 1 - 1i * 2 / pi * (log(kl / 2) - 1);
Z(1, 2 : N) = besselh(0, 2, ka * 2 * abs(sin(phi(2 : N) / 2)));
for nn = 2 : N
    Z(nn, = circshift(Z(1, , [0, nn - 1]);
end
phiAngle = 360;
phiAngle = (0 : phiAngle - 1) * 2 * pi / phiAngle;
Esca = exp(1i * ka * cos(bsxfun(@minus, phiAngle', phi)));
Einc = exp(1i * ka * cos(phi'));
rcs = 4 / (pi * ka) * abs(Esca * (Z \ Einc)) .^ 2;
hold on;
plot(phiAngle * 180 / pi, 10 * log10(rcs), 'r', 'linewidth', 2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%TE波
clear;
N = 128;
Z = zeros(N);
ka = 2 * 2 * pi;
kl = ka / N * 2 * pi;
phi = (0 : N - 1) * 2 * pi / N;
Z(1, 1) = 0.5;
Z(1, 2 : N) = abs(sin(phi(2 : N) / 2)) .* besselh(1, 2, ka * 2 * abs(sin(phi(2 : N) / 2))) * kl / 4i;
for nn = 2 : N
    Z(nn, = circshift(Z(1, , [0, nn - 1]);
end
phiAngle = 360;
phiAngle = (0 : phiAngle - 1) * 2 * pi / phiAngle;
temp = cos(bsxfun(@plus, phiAngle', phi));
Hsca = temp .* exp(1i * ka * temp);
Hinc = exp(1i * ka * cos(phi'));
rcs = kl ^ 2 / (4 * pi * ka) * abs(Hsca * (Z \ Hinc)) .^ 2;
hold on;
plot(phiAngle * 180 / pi, 10 * log10(rcs));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
希望能对需要的人有所帮助,尤其入门搞矩量法的


回复此楼
欢迎来我的个人主页,方便学术交流与合作:jijinzu.buaa.edu.cn
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zuzero

铁虫 (小有名气)

这个表示:  )
欢迎来我的个人主页,方便学术交流与合作:jijinzu.buaa.edu.cn
2楼2011-08-20 12:22:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

聂晓辉

金虫 (职业作家)

小灯泡


小木虫: 金币+0.5, 给个红包,谢谢回帖
亲  这个 程序中有笑脸是什么意思?
每一天,努力多一点!
3楼2016-05-20 11:19:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zuzero 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见