MATLAB Answers

How to mark a specific point on CDF graph?

1 view (last 30 days)
Tania Islam
Tania Islam on 19 Dec 2019
Commented: Ridwan Alam on 23 Dec 2019
I have some query.
  1. How can I mark a specific point on my CDF curve. For example, If I want to describe my proposed scheme and Comparison scheme performance on 80%, how I plot that error values in x-axis? If I plot them, the figure is becoming more conjusted. How can I present this figure?
  2. I want to draw a vertical dotted line for 80% of each CDF on the x-axis. How can I do that?
  3. How can I make the CDF curve smoother?
  4. Is there any effcient way to describe the CDF curve? How can I describe this graph?
Thank you for your kind help and time.CDF.jpg


Sign in to comment.

Accepted Answer

Ridwan Alam
Ridwan Alam on 19 Dec 2019
Edited: Ridwan Alam on 19 Dec 2019
Assuming you have 4 cdf arrays, you can find the x-values as:
cdf1ind = find(cdf1>=.80,1,'first'); x1 = x(cdf1ind);
cdf2ind = find(cdf2>=.80,1,'first'); x2 = x(cdf2ind);
cdf3ind = find(cdf3>=.80,1,'first'); x3 = x(cdf3ind);
cdf4ind = find(cdf4>=.80,1,'first'); x4 = x(cdf4ind);
I would just plot the points instead of the line. For your existing figure:
hold on; plot(x1,cdf1(cdf1ind),'o'); % similarly for cdf2, cdf3, cdf4
To plot a dotted line on those x values:
hold on; line([x1,x1],[0,cdf1(cdf1ind)],'LineStyle','--');
To make the cdf curve smoother, try interp1() or something similar.
newcdf1 = interp1(x,cdf1,linspace(min(x),max(x),10*numel(x)));
The last question: that's totally upto you, what aspect of the idea you want to highlight.

More Answers (0)

Sign in to answer this question.