why am I getting matrix dimension error..?

1 view (last 30 days)
when i tried to run this code , its displaying the "matrix dimension must agree". I want the plot for phase angle at various frequencies. and when i used for loop i got the result only for last iteration and plot shows only last iterated point. can i get a help on this.
clc;
clear;
close all;
d=0.23;
theta=40;
f=1:18;
lamda(f)=3*0.1/f;
phaseangle(lamda)=(2*pi/(lambda))*d*sin(theta);
plot(f,phaseangle,'-o')
xlabel('frequency(Ghz)')
ylabel('phase angle')
%%%%%
clc;
clear;
close all;
d=0.23;
theta=40;
for f=1:1:18;
lamda=3*0.1/f;
phaseangle=(2*pi/(lambda))*d*sin(theta);
plot(f,phaseangle,'-o')
xlabel('frequency(Ghz)')
ylabel('phase angle')
end

Accepted Answer

Yongjian Feng
Yongjian Feng on 29 Jul 2021
There are several errors typos.
clc;
clear;
close all;
d=0.23;
theta=40;
f=1:18;
lambda =3*0.1./f;
phaseangle=(2*pi./(lambda))*d*sin(theta);
plot(f,phaseangle,'-o')
xlabel('frequency(Ghz)')
ylabel('phase angle')
%%%%%
clc;
clear;
close all;
d=0.23;
theta=40;
for f=1:1:18
lambda=3*0.1/f;
phaseangle=(2*pi./(lambda))*d*sin(theta);
plot(f,phaseangle,'-o')
xlabel('frequency(Ghz)')
ylabel('phase angle')
end
  3 Comments
Yongjian Feng
Yongjian Feng on 29 Jul 2021
You actually want this, right?
clc;
clear;
close all;
d=0.23;
theta=40;
f=1:18;
lambda=3*0.1./f;
phaseangle=(2*pi./(lambda))*d*sin(theta);
plot(f,phaseangle,'-o')
xlabel('frequency(Ghz)')
ylabel('phase angle')

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!