Vectors must be the same length.
2 views (last 30 days)
Show older comments
theta=30:0.01:50;
lambda=633;
k0=2*pi/lambda;
e1=1.50^2;e3=1.33^2;e2=(0.12+1i*3.5)^2;
n1=1.50;n3=1.33;n2=0.12+1i*3.433;
d2=50;
n1=1.50;
x=n1*sind(theta);
k1=k0.*sqrt(e1.*mu1-x.^2);
k2=k0.*sqrt(e2.*mu2-x.^2);
k3=k0.*sqrt(e3.*mu3-x.^2);
q1=sqrt(e1-x.^2)./e1;
q2=sqrt(e2-x.^2)./e2;
q3=sqrt(e3-x.^2)./e3;
p=k2.*d2;
m111=cosd(p);
m112=-1i.*sind(p)./q2;
m121=-1i*q2.*sind(p);
m122=cosd(p);
Mtot=zeros(1,length(theta));
for j=1:length(theta)
M1=[m111(1,j),m112(1,j);m121(1,j),m122(1,j)];
Mtot=M1;
R(j) =((Mtot(1,1) +Mtot(1,2).*q3).*q1-Mtot(2,1) -Mtot(2,2).*q3)/(((Mtot(1,1) +Mtot(1,2).*q3).*q1+Mtot(2,1) +Mtot(2,2).*q3)).^2;
end
figure(1);
plot(theta,abs(R));
xlabel('incident angle');
ylabel('transmmission, s-pol');
plot is not showing any value error
Vectors must be the same length. pl help to plot
7 Comments
Answers (1)
Walter Roberson
on 27 Jan 2022
Is it possible that you ran this code twice with more theta values the first time? You are not preallocating R so if you ran multiple times R would exist with the previous size.
It would be a good idea to preallocate R in your code.
14 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!