📄 bdrwadd.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 + -