How to plot shaded rectangles in between band gaps?
Ältere Kommentare anzeigen
How to add the rectangle shaded boxes in between the band gaps. Ref image attached in end of the page.
clc
close all
c = 3e8;
d1 = 0.4;d2 = 0.6;d = d1 + d2;
n1 = sqrt(12);n2 = 1;
lambda = linspace(400e-3,800e-3, 10000000);
D1 = (2*pi*n1*d1)./lambda;D2 = (2*pi*n2*d2)./lambda;
RHS = cos(D1).*cos(D2) - 0.5*(n1^2+n2^2)/(n1*n2) * sin(D1) .*sin(D2);
kz1 =acos(RHS)/d;
IDX1 = -1<RHS<1;
kz1(IDX1)=nan;
kz=real(kz1);
kz(kz==0)=nan;
figure(1)
plot(kz,lambda,'r')
xlabel('wave vector')
ylabel('frequency')

3 Kommentare
Rik
am 15 Aug. 2023
What have you tried so far? The patch function should do what you need.
GULZAR
am 15 Aug. 2023
Star Strider
am 15 Aug. 2023
The obvious solution is the patch function. I tried that, however I could not figure out how your code works.
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Lengths and Angles finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

