Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
28.01.2026
Размер:
4.31 Кб
Скачать
%Определим переменные
n1 = 1; %первая среда
n2_rand = round(rand*4+1.3,4); %значение для второй среды, вычисляется один раз
n2 = 1.8079;%значение, которое получилось при первой генерации
%%
% Найдем зависимость угла падения от угла преломления
%пусть угол падения - phi, угол преломления - teta
phi = (0:0.1:90); %зададим сразу в градусах
teta12 = asind(n1/n2*sind(phi)); %цифры 12 означают переход из среды 1 в среду 2
teta21 = asind(n2/n1*sind(phi)); %для 21 всё аналогично

figure %построим график функций
plot(phi,teta12)
hold on;
plot (phi,teta21)
legend('teta 1-2','teta 2-1')
xlabel('Угол падения, градусы')
ylabel('Угол преломления, градусы')
title('Зависимость угла преломления от угла падения')
grid on
%% Посчитаем коэффициенты R и Г
% буквы s и p означают перпендикулярную и параллельную поляризацию
% Сначала посчитаем коэффициенты для перехода из первой среды во вторую
rs12 = (n1*cosd(phi)-n2*cosd(teta12))./(n1*cosd(phi)+n2*cosd(teta12));
ts12 = (2*n1*cosd(phi))./(n1*cosd(phi)+n2*cosd(teta12));
rp12 = (n2*cosd(phi)-n1*cosd(teta12))./(n2*cosd(phi)+n1*cosd(teta12));
tp12 = (2*n1*cosd(phi))./(n2*cosd(phi)+n1*cosd(teta12));

Rs12 = abs(rs12);
Rs12 = Rs12.^2; %итоговое значение коэффициента отражения для перепендикулярной поляризации

Rp12 = abs(rp12);
Rp12 = Rp12.^2;

Ts12 = abs(ts12);
Ts12 = Ts12.^2;
Ts12 = (n2*cosd(teta12).*Ts12)./(n1*cosd(phi));

Tp12 = abs(tp12);
Tp12 = Tp12.^2;
Tp12 = (n2*cosd(teta12).*Tp12)./(n1*cosd(phi));

%Теперь вычислим аналогично всё для перехода из второй среды в первую среду, заменив
%везде показатели преломления
rs21 = (n2*cosd(phi)-n1*cosd(teta21))./(n2*cosd(phi)+n1*cosd(teta21));
ts21 = (2*n2*cosd(phi))./(n2*cosd(phi)+n1*cosd(teta21));
rp21 = (n1*cosd(phi)-n2*cosd(teta21))./(n1*cosd(phi)+n2*cosd(teta21));
tp21 = (2*n2*cosd(phi))./(n1*cosd(phi)+n2*cosd(teta21));

Rs21 = abs(rs21);
Rs21 = Rs21.^2;

Rp21 = abs(rp21);
Rp21 = Rp21.^2;

Ts21 = abs(ts21);
Ts21 = Ts21.^2;
Ts21 = (n1*cosd(teta21).*Ts21)./(n2*cosd(phi));

Tp21 = abs(tp21);
Tp21 = Tp21.^2;
Tp21 = (n1*cosd(teta21).*Tp21)./(n2*cosd(phi));
%% Построим графики для всех случаев и поляризаций
figure
plot(phi,Rs12)
hold on;
plot (phi,Ts12)
legend('Rs','Ts')
xlabel('Угол падения, градусы')
ylabel('')
title('n1->n2, s-поляризация')
grid on

figure
plot(phi,Rp12)
hold on;
plot (phi,Tp12)
legend('Rp','Tp')
xlabel('Угол падения, градусы')
ylabel('')
title('n1->n2, p-поляризация')
grid on

figure
plot(phi,Rs21)
hold on;
plot (phi,Ts21)
legend('Rs','Ts')
xlabel('Угол падения, градусы')
ylabel('')
title('Переход из n2->n1, s-поляризация')
grid on

figure
plot(phi,Rp21)
hold on;
plot (phi,Tp21)
legend('Rp','Tp')
xlabel('Угол падения, градусы')
ylabel('')
title('Переход из n2->n1, p-поляризация')
grid on
%%
% Рассчитаем оставшиеся величины и отобразим из в виде таблицы
c = 299792458; % скорость света в м/с
phi_cr = asind(n1/n2);
V_f1 = c/n1;
V_f2 = c/n2;
phi_brust12 = atand(n1/n2);
phi_brust21 = atand(n2/n1);
names = {'n1';'n2';'Критич. угол, градусы';'Угол Брюстера 1-2, градусы';'Угол Брюстера 2-1, градусы';'Фазовая скорость в среде 1, м/c';'Фазовая скорость в среде 2, м/с'};
values = [n1;n2;phi_cr;phi_brust12;phi_brust21;V_f1;V_f2];
A = table(names,values);
disp(A)