⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bdrwedit.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 M
字号:
function matrixEn = bdrwedit(matrixE)
% matrixE = bdrwedit(matrixE);

% bdrwedit.m    BUTTON EDIT
%
% 10:08PM  9/16/99
%
%            Drawing Digital Filter Realizations
%
%   Authors: Miroslav D. Lutovac, Dejan V. Tosic, 1999.02.21
%                 lutovac@galeb.etf.bg.ac.yu
%                 tosic@telekom.etf.bg.ac.yu
%
%   Copyright (c) 1999 by Lutovac & Tosic
%   $Revision: 1.0 $  $Date: 1999/08/21 02:17:42 $
%
%   References:
%        Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
%           Advanced Filter Design for Signal Processing
%                   Using MATLAB and Mathematica
%

clc
[s1,s2] = size(matrixE);

title('GO TO  -->  COMMAND WINDOW')

disp(' ')
for indS = 2:s1
  disp([num2str(indS-1) '. ' matrixE(indS,:)])
end
indE = input('Edit item no. ? ');
indE = indE+1;

if (indE>1)&(indE<s1+1)

t1 = matrixE(indE,:);
i1 = find(t1-','==0);

disp(t1)

msi1 =  max(size(i1));
msi2 =  max(size(t1));

if     msi1 > 0
  a01 = t1(1:i1(1)-1);
  msi3 =  max(size(a01));
  ii1 = find(a01-'('==0);
  msi4 =  max(size(ii1));
  if     msi4 > 0
    a0 = t1(1 : ii1(1)-1);
    a1 = t1(ii1(1)+1 : msi3);
  end
  newa = [];
  if     msi4 > 0
    newa = [a0 '(' a1];
  end
  if msi1 > 1
    a2 = t1(i1(1)+1:i1(2)-1);
    abi=[];abi = find(a2-' '==0); 
    if isempty(abi) == 0
      for ind = length(abi):-1:1
        a2(abi(ind)) =[];
      end
    end
%    disp(a2)
    if msi1 > 2
      a3 = t1(i1(2)+1:i1(3)-1);
      abi=[];abi = find(a3-' '==0); 
      if isempty(abi) == 0
        for ind = length(abi):-1:1
          a3(abi(ind)) =[];
        end
      end
      if msi1 > 3
        a4 = t1(i1(3)+1:i1(4)-1);
        abi=[];abi = find(a4-' '==0); 
        if isempty(abi) == 0
          for ind = length(abi):-1:1
            a4(abi(ind)) =[];
          end
        end
        if msi1 > 4
          a5 = t1(i1(4)+1:i1(5)-1);
          abi=[];abi = find(a5-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a5(abi(ind)) =[];
            end
          end
        end
      end
    end
  end
end

if     msi1 > 5
  a6 = t1(i1(5)+1:i1(6)-1);
          abi=[];abi = find(a6-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a6(abi(ind)) =[];
            end
          end
  if msi1 > 6
    a7 = t1(i1(6)+1:i1(7)-1);
          abi=[];abi = find(a7-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a7(abi(ind)) =[];
            end
          end
    if msi1 > 7
      a8 = t1(i1(7)+1:i1(8)-1);
          abi=[];abi = find(a8-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a8(abi(ind)) =[];
            end
          end
      if msi1 > 8
        a9 = t1(i1(8)+1:i1(9)-1);
          abi=[];abi = find(a9-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a9(abi(ind)) =[];
            end
          end
        if msi1 > 9
          a10 = t1(i1(9)+1:i1(10)-1);
          abi=[];abi = find(a10-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a10(abi(ind)) =[];
            end
          end
        end
      end
    end
  end
end

aend =  t1(i1(msi1)+1:msi2);
          abi=[];abi = find(aend-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              aend(abi(ind)) =[];
            end
          end

if length(a0)==7
if sum(abs(a0 - 'drawres')) == 0
  olda5 = ['RESISTOR ? '];
  newa5 = input(olda5,'s');
  a5 = ['''' newa5  ''''];
end

if sum(abs(a0 - 'drawcap')) == 0
  olda5 = ['CAPACITOR ? '];
  newa5 = input(olda5,'s');
  a5 = ['''' newa5  ''''];
end

if sum(abs(a0 - 'drawind')) == 0
  olda5 = ['INDICTOR ? '];
  newa5 = input(olda5,'s');
  a5 = ['''' newa5  ''''];
end

if sum(abs(a0 - 'drawimp')) == 0
  olda5 = ['IMPEDANCE ? '];
  newa5 = input(olda5,'s');
  a5 = ['''' newa5  ''''];
end

if sum(abs(a0 - 'drawout')) == 0
  olda3 = ['OUT text = '];
  newa3 = input(olda3,'s');
  a3 = ['''' newa3  ''''];
end
end

if length(a0)==6
if sum(abs(a0 - 'drawin')) == 0
  olda3 = ['IN text = '];
  newa3 = input(olda3,'s');
  a3 = ['''' newa3  ''''];
end
end

if length(a0)==8
if sum(abs(a0 - 'drawopam')) == 0
  disp('0  +      1 - input ');
  disp('   -        + input ');
  olda6 = ['0 or 1  ? '];
  newa6 = input(olda6,'s');
  if (sum(abs(newa6 - '0')) == 0) | (sum(abs(newa6 - '1')) == 0)
    a6 = newa6;
  end
  olda5 = ['Opamp ? '];
  newa5 = input(olda5,'s');
  a5 = ['''' newa5  ''''];
end

if sum(abs(a0 - 'drawnode')) == 0
  olda3 = ['new NODE label = '];
  newa3 = input(olda3,'s');
  a3 = ['''' newa3  ''''];
end

if sum(abs(a0 - 'drawtext')) == 0
  olda3 = ['TEXT = '];
  newa3 = input(olda3,'s');
  a3 = ['''' newa3  ''''];
end
end

if     msi1 > 0
  if msi1 > 1
    newa = [newa ',' a2];
    if msi1 > 2
      newa = [newa ',' a3];
      if msi1 > 3
        newa = [newa ',' a4];
        if msi1 > 4
          newa = [newa ',' a5];
        end
      end
    end
  end
end
if     msi1 > 5
  newa = [newa ',' a6];
  if msi1 > 6
    newa = [newa ',' a7];
    if msi1 > 7
      newa = [newa ',' a8];
      if msi1 > 8
        newa = [newa ',' a9];
        if msi1 > 9
          newa = [newa ',' a10];
        end
      end
    end
  end
end
          newa = [newa ',' aend];
%disp(newa)

matrixE(indE,1:61) ='                                                             ';
matrixE(indE,1:length(newa))=newa;

end

matrixEn = matrixE;

figure(1)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -