How to add complex WGN to complex damped exponential and compute SNR?
One suggestion is to leverage the vector processing in Matlab and to not add the noise in a for loop, but given the vector of your signal of length $N$ you can simply create the white Gaussian Noise using:
noise = std * sqrt(2)/2 * randn(N,1) + std * sqrt(2)/2* 1j*randn(N,1)
(or randn(1,N) if you prefer row vectors instead of column vectors)
Where std represents the total standard deviation of the noise.
Then the noise can be added to your signal simply using
y = x + noise
Next be aware that the total power as a white noise and the square of the standard deviation std in whatever units are chosen is distributed evenly over the entire frequency range given by -$f_s/2$ to +$f_s/2$ where $f_s$ is the sampling rate. SNR of interest is typically that portion of the noise that shares the same spectrum as the signal. (So if the signal only occupied 1/4 of the total spectrum as sampled, then the noise would be 1/4 or 6 dB lower than that predicted by the total variance of noise).