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