How to plot the 2d complex function with amplitude and phase

조회 수: 5 (최근 30일)
Qiu Xu
Qiu Xu 2022년 1월 20일
편집: Paul 2022년 2월 20일
I have a 2d complex function as follows
psi=sqrt(x^2+y^2)*exp(-(x^2+y^2)/16)*exp(i*atan2(y,x));
How to realize the following figure by using Matlab?
In this image, the color on the ring presents the changes of phase of the function from small to big.
  댓글 수: 1
Paul
Paul 2022년 2월 20일
편집: Paul 2022년 2월 20일
The phase of psi is a function of two variables (x and y). How is "changes of phase" defined? Change wrt x holding y constant (del f / del x)? Change wrt y holding x constant (del f / del y)? Something else?

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

답변 (1개)

Hiro Yoshino
Hiro Yoshino 2022년 2월 20일
편집: Hiro Yoshino 2022년 2월 20일
Run the following code and see if this fits your thought.
meshgrid is a key here.
x=-1:0.01:1;
y=-1:0.01:1;
[X,Y] = meshgrid(x,y);
phi = sqrt(X.^2+Y.^2).*exp(-(X.^2+Y.^2)/16).*exp(1i*atan2(Y,X));
rPhi = real(phi);
iPhi = imag(phi);
phiPhase = angle(phi);
%phiPhaseW = unwrap(phiPhase);
s2 = surf(X,Y,phiPhase,'LineStyle','none');
xlabel('X')
ylabel('Y')
zlabel('phiPhase')
title('X vs. Y vs. phiPhase')

카테고리

Help CenterFile Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by