%% Matriz de rotacion % –––––––––––––––––––––––––––––––––––––––––––––--------------------------- % UTN -FRH % MECANICA ORBITAL % SISTEMAS DE COORDENADAS Y MATRIZ DE ROTACION % –––––––––––––––––––––––––––––––––––––––––––––--------------------------- % Este programa obtiene la matriz de rotación [C] % % i - Primer eje del sistema de referencia original % j - Segundo eje del sistema de referencia original % k - Tercer eje del sistema de referencia original % C - Matriz de rotación xyz a x’y’z’ % iprima - Primer eje del nuevo sistema de referencia % jprima - Segundo eje del nuevo sistema de referencia % kprima - Tercer eje del nuevo sistema de referencia % % Función M del usuario requerida: niguna % –––––––––––––––––––––––––––––––––––––––––––––– %% Limpieza close all % Cierra todas las ventanas abiertas clear % Borra todas las variables guardadas en el Workspace clc % Limpia el Command Window %% Datos i = [1;0;0]; j = [0;1;0]; k = [0;0;1]; iprima = [0.1;0.2;sqrt(1-0.01-0.04)]; jprima = [-0.1;-0.97260950077;sqrt(1-0.01-(0.9726095077)^2)]; %% Desarrollo kprima = cross(iprima,jprima); % Producto vectorial C = [dot(iprima,i),dot(iprima,j),dot(iprima,k);... dot(jprima,i),dot(jprima,j),dot(jprima,k);... dot(kprima,i),dot(kprima,j),dot(kprima,k)]; % Matriz de rotacion %% Resultado fprintf('- - - - - - - - - - - - - - - - - - - - \n') fprintf('\nEjemplo Matriz de Rotacion\n') fprintf('\n Primero debemos verificar que iprima y jprima son perpendiculares,\n') fprintf(' es decir, su producto escalar debe ser 0.\n') fprintf(' Producto escalar = %e\n',dot(iprima,jprima)) fprintf(' Una vez corroborado esto, podemos continuar con el ejercicio\n') fprintf('\n Calculamos el tercer vector de la triada\n') fprintf(' k'' = %+4.2f i %+4.2f j %+4.2f k\n',kprima(1,1),kprima(2,1),kprima(3,1)) fprintf('\n Calculamos la matriz de transformacion\n') fprintf(' %+4.2f %+4.2f %+4.2f\n',C(1,1),C(1,2),C(1,3)) fprintf(' C = %+4.2f %+4.2f %+4.2f\n',C(2,1),C(2,2),C(2,3)) fprintf(' %+4.2f %+4.2f %+4.2f\n',C(3,1),C(3,2),C(3,3)) fprintf('\n Verificamos que el determinante sea 1\n') fprintf(' Det(C) = %f\n',det(C)) fprintf('\n- - - - - - - - - - - - - - - - - - - - \n')