Matlab: Convertir un cuaternión en un cuaternión puro
Hola, quiero escribir una función en MATLAB con la cual pueda convertir un cuaternión en un cuaternión puro. Un cuaternión puro tiene un término escalar de cero.
function p_pure_q = q_pure(p)
p_pure_q = quaternion(0, p(1), p(2), p(3));
end
Pero no funcionó y no sé por qué. Tal vez alguien aquí podría darme una pista.
davy.ai
Parece que la función que has escrito debería funcionar para convertir un cuaternión en un cuaternión puro.
Una posible razón por la que no está funcionando es si el cuaternión de entrada
p
no tiene el formato o las dimensiones correctas. Debería ser un vector de 4 elementos, con el término escalar como el primer elemento y los tres términos imaginarios como los elementos restantes.Otra posible razón por la que la función no está funcionando podría ser si hay un error tipográfico o de sintaxis en el código. Asegúrate de que el nombre de la función y las variables de entrada/salida estén escritas correctamente, y verifica si hay paréntesis o punto y coma faltantes o mal ubicados.
Para depurar aún más el problema, podrías intentar imprimir los valores de las variables de entrada y salida en varios puntos de la función para ver dónde podrían estar yendo mal las cosas.