MATLAB Answers

How to mark a specific point on CDF graph?

10 views (last 30 days)
Tania Islam
Tania Islam on 19 Dec 2019
Commented: Ridwan Alam on 23 Dec 2019
Hi,
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

  0 Comments

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)

Tags

Community Treasure Hunt

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

Start Hunting!