www.gusucode.com > matlab编程遗传算法计算匹配电路源码程序 > code1/code/MATLAB源代码/lowpassS21.m

    function S21 = lowpassS21(Chrom)
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
[RowLocation,ColumnLocation]=find(Chrom>1000);
num=size(RowLocation);
ChromCopy=Chrom;
for k=1:num
    ChromCopy(RowLocation(k),ColumnLocation(k))=(ChromCopy(RowLocation(k),ColumnLocation(k))-1000)/10;
end
[RowLocation,ColumnLocation]=find(Chrom==0);
num=size(RowLocation);
for k=1:num
    ChromCopy(RowLocation(k),ColumnLocation(k))=0.9;
end
[m,n]=size(ChromCopy);
ABCD=zeros(2,2,m);
for k=1:m
    ABCD(:,:,k)=[1 0;2*pi*1e-4*ChromCopy(k,1)*1i 1]*[1 0.2*pi*ChromCopy(k,2)*1i;0 1]*...
[1 0;2*pi*1e-4*ChromCopy(k,3)*1i 1]*[1 0.2*pi*ChromCopy(k,4)*1i;0 1]*[1 0;2*pi*1e-4*ChromCopy(k,5)*1i 1];
end
S21=-20*log10(abs(2./(squeeze(ABCD(1,1,:))+squeeze(ABCD(1,2,:))/50+squeeze(ABCD(2,1,:))*50+squeeze(ABCD(2,2,:)))));
end