problem using for loop

I'm having issues with the for loop below. It is meant to cycle through 0 to 12 snr values and then at the end show a final BER value for each of the iterations of snr. Currently the final BER is just showing what happens at the end of the loop when the snr=12. How can i create an array to show every BER value from snr=0:12?

3 个评论

Try to update as below and let me know if it fixes:
finalBER(sn+1) = numerrs/N;
Thats worked, thank you so much!
Glad it helped.
I will place the same in answer.

请先登录,再进行评论。

回答(1 个)

Hi James,
The variable is updated with the latest value in the for loop, leading to have only single value at the end of the for loop.
Make it an array by indexing the value of each snr point, to have the array of values at the end of loop.
Since, sn starts from 0, and is contiguous, you can use the following:
finalBER(sn+1) = numerrs/N;
If sn is not from 0 or if the SNR values are not steps of 1, try the following:
count = 1;
...
for sn = SNR
...
finalBER(count) = numerrs/N;
count = count+1;
end
You can work of with first case, as the SNR is from 0 and is contiguous.
Hope this helps.
Regards,
Sriram

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2020a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by