How to fix anomalies in graphs

6 views (last 30 days)
Hello, am trying to plot approximated and actual pdf on on graph, however the kind of figures am recieving are abnormal as illustrated in the figure below. What can be causing this? How can fix it. Previuosly it used not to give such output till I upgraded to later versions of matlab. The approximated plot should be a line graph.

Accepted Answer

Steven Lord
Steven Lord on 9 Feb 2023
It looks like you may be calling plot with x data that is not sorted. Compare plotting a sine curve with sorted data:
x = 0:360;
y = sind(x);
plot(x, y)
with the same call but the x data shuffled.
xs = x(randperm(numel(x)));
ys = sind(xs);
figure
plot(xs, ys)
You can see the general shape of the sine curve, but there are points that have very different x values that are connected with one another. Try calling sort on your x data (and using the second output to reorder the y data if it's already been computed) before calling plot.
[xs2, indices] = sort(xs);
ys2 = ys(indices); % Sort ys in the same order as xs was sorted
figure
plot(xs2, ys2)
  1 Comment
okoth ochola
okoth ochola on 10 Feb 2023
Thank you so musch @Steven Lord this has saved me. However sir, why did it work for me without sorting aoruound a month ago? I used the same data set, just out of curiosity?

Sign in to comment.

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!