📄 drawl.m
字号:
function drl = drawl(c,d,f,t,p,s,F)
% drawl.m Draw inductor
% 1:44 22/2/99
%
% Album of Analog Filter Realizations
%
% Authors: Dejan V. Tosic, Miroslav D. Lutovac, 1999.02.21
% tosic@telekom.etf.bg.ac.yu
% lutovac@galeb.etf.bg.ac.yu
%
% Copyright (c) 1999 by Tosic & Lutovac
% $Revision: 1.0 $ $Date: 1999/02/21 02:17:42 $
%
% References:
% Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
% Advanced Filter Design for Signal Processing
% Using MATLAB and Mathematica
%
a=(f+c)/2-0.4*s;
b=d;
g=c;
h=(f+d)/2-0.4*s;
xy01 = ceil(50*(acos(1/1.5)/(2*pi)+0.25))/50;
xy02 = ceil(50*(-acos(1/1.5)/(2*pi)-0.25))/50;
xy = 0:0.02:1;
xy1 = -0.25:0.02: xy01; xy2 = xy02:0.02:xy01;
xy3 = xy02:0.02:0.25; xy3(length(xy3)+1) = 0.25;
if p == 0
x = (f+c)/2-0.2*s + s*0.15*sin(2*pi*xy1);
y = d + s*0.15*cos(2*pi*xy1);
line(x,y)
x = (f+c)/2 + s*0.15*sin(2*pi*xy2);
y = d + s*0.15*cos(2*pi*xy2);
line(x,y)
x = (f+c)/2 + 0.2*s + s*0.15*sin(2*pi*xy3);
y = d + s*0.15*cos(2*pi*xy3);
line(x,y)
x2 = a + s*[(c-a)/s, 0.05];
y2 = b + s*[ 0, 0];
line(x2,y2)
x3 = a + s*[0.75, (f-a)/s];
y3 = b + s*[ 0, 0];
line(x3,y3)
text((c+f)/2,b+s*0.2,t,'FontName','Times','FontSize',F,...
'HorizontalAlignment','center','VerticalAlignment','bottom')
elseif p == 1
y = (f+d)/2-0.2*s + s*0.15*sin(2*pi*xy1);
x = c - s*0.15*cos(2*pi*xy1);
line(x,y)
y = (f+d)/2 + s*0.15*sin(2*pi*xy2);
x = c - s*0.15*cos(2*pi*xy2);
line(x,y)
y = (f+d)/2 + 0.2*s + s*0.15*sin(2*pi*xy3);
x = c - s*0.15*cos(2*pi*xy3);
line(x,y)
x = g + s*[ 0, 0];
y = h + s*[(d-h)/s, 0.05];
line(x,y)
x = g + s*[ 0, 0];
y = h + s*[0.75, (f-h)/s];
line(x,y)
text(g-s*0.2,h+s*0.4,t,'FontName','Times','FontSize',F,...
'HorizontalAlignment','right','VerticalAlignment','middle')
elseif p == 2
x = (f+c)/2-0.2*s + s*0.15*sin(2*pi*xy1);
y = d + s*0.15*cos(2*pi*xy1);
line(x,y)
x = (f+c)/2 + s*0.15*sin(2*pi*xy2);
y = d + s*0.15*cos(2*pi*xy2);
line(x,y)
x = (f+c)/2 + 0.2*s + s*0.15*sin(2*pi*xy3);
y = d + s*0.15*cos(2*pi*xy3);
line(x,y)
x2 = a + s*[(c-a)/s, 0.05];
y2 = b + s*[ 0, 0];
line(x2,y2)
x3 = a + s*[0.75, (f-a)/s];
y3 = b + s*[ 0, 0];
line(x3,y3)
text((c+f)/2,b-s*0.15,t,'FontName','Times','FontSize',F,...
'HorizontalAlignment','center','VerticalAlignment','top')
else
y = (f+d)/2-0.2*s + s*0.15*sin(2*pi*xy1);
x = c - s*0.15*cos(2*pi*xy1);
line(x,y)
y = (f+d)/2 + s*0.15*sin(2*pi*xy2);
x = c - s*0.15*cos(2*pi*xy2);
line(x,y)
y = (f+d)/2 + 0.2*s + s*0.15*sin(2*pi*xy3);
x = c - s*0.15*cos(2*pi*xy3);
line(x,y)
x = g + s*[ 0, 0];
y = h + s*[(d-h)/s, 0.05];
line(x,y)
x = g + s*[ 0, 0];
y = h + s*[0.75, (f-h)/s];
line(x,y)
text(g+s*0.15,h+s*0.4,t,'FontName','Times','FontSize',F,...
'HorizontalAlignment','left','VerticalAlignment','middle')
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -