I recommend using a band-stop filter rather than manually removing a peak from the spectra and then recreating the time-domain signal. Manually removing peaks can produce strange results when working with measurement data due to content bandwidths and harmonics.
In your example data above, you can use the "butter" function to design a Butterworth band-stop filter with cutoff frequencies at 0.8 to 1.2 times the seasonal cycle frequency:
>> [b,a] = butter(2,[0.8 1.2]*f1/(fs/2),'stop');
Then filter the data using the "filtfilt" function:
You can then check that the seasonal cycle has been attenuated in the power spectra:
>> [Pxxf, Freqf] = pwelch(yf,hamming(n),n/2,Nfft,1);
>> hold on;
If you have the Signal Processing Toolbox, you can also try using the interactive "Filter Design & Analysis Tool" to quickly test out different filters:
You can follow the links below for more information on the "butter" and "filtfilt" functions:
Hope this helps.