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

📄 bdrwma.m

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

% bdrwma.m    BUTTON MA
%
% 7:46AM  10/3/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('MATLAB -> Mathematica')

disp(' ')

for indEp = 1:s1-1

indE = indEp+1;

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

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

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);
    a1(length(a1))=[]; a1(1:2)=[]; a1=['x[[' a1 ']]'];
  end
  newa = ' ';
  newa = [];
  if     msi4 > 0
% ###################################### change name
    a0M = a0;
    if length(a0)==6
      a0(7)= ' ';
    end
    if sum(abs(a0(1:6) - 'drawin')) == 0
      a0M(1:6) = 'DrawIn';
      a0M(7) = ' ';
      a0M(7) = [];
    end
    if sum(abs(a0(1:7) - 'drawout')) == 0
      a0M(1:7) = 'DrawOut';
    end
    if sum(abs(a0(1:7) - 'drawlvh')) == 0
      a0M(1:7) = 'DrawLVH';
    end
    if sum(abs(a0(1:7) - 'drawlhv')) == 0
      a0M(1:7) = 'DrawLHV';
    end
    if sum(abs(a0(1:7) - 'drawdel')) == 0
      a0M(1:7) = 'DrawDel';
    end
    if sum(abs(a0(1:7) - 'drawadd')) == 0
      a0M(1:7) = 'DrawAdd';
    end

    if length(a0)==8
      if sum(abs(a0(1:8) - 'drawmult')) == 0
        a0M(1:8) = 'DrawMult';
      end
      if sum(abs(a0(1:8) - 'drawline')) == 0
        a0M(1:8) = 'DrawLine';
      end
      if sum(abs(a0(1:8) - 'drawnode')) == 0
        a0M(1:8) = 'DrawNode';
      end
      if sum(abs(a0(1:8) - 'drawtext')) == 0
        a0M(1:8) = 'DrawText';
      end
    end


    newa = [a0M '[' a1];
  end
  if msi1 > 1
    a2 = t1(i1(1)+1:i1(2)-1);
    abi=0;abi=[];abi = find(a2-' '==0); 
    if isempty(abi) == 0
      for ind = length(abi):-1:1
        a2(abi(ind)) =[];
      end
    end
%    disp(a2)
    a2(length(a2))=[]; a2(1:2)=[]; a2=['y[[' a2 ']]'];
    if msi1 > 2
      a3 = t1(i1(2)+1:i1(3)-1);
      abi=0;abi=[];abi = find(a3-' '==0); 
      if isempty(abi) == 0
        for ind = length(abi):-1:1
          a3(abi(ind)) =[];
        end
      end

if a3(1)=='y'
    a3(length(a3))=[]; a3(1:2)=[]; a3=['y[[' a3 ']]'];
elseif a3(1)=='x'
    a3(length(a3))=[]; a3(1:2)=[]; a3=['x[[' a3 ']]'];
elseif (sum(abs(a0(1:7) - 'drawnod')) == 0)|(sum(abs(a0(1:6) - 'drawin')) == 0)|...
  (sum(abs(a0(1:7) - 'drawout')) == 0|sum(abs(a0(1:7) - 'drawtex')) == 0)
  a3(1) = []; a3(length(a3)) = [];
  a3 = ['"' a3 ' "'];
end

      if msi1 > 3
        a4 = t1(i1(3)+1:i1(4)-1);
        abi=0;abi=[];abi = find(a4-' '==0); 
        if isempty(abi) == 0
          for ind = length(abi):-1:1
            a4(abi(ind)) =[];
          end
        end
if sum(abs(a0(1:7) - 'drawadd')) > 0
  if a4(1)=='y'
      a4(length(a4))=[]; a4(1:2)=[]; a4=['y[[' a4 ']]'];
  elseif a4(1)=='x'
      a4(length(a4))=[]; a4(1:2)=[]; a4=['x[[' a4 ']]'];
  elseif (sum(abs(a0(1:7) - 'drawnod')) > 0)&(sum(abs(a0(1:6) - 'drawin')) > 0)&...
   (sum(abs(a0(1:7) - 'drawout')) > 0)&(sum(abs(a0(1:7) - 'drawtex')) > 0)
      a4(1)='"'; a4(length(a4))=' ';  a4(length(a4)+1)='"'; 
  end
end
        if msi1 > 4
          a5 = t1(i1(4)+1:i1(5)-1);
          abi=0;abi=[];abi = find(a5-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a5(abi(ind)) =[];
            end
          end
        end
a5lold = a5;
if sum(abs(a0(1:7) - 'drawadd')) > 0
  if a5(1)=='y'
      a5(length(a5))=[]; a5(1:2)=[]; a5=['y[[' a5 ']]'];
  elseif a5(1)=='x'
      a5(length(a5))=[]; a5(1:2)=[]; a5=['x[[' a5 ']]'];
  elseif (sum(abs(a0(1:7) - 'drawnod')) > 0)&(sum(abs(a0(1:6) - 'drawin')) > 0)&...
   (sum(abs(a0(1:7) - 'drawout')) > 0)
      a5(1)='"'; a5(length(a5))=' ';  a5(length(a5)+1)='"'; 
  elseif (sum(abs(a0(1:7) - 'drawnod')) == 0)
      a5 = '1'; 
  end
end
      end
    end
  end
end

if     msi1 > 5
  a6 = t1(i1(5)+1:i1(6)-1);
          abi=0;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=0;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=0;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=0;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=0;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=0;abi=[];abi = find(aend-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              aend(abi(ind)) =[];
            end
          end

  if sum(abs(a0(1:7) - 'drawadd')) == 0
    a7(1)='"'; a7(length(a7))=' ';  a7(length(a7)+1)='"'; 
  end
end

if sum(abs(a0(1:7) - 'drawlhv')) == 0
  a5=a5lold;
end
if sum(abs(a0(1:7) - 'drawlvh')) == 0
  a5=a5lold;
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 '],'];

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

end

matrixEn = matrixE;

delete drawdfax.m
diary  drawdfax.m
timedraw = clock;
tmpstr = ['(* creation date: ' date '  time: ' num2str(timedraw(4)) ':' num2str(timedraw(5)) '*)'];

disp(' ')
disp('(*  DrawDFAx  *)')
disp(tmpstr)
disp('Nx = 7;')
disp('Ny = 5;')
disp('x0 = 0;')
disp('y0 = 0;')
disp('dx = 4;')
disp('x = x0+Table[i*dx/4,{i,4*Nx}];')
disp('y = y0+Table[i*dx/4,{i,4*Ny}];')
disp('DrawDFAx[x0_,y0_,dx_,ds_,F_:8] := Module[{')
disp('x = x0+Table[i*dx,{i,50}],  y = y0+Table[i*dx,{i,50}]},')
disp('Show[{')
disp(matrixE)
disp('{}')
disp('}')
disp(',AspectRatio -> Automatic,Axes -> False, PlotRange -> All]];')
%disp('DrawDFAx[0,0,1,4*1/0.8,10];')
end
diary  off

⌨️ 快捷键说明

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