why am I getting matrix dimension error..?

7 views (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)

Categories

Find more on Environment and Clutter 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!