How to fix weird plot behavior

Hello, I am trying to plot the function below but the result is a weird graph. Here is my code
a=1+randn(1,1e3)*sqrt(1/2);
b=1+randn(1,1e3)*sqrt(1/2);
c=a+b*1i;
g=abs(c);
y=2*(K+1)*exp(-K)/Omega*g.*exp(-((K+1)*g.^2)/Omega).*besseli(0, 2*sqrt(K*(K+1)/Omega).*g); %simulation
plot(g, y);
and here is the graph
How do I make it normal?

 Accepted Answer

You need to sort g before calculating y (or sort g and y afterwards - not shown here).
% I made up some values for the missing variables. Obviously, you would use
% the correct values here:
K = 1;
Omega = 1;
a=1+randn(1,1e3)*sqrt(1/2);
b=1+randn(1,1e3)*sqrt(1/2);
c=a+b*1i;
g=abs(c);
% sort g so the plotted points are in order
g = sort(g);
y=2*(K+1)*exp(-K)/Omega*g.*exp(-((K+1)*g.^2)/Omega).*besseli(0, 2*sqrt(K*(K+1)/Omega).*g); %simulation
plot(g, y);

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products

Tags

Asked:

on 10 Feb 2023

Commented:

on 10 Feb 2023

Community Treasure Hunt

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

Start Hunting!