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;
You can work of with first case, as the SNR is from 0 and is contiguous.
Hope this helps.