How to plot the 2d complex function with amplitude and phase
조회 수: 6 (최근 30일)
이전 댓글 표시
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
답변 (1개)
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')
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!