How can I make a cdf plot?

I am trying to make a CDFplot for a box dimensions but I am getting an error because I have 1+ in my depth column. How can I search for the + and replace it with to 1.1.
At the moment my script is :
load ('MyFileName.mat')% this is an example tilte
figure; % depth
cdfplot(MyFileName.boxDepth);
title(Box Depth)
xlabel('Depth (m)')
ylabel(cdf)
The error I am getting is:
Undefined function 'isnan' for input arguments of type ' categorical'.
Error in cdfcalc (line 39)
x=x(~isnan(x));
Error in cdfplot (line 41)
[yy,xx,~,~,eid] = cdfcalc(x);
Thank you

Answers (1)

Cris LaPierre
Cris LaPierre on 13 Nov 2020
You've shared the wrong code. The error is in your cdfplot function.
There appears to be a datatype error as well. Perhaps because one of the values is "1+", your data is categorical. It makes it easy to rename the wrong category - use renamecats. I imagine for a cdf plot you need the data to be numeric not categorical. You could use str2double to convert your variable.
You could also just keep your data double, which would likely assign this element a value of "NaN". You could then use fillmissing.

3 Comments

Thank you very much Cris LaPierre for answering my question. I am new to Matlab,will it be possible if you could show me an example on how I can search for the + and replace it with to 1.1 and plot a cdf.
Thanks
You'll find examples of how to use the functions I mentioned in each of the linked documentation pages. Look for "Examples" in the left hand navigation menu.
Thank you Cris. I will have a look.

Sign in to comment.

Products

Release

R2018b

Asked:

on 13 Nov 2020

Commented:

on 16 Nov 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!