for loop only shows value of last iteration.

조회 수: 4 (최근 30일)
Nawaf Al-Fraih
Nawaf Al-Fraih 2017년 12월 12일
편집: KL 2017년 12월 12일
for SNR_db=0:10
N=((E)/(10^(SNR_db/10)));
r=((H*Q1)+N);
Ymf=transpose(H)*r;
Ymf_dec=pskdemod(Ymf,4);
Ymf_bi=de2bi(Ymf_dec,4);
Er=(b_bar-Ymf_bi);
end
for SNR_db=0:10 only shows the last iteration which is 10. i want every iteration value of this loop in order to compare them.

답변 (1개)

KL
KL 2017년 12월 12일
편집: KL 2017년 12월 12일
You're overwriting all your variables inside the loop so you'd only see the result of the last iteration. You'd need to use arrays to store output of each iteration.
%preallocate
N = zeros(1,11);
SNR_db=0:10;
%other variables as well
for k = 1:11
N(k)=((E)/(10^(SNR_db(k)/10)));
...
end
or use matlab wisely without a loop,
SNR_db = 0:10;
N=E./(10.^(SNR_db./10));
%and so on

카테고리

Help CenterFile Exchange에서 Link-Level Simulation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by