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

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