Calculating pdf and cdf for data extracted as a table
2 views (last 30 days)
Show older comments
Hello,
I am trying to calculate the cdf and pdf of the wind speed using data extracted from a dat file using the readtable function:
data1 = readtable('FINO1_windspeed.dat', 'CommentStyle','#');
%TF = ismissing(data1,{-999});
data1 = standardizeMissing(data1,-999);
DateStrings = data1(:,1);
time_vector = datetime(DateStrings.Variables,'InputFormat','yyyy-MM-dd HH:mm:SS');
%plot(time_vector,data1.(2))
%Calculate the mean wind speed, its standard deviation and its variance
windspeedmean = nanmean(data1.(2))
windspeedstd = nanstd(data1.(2))
windspeedvar = nanvar(data1.(2))
%Calculate the pdf of wind speed
pdfwindspeed = pdf('Normal',A)
Where I have defined A as data1(:,2) because all the wind speed data are in the 2nd column. The first column is the time in a format of yyyy:MM:dd HH:mm:SS. The plot works just fine but the problem lays with the cdf and pdf calculations
I also tried A as data1.(2) but i get a long list of NaN.
Can anyone suggest a solution with an explanation for this?
Thanks for your help
2 Comments
the cyclist
on 3 Sep 2021
Can you upload the data, or a subset of the data that gives the same problem?
Answers (1)
Jeff Miller
on 4 Sep 2021
This command
pdfwindspeed = pdf('Normal',A)
returns the pdf of the A values within the standard normal with mu=0 and sigma=1. You might be getting nan's back if your A values come from a normal with a different mu & sigma. You should get more reasonable pdf values with something like this:
est_mu = mean(A);
est_sigma = std(A);
pdfwindspeed = pdf('Normal',A,est_mu,est_sigma);
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!