登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
一维FDTD的MATLAB程序2
发帖
回复
1306
阅读
1
回复
[
转载
]
一维FDTD的MATLAB程序2
离线
lihao1223
享受孤独
UID :76808
注册:
2011-05-05
登录:
2015-04-08
发帖:
105
等级:
仿真二级
0楼
发表于: 2011-05-24 19:57:47
这次是关于FDTD算法的。一维情况下在入口输入一个高斯脉冲的E分量,终端匹配。
f)*}L?
function FDTDonedimensionpipei(L,d,T)
Kr8p:$D};
%version1.0 终端匹配
KUB"@wUr
%FDTDonedimensionpipei(6,0.18,0.5e-9)
;;UvK v
t0=3*T;
/LJ?JwAvg5
c=3e8;
_hXadLt
u=4*pi*1e-7;
D3MuP p-v
e=8.8541878e-12;
=WN6Fj`
dz=T*c/10;
:JPI#zZun
Nz=L/dz;
<]"aP1+C
Nz=fix(Nz);
"ua/65cq9
dt=dz/2/c;
N>@AsI
Ex=zeros(1,Nz+1);
RMsr7M4<91
B=zeros(1,Nz+1);
koaH31Q
Hy=zeros(1,Nz);
-B@jQg@ >
Nt=2*Nz;
cT."
for n=0:Nt
`<[Zs]Fe4
t=n*dt;
fv)-o&Q#
F=exp(-(t-t0).^2./T^2);
d<#Xqc
Ex(1)=F;
xOZ?zN
for k=1:Nz
b$VdTpz
Hy(k)=Hy(k)+dt./u.*(Ex(k)-Ex(k+1))./dz;
'e0qdY`
end
o%CBSm]
for k=1:Nz-1
C[wnor!
Ex(k+1)=Ex(k+1)+dt./e.*(Hy(k)-Hy(k+1))./dz;
ZLBfQ+pM)
end
~Fisno
Ex(1)=B(2)+(c*dt-dz)./(c*dt+dz).*(Ex(2)-B(1));
lK}F>6^\
Ex(Nz+1)=B(Nz)+(c*dt-dz)./(c*dt+dz).*(Ex(Nz)-B(Nz+1));
EV]exYWB
Vref1=d.*Ex(Nz-300);
M a_! 1Y
Vref2=d.*Ex(Nz-100);
Kf(% aDYq
plot(t,Vref1,'s');
RN!oflb
hold on;
_Z2VS"yH
rMLCtGi
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
北斗寒星
UID :78053
注册:
2011-05-25
登录:
2015-02-26
发帖:
29
等级:
仿真新人
1楼
发表于: 2011-05-25 21:06:03
看看,好像这个程序问题啊
共
条评分
发帖
回复