# Matlab graph not showing

9 views (last 30 days)
Sander Grosemans on 19 Apr 2021 at 20:34
Commented: Star Strider on 19 Apr 2021 at 22:41
clear;
close all;
s1=0.535*exp(1i*2*pi/3); s2=0.535*exp(1i*pi); s3=0.535*exp(1i*4*pi/3);
a1=-0.268-0.154*1i; a2=0.535; a3=-0.268+0.154*1i;
w=linspace(0,pi,200);
H1=a1./(2*((1-exp(-1i*w))/(1+exp(-1i*w)))-s1);
H2=a2./(2*((1-exp(-1i*w))/(1+exp(-1i*w)))-s2);
H3=a3./(2*((1-exp(-1i*w))/(1+exp(-1i*w)))-s3);
H=H1+H2+H3;
subplot(1,2,1);
plot(w/pi,abs(H));
ylabel('abs(H)');
subplot(1,2,2);
plot(w/pi,20*log10(abs(H)));
ylabel('dB');
My graph above gives me 2 blank graphs when I run the code and I don't know why, can anyone that is more experienced with matlab tell me why? Thanks in advance
Sander Grosemans on 19 Apr 2021 at 20:53
I found it has to do that H is just a value, while it is supposed to be a double. But I still don't know how to fix it

Star Strider on 19 Apr 2021 at 21:27
Use element-wise division (./) instead of (/) and it works —
s1=0.535*exp(1i*2*pi/3); s2=0.535*exp(1i*pi); s3=0.535*exp(1i*4*pi/3);
a1=-0.268-0.154*1i; a2=0.535; a3=-0.268+0.154*1i;
w=linspace(0,pi,200);
H1=a1./(2*((1-exp(-1i*w))./(1+exp(-1i*w)))-s1);
H2=a2./(2*((1-exp(-1i*w))./(1+exp(-1i*w)))-s2);
H3=a3./(2*((1-exp(-1i*w))./(1+exp(-1i*w)))-s3);
H=H1+H2+H3;
subplot(1,2,1);
plot(w/pi,abs(H));
ylabel('abs(H)');
subplot(1,2,2);
plot(w/pi,20*log10(abs(H)));
ylabel('dB');
See the documentation on Array vs. Matrix Operations for an extended discussion. .
##### 2 CommentsShowHide 1 older comment
Star Strider on 19 Apr 2021 at 22:41
As always, my pleasure!
I wish you and your family the same!

R2020a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!