making pink noise (1/f) using list of frequencies
Pink noise, as you know, has contributing amplitudes inversely proportional to each corresponding frequency. It appears more sinusoidal than white noise (constant power spectrum) because the low frequency components have large amplitudes. The high frequency components do not contribute that much to the overall noise amplitude.

To recreate pink noise in MATLAB, I would use the following technique:

1.) Generate a square wave (ones(n) will create a square wave of width n).

2.) Take the Fourier Transform of the signal (fft(x)). This will give you the sinc function. The DC component will be 1.

3.) In a for loop, add noise to the amplitude of each frequency of the FFT sinc function. The range of values of the noise will be dependent on 1/f.

4.) Take the inverse Fourier Transform of the noisy FFT. Then subtract 1 to yield a pink noise vector of length n centered around $0$.