% % Лабораторная работа 1.7 % Изучение естесственного вращения плоскости поляризации. % L = 20; % длина трубки % вычисление среднеквадратичного разброса function dispersal = get_dispersal(m) delta = m - sum(m) / length(m); dispersal = sqrt(sum(delta .^ 2) / length(m)); endfunction; % вычисление угла поворота function angle = get_rotate_angle(angle_0, angles_x) angle(1) = sum(angles_x) / length(angles_x) - angle_0; endfunction; % вычисление удельного вращения function spec_rot = get_specific_rotatation(conc, angle, lenght, dispersal) spec_rot(1) = angle(1) / (conc * lenght); % значение spec_rot(2) = dispersal / (conc * lenght); % погрешность endfunction; %=================================== printf("Лабораторная работа 1.7\n"); printf("Изучение естесственного вращения плоскости поляризации.\n"); printf("============================================\n\n"); %=================================== l = [62.9 83.1 108.6 111.7 85.7 90.2 101.6]; % световой метод d = [0.1 -0.3 0.05 0.1 0.3 0.1 -0.2]; % полутеневой метод printf("Среднеквадратичный разброс:\n"); printf("световой метод:\t\tσ = %2.3f\n", get_dispersal(l)); printf("полутеневой метод:\tσ = %2.3f\n", dispersal = get_dispersal(d)); printf("\n"); %=================================== c1 = 0.10; c2 = 0.15; c3 = 0.20; angles_0 = [0.2 0.1 -0.5 0.05 0.1]; angles_1 = [3.8 3.8 3.7 3.9 3.6]; angles_2 = [5.7 5.8 5.8 5.5 5.2]; angles_3 = [7.4 7.8 7.5 7.9 7.8]; angles_X = [4.3 4.8 4.5 4.4 4.5]; angle_0 = sum(angles_0) / length(angles_0); phi1 = get_rotate_angle(angle_0, angles_1); phi2 = get_rotate_angle(angle_0, angles_2); phi3 = get_rotate_angle(angle_0, angles_3); phiX = get_rotate_angle(angle_0, angles_X); cX = 0.12; % найдено из построенного графика alpha1 = get_specific_rotatation(c1, phi1, L, dispersal); alpha2 = get_specific_rotatation(c2, phi2, L, dispersal); alpha3 = get_specific_rotatation(c3, phi3, L, dispersal); alphaX = get_specific_rotatation(cX, phiX, L, dispersal); m_alpha(1) = (alpha1(1) + alpha2(1) + alpha3(1) + alphaX(1)) / 4; m_alpha(2) = (alpha1(2) + alpha2(2) + alpha3(2) + alphaX(2)) / 4; printf("Угол поворота плоскости поляризации и удельное вращение:\n"); printf("для c = %3.3f : \t φ = %3.3f ± %3.3f\n\t\t\t[α] = %3.3f ± %3.3f\n", c1, phi1, dispersal, alpha1(1), alpha1(2)); printf("для c = %3.3f : \t φ = %3.3f ± %3.3f\n\t\t\t[α] = %3.3f ± %3.3f\n", c2, phi2, dispersal, alpha2(1), alpha2(2)); printf("для c = %3.3f : \t φ = %3.3f ± %3.3f\n\t\t\t[α] = %3.3f ± %3.3f\n", c3, phi3, dispersal, alpha3(1), alpha3(2)); printf("для c = %3.3f : \t φ = %3.3f ± %3.3f\n\t\t\t[α] = %3.3f ± %3.3f\n", cX, phiX, dispersal, alphaX(1), alphaX(2)); printf("\n<[α]> = %3.3f ± %3.3f", m_alpha(1), m_alpha(2)); %=================================== printf("\n");