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

📄 bdrwadd.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 M
字号:
function [xs,matrixE] = bdrwadd(matrixE,x,y,ds,F,dc)

% bdrwadd.m  Draw ADDER
% 5:46PM  9/18/99
%
%            Drawing 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
%

XS = ['                                                             '];
  title('ADDER input')
  [xe1,ye1]=ginput(1);   xe1 = round(xe1); ye1 =round(ye1);
  title('ADDER output')
line(xe1+2,ye1,'LineWidth',3, 'Color','m')
line(xe1-2,ye1,'LineWidth',3, 'Color','m')
line(xe1,ye1+2,'LineWidth',3, 'Color','m')
line(xe1,ye1-2,'LineWidth',3, 'Color','m')

  [xe2,ye2]=ginput(1);   
[xe21 ix21] = min(abs([xe2-(xe1-2) xe2-(xe1+2)]));
[ye21 iy21] = min(abs([ye2-(ye1-2) ye2-(ye1+2)]));

if abs(xe2-xe1) >= abs(ye2-ye1)
  if ix21 == 1
    xe2 = xe1-2;
  else
    xe2 = xe1+2;
  end
  ye2 = ye1;
else
  if iy21 == 1
    ye2 = ye1-2;
  else
    ye2 = ye1+2;
  end
  xe2 = xe1;
end

  if abs(xe2-xe1) >= abs(ye2-ye1)
   xy = xe2;
   xys ='x';
   xyor = 1;
   if xy < xe1  
    xtmp = xy;
    xy  = xe1;
    xe1 = xtmp;
   xyor = 3;
   end
  else
   xy = ye2;
   xys ='y';
   xyor = 2;
   if xy < ye1  
    ytmp = xy;
    xy  = ye1;
    ye1 = ytmp;
   xyor = 4;
   end
  end

if xyor == 1
  xs = ['drawadd(x(' num2str(xe1) '), y(' num2str(ye1) ...
     '), 2, 1, 1, 3, '' '', ' num2str(xyor) ', ds/3, F, dc);'];
elseif xyor == 3
  xs = ['drawadd(x(' num2str(xe1) '), y(' num2str(ye1) ...
     '), 1, 1, 2, 3, '' '', ' num2str(xyor) ', ds/3, F, dc);'];
elseif xyor == 2
  xs = ['drawadd(x(' num2str(xe1-1) '), y(' num2str(ye1+1) ...
     '), 1, 2, 3, 1, '' '', ' num2str(xyor-1) ', ds/3, F, dc);'];
elseif xyor == 4
  xs = ['drawadd(x(' num2str(xe1-1) '), y(' num2str(ye1+1) ...
     '), 1, 1, 3, 2, '' '', ' num2str(xyor-1) ', ds/3, F, dc);'];
end
  title(' ')

XS(1:max(size(xs)))=xs;
eval(xs);
matrixE=[matrixE;XS];

⌨️ 快捷键说明

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