how to plot the phase shift
13 views (last 30 days)
Show older comments
i want this graph but this code didn't work properly after rp is 1
clear;
clc;
tetai = 0:0.01:89.99;
n1 = 1.5;
n2 = 1;
tetac = asind(n2/n1);
tetat = asind(n1*sind(0:0.01:tetac)/n2);
L = length(tetat);
L2 = length(tetai);
tetat(L+1:1:L2) = 90;
rp = (n2*cosd(tetai) - n1*cosd(tetat))./(n1*cosd(tetat) + n2*cosd(tetai));
% treating amplitude coefficients as complex
rp_complex = rp + 1i*0;
phase_rp_deg = angle(rp_complex) * (180/pi); % Calculating phase of rp in degrees
plot(tetai, phase_rp_deg); % Plotting phase of rp as a function of incident angle
ylim([0 180]); % Setting y-axis limit to -180 to 180 to represent phase in degrees
xlabel('Incident Angle (degrees)');
ylabel('Phase of rp (degrees)');
title('Phase of rp vs Incident Angle');
2 Comments
Anton Kogios
on 3 Apr 2024
I have no idea about this topic, but something from your code is that you are trying to get the angel of a complex number you made. But you made it have 0 imaginary component, so the angle will just be 0.
Answers (1)
Sandeep Mishra
on 16 Aug 2024
Hi 학준,
While reproducing the provided code snippet in MATLAB R2024a, I noticed the following observations:
- The variable “rp” consists of all real values.
- The variable “rp_complex” is simply the sum of “rp” and 0, making "rp_complex" also a real number.
- The "phase_rp_deg" variable utilizes the MATLAB function "angle" which returns the phase angle for each element in the complex array “rp_complex”.
Based on the above observations, it is evident that the variable "rp_complex" is always a real number. Consequently, "phase_rp_deg" will yield a result of “0” for each complex number of “rp_complex”.
Additionally, to plot the complex angle graph, you can utilize the following example code:
% Adding complex variable (2i) to real value rp
rp_complex = rp + 1i*2
Refer to the following documentation for more details on the “angle” function.
I hope it helps.
0 Comments
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!