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