MATLAB Answers

HELP! My for loop code won't produce a line on the graph I plot

조회 수: 5(최근 30일)
Aaron Clewer
Aaron Clewer 2020년 3월 10일
댓글: ME 2020년 3월 10일
When I run my code, results will appear but my results just won't show on the graph:
K = 1
i = sqrt(-1);
n=0;
for w = 0.1:1000
n=n+1;
A(n) = w;
G(n) = K/((i*w)*((i*w)+1.71)*((i*w)+100));
end
M(n) = abs(G(n));
F(n) = 20*log(M(n));
semilogx(w,F)

답변(2개)

Ameer Hamza
Ameer Hamza 2020년 3월 10일
편집: Ameer Hamza 2020년 3월 10일
You were just plotting a single point. Check the indexing of variables after the for loop.
K = 1;
i = sqrt(-1);
n=0;
W = 0.1:1000;
for w = W
n=n+1;
A(n) = w;
G(n) = K/((i*w)*((i*w)+1.71)*((i*w)+100));
end
M = abs(G);
F = 20*log(M);
semilogx(W,F)

ME
ME 2020년 3월 10일
I'm not 100% sure but I'd guess you want the last line to be:
semilogx(A,F)
because otherwise everything is plotting at the same value on the x-axis.
  댓글 수: 2
ME
ME 2020년 3월 10일
Plots over the whole range of the x-axis for me. I guess the issue is that the line is right along the edge of the figure window. If you change the view of the axes or the axes limits then you'll be able to see the line.

댓글을 달려면 로그인하십시오.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by