How do i shorten this code?
2 views (last 30 days)
Show older comments
Deepak Aswani
on 14 Nov 2018
Commented: Deepak Aswani
on 14 Nov 2018
Hi, i know this is a noob-grade question, but i've tried making a code for a low pass butterworth filter magnitude response. Only problem is that i can't seem to compress the code so that i can have multiple lines of factor N into the graph without repetitions.
omc=1;
om=[0:0.1:4];
x=om/omc;
N=1;
y=x.^(2*N);
z=(1+y).^(0.5);
H=1./z;
figure;plot (om,H,'b');
xlabel('frequency in radians/sec');ylabel('Magnitude');
title('Low Pass Butterworth magnitude response');
N=2;
y=x.^(2*N);
z=(1+y).^(0.5);
H=1./z;
hold on;plot(om,H,'r');hold off;
N=3;
y=x.^(2*N);
z=(1+y).^(0.5);
H=1./z;
hold on;plot(om,H,'g');hold off;
N=4;
y=x.^(2*N);
z=(1+y).^(0.5);
H=1./z;
hold on;plot(om,H,'k');hold off;
legend('N=1','N=2','N=3','N=4');
0 Comments
Accepted Answer
Cris LaPierre
on 14 Nov 2018
omc=1;
om=[0:0.1:4];
[N,om]=meshgrid(1:4,om);
x=om/omc;
y=x.^(2*N);
z=(1+y).^(0.5);
H=1./z;
plot(om,H)
legend('N=1','N=2','N=3','N=4');
xlabel('frequency in radians/sec');ylabel('Magnitude');
title('Low Pass Butterworth magnitude response');
2 Comments
Cris LaPierre
on 14 Nov 2018
If colors are important, change your plot command to the following:
h = plot(om,H);
set(h, {'color'}, {'b'; 'r';'g';'k'});
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!