📄 garadareval1.m
字号:
function [sol,val]=gaRadarEval(sol,options);
%sol=[1.0000 0.1500 4.5545 1.9175 6.1026 1.8698 15.8239 0.3104 8.4661 0.0010]
for i=1:5
n(i)=round(sol(2*i-1));
b(i)=sol(2*i);
end
d=sum(b);
t=zeros(1,5);
if d<10
t=b;
end
t=0.001*t;
%反射系数随频率的变化关系
f=12;
for i=1:5
switch n(i)
case 1
u(1)=1+j*0; e(1)=10+j*0;
kk(i)=u(1); tt(i)=e(1);
case 2
u(2)=1+j*0; e(2)=50+j*0;
kk(i)=u(2); tt(i)=e(2);
case 3
u(3)=5/f.^0.974-j*10/f.^0.961; e(3)=15+j*0;
kk(i)=u(3); tt(i)=e(3);
case 4
u(4)=3/f.^1.000-j*15/f.^0.975; e(4)=15+j*0;
kk(i)=u(4); tt(i)=e(4);
case 5
u(5)=7/f.^1.000-j*12/f.^1.000; e(5)=15+j*0;
kk(i)=u(5); tt(i)=e(5);
case 6
u(6)=1+j*0; e(6)=5/f.^0.861-j*8/f.^0.569;
kk(i)=u(6); tt(i)=e(6);
case 7
u(7)=1+j*0; e(7)=8/f.^0.778-j*10/f.^0.682;
kk(i)=u(7); tt(i)=e(7);
case 8
u(8)=1+j*0; e(8)=10/f.^0.778-j*6/f.^0.861;
kk(i)=u(8); tt(i)=e(8);
case 9
u(9)=35*0.64/(f.^2+0.64)-j*35*0.8*f/(f.^2+0.64); e(9)=15+j*0;
kk(i)=u(9); tt(i)=e(9);
case 10
u(10)=35*0.25/(f.^2+0.25)-j*35*0.5*f/(f.^2+0.25); e(10)=15+j*0;
kk(i)=u(10); tt(i)=e(10);
case 11
u(11)=30*1.00/(f.^2+1.00)-j*30*1.00*f/(f.^2+1.00); e(11)=15+j*0;
kk(i)=u(11); tt(i)=e(11);
case 12
u(12)=18*0.25/(f.^2+0.25)-j*18*0.5*f/(f.^2+0.25); e(12)=15+j*0;
kk(i)=u(12); tt(i)=e(12);
case 13
u(13)=20*2.25/(f.^2+2.25)-j*20*1.5*f/(f.^2+2.25); e(13)=15+j*0;
kk(i)=u(13); tt(i)=e(13);
case 14
u(14)=30*6.25/(f.^2+6.25)-j*30*2.5*f/(f.^2+6.25); e(14)=15+j*0;
kk(i)=u(14); tt(i)=e(14);
case 15
u(15)=30*4.00/(f.^2+4.00)-j*30*2.0*f/(f.^2+4.00); e(15)=15+j*0;
kk(i)=u(15); tt(i)=e(15);
case 16
u(16)=25*12.25/(f.^2+12.25)-j*25*3.5*f/(f.^2+12.25); e(16)=15+j*0;
kk(i)=u(16); tt(i)=e(16);
otherwise
input error
end
end
u=kk;
e=tt;
u;
e;
%反射特性随角度的变化
for q=1:45;
i=6;
a(i)=(3.1416/90)*q;
k(i)=20*3.14*f*cos(a(i))/3;
u(i)=1;e(i)=1;
while i>1
a(i-1)=asin(sqrt(u(i)*e(i)/(u(i-1)*e(i-1)))*sin(a(i)));
k(i-1)=20*3.14*f*sqrt(u(i-1)*e(i-1))*cos(a(i-1))/3;
i=i-1;
end
k;
%计算多层介质的反射系数
N=6;
for i=1:N
if i>1
r(i)=(u(i-1)*k(i)-u(i)*k(i-1))/(u(i-1)*k(i)+u(i)*k(i-1));
R(i)=(r(i)+R(i-1)*exp(-2*j*k(i-1)*t(i-1)))/(1+r(i)*R(i-1)*exp(-2*j*k(i-1)*t(i-1)));
else
r(i)=-1;
R(i)=-1;
end
end
re=abs(R(N));
y(q)=1-re;
end
val=sum(y);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -