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?

 채택된 답변

Voss
Voss 2023년 2월 10일

0 개 추천

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);

댓글 수: 2

Konstantina Chitou
Konstantina Chitou 2023년 2월 10일
Thank you so much!
Voss
Voss 2023년 2월 10일
You're welcome!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

제품

태그

질문:

2023년 2월 10일

댓글:

2023년 2월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by