Herramientas computacionales para la matemática MATLAB: Números Complejos Verónica Borja Macías Marzo 2013 1 Matlab Números complejos En muchos cálculos matriciales los datos y/o los resultados no son reales sino complejos, con parte real y parte imaginaria. Para ver como se representan por defecto los números complejos, ejecútense los siguientes comandos: Comando a=sqrt(-4) b=3+4i c=3+4*j Se pueden utilizar indistintamente la i y la j para representar el número imaginario unidad. 2 Matlab Números complejos En general, cuando se está trabajando con números complejos, conviene no utilizar la i como variable. Antes de trabajar con complejos conviene ejecutar clear i, para que i no esté definida como variable. Cuando i y j se usan como variables, como unidad imaginaria, puede utilizarse la función sqrt(-1). La asignación de valores complejos a vectores y matrices es como se muestra en el ejemplo siguiente Comando A = [1+2i 2+3i; -1+i 2-3i] A = [1 2; -1 2] + [2 3; 1 -3]*i 3 Matlab Números complejos MATLAB dispone asimismo de la función complex, que crea un número complejo a partir de dos argumentos, la parte real e imaginaria. Comando C=complex(1,2) Podemos trabajar con complejos en su forma polar y en forma exponencial. Comando Z=3+4i, rho=abs(Z), theta=angle(Z); Zp=rho*(cos(theta)+i*sin(theta)) Ze=rho*exp(i*theta); 4 Matlab Números complejos El operador de matriz traspuesta ('), aplicado a matrices complejas, produce la matriz conjugada y traspuesta. Ejemplo Si A = [1+2i 2+3i; -1+i 2-3i] entonces si B=A' tenemos que B= 1.0000 - 2.0000i -1.0000 - 1.0000i 2.0000 - 3.0000i 2.0000 + 3.0000i La función conj(Z) permite hallar la matriz conjugada. El operador punto y apóstrofe (.') que calcula simplemente la matriz traspuesta. 5 Matlab Números complejos Todas las operaciones y funciones aritméticas funcionan con los números complejos, por ejemplo. Comando A=(2+3i)-(4+2i), B=(2+3i)*(4+2i), C=(2+3i)/(4+2i), D=(1+i)^2, E=sqrt(2+3i), F=exp(i*pi) Debemos tener cuidado con las funciones que tienen varias ramas: logaritmo, potencias fraccionarias, funciones trigonométricas e hiperbólicas inversas. MATLAB trabaja, de forma predeterminada con la rama principal de dichas funciones. Por ejemplo para z complejo log(z) = log|z| + iArg(z) 6 Matlab Números complejos Funciones real(Z) parte real de un dato complejo imag(Z) parte imaginaria de un dato complejo complex(x,y) complejo construido a partir de las partes real (x) e imaginaria (yi) abs(Z) módulo de un dato complejo, valor absoluto de un dato real conj(Z) complejo conjugado de un dato complejo angle(Z) argumento o ángulo de un dato complejo sign(Z) función signo si z es complejo y no-nulo, z/|z|. isreal(Z) determina si un dato es real o complejo cart2pol pasar de coordenadas cartesianas a polares. pol2cart pasar de coordenadas polares a cartesianas. 7 Matlab Números complejos Ejercicios 1. Realice las operaciones indicadas. ( a ) ( 2 + 3i ) + 2 − 2i ) ( c) 2 − 2i ) 3 3−i 1 b) d ) 2 + 3i + 5 − i 4 + 5i 2 2. Convierta a su forma polar los siguientes complejos. a ) 2 + 3i b) 2-2i c) 12 + 5i b) 3eiπ /2 c) e 2iπ /3 3. Convierta a su forma cartesiana los siguientes complejos a ) 2e 2iπ /6 8 Matlab Números complejos Podemos graficar los números complejos Comando A=2+3i; plot(A); compass(A); polar(angle(A), abs(A)); Desafortunadamente no es muy visible el punto, esto lo podemos arreglar del siguiente modo: Comando plot(A, '*r'); compass(A, 'b'); polar(angle(A), abs(A), '*r'); 9 Matlab Números complejos Ahora la función recibe tres argumentos, los dos que ya conocemos y un tercero que le indica a Matlab que aspecto tendrá el complejo, Color y yellow m magenta c cyan r red g green b blue w white k black Aspecto . point o circle x x-mark + plus * star s square d diamond v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram 10