MATLAB Answers

problem using for loop

2 views (last 30 days)
james morley
james morley on 27 Apr 2020
Answered: Sriram Tadavarty on 27 Apr 2020
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 Comments

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

Sign in to comment.

Answers (1)

Sriram Tadavarty
Sriram Tadavarty on 27 Apr 2020
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

  0 Comments

Sign in to comment.

Products


Release

R2020a