Filter löschen
Filter löschen

how to plot the phase shift

28 Ansichten (letzte 30 Tage)
학준
학준 am 3 Apr. 2024
Beantwortet: Sandeep Mishra am 16 Aug. 2024 um 9:26
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
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.
Voss
Voss am 3 Apr. 2024
... or 180 degrees, for negative real numbers.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Sandeep Mishra
Sandeep Mishra am 16 Aug. 2024 um 9:26
Hi 학준,
While reproducing the provided code snippet in MATLAB R2024a, I noticed the following observations:
  • The variablerpconsists of all real values.
  • The variablerp_complexis simply the sum ofrpand 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 arrayrp_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.
  1. https://www.mathworks.com/help/releases/R2024a/matlab/ref/angle.html
I hope it helps.

Kategorien

Mehr zu 2-D and 3-D Plots 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!

Translated by