how to plot the phase shift
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen

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 Kommentare
Anton Kogios
am 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.
Antworten (1)
Sandeep Mishra
am 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 Kommentare
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!