How to plot the 2d complex function with amplitude and phase
5 ビュー (過去 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!