MATLAB: How to find fwhm using fwhm()

MATLAB

I have a time domain data and also a FFT of this data. But when I use fwhm(x,y) then it says
Pulse Polarity = Positive
Pulse is Impulse or Rectangular with 2 edges
ans =
NaN
I am trying to also use findpeaks() but I don't know how to proceed after that. Any help would be appreciated. Thanks
Since the data is larger than 5 MB, I have attached the link to the data. Thanks,
There are 4 signals in the data and the first row is the frequency. I get the fwhm of only 2nd and 4th signals. Others show NaN. But the ones that I get are too incorrect as getting 4e3 and 4e7, which doesn't make sense. I have a nice FFT as attached below.

Best Answer

The fwhm function is a File Exchange contribution. As I read the function code, it should likely give you something other than NaN if it detects 2 edges, however I have no idea what youare passing to it.
If you have the Signal Processing Toolbox, another option would be the findpeaks function. It will return the FWHM of the peaks it identifies if you ask it to. See the documentation for it that I linked to for details.