Está en la página 1de 3

1

MATLAB REPRESENTACIN Y TRATAMIENTO DE NMEROS COMPLEJOS. FUNCIONES DE LIBRERA.


Los nmeros complejos se representan en Matlab de la siguiente manera: complejo = a + bi; complejo = a + bj; complejo = a + b*i; Obsrvese que la unidad imaginaria puede representarse tanto con i como con j. La utilizacin del operador de multiplicacin '*' es necesaria en caso de que la parte imaginaria, b, se obtenga como resultado de la aplicacin de una funcin o alguna expresin ms compleja que un mero nmero. Por ejemplo, si ingresamos (sqrt viene de "square root", raz cuadrada). >> d = 2 + sqrt(4)i; el programa nos arrojar el siguiente error y nos sealar con una barra vertical el motivo del mismo ??? d = 2 + sqrt(4)i | Missing operator, comma, or semi-colon. Esto nos est diciendo que en lugar del + debe ir una coma o un punto y coma, esto es porque Matlab no pudo interpretar el segundo sumando, sqrt(4)i. En cambio si ingresamos >> d = 2 + sqrt(4)*i Mostrar por pantalla >> d d = 2.0000 + 2.0000i Qu sucede con e = 2 + (1/2)i? Ejemplo de uso de las funciones para nmeros complejos: Definimos tres nmeros complejos, recurdelos, muchas veces haremos referencia a los mismos: >> a = 1 + i; >> b = 1; >> c = i; Las funciones real e imag retornan la parte real y la parte imaginaria de un complejo respectivamente: >> d = 3 + sqrt(2)*i; >> d (sin ;) d = 3.0000 + 1.4142i >> real(d) ans = 3 >> imag(d) ans = 1.4142 La funcin isreal retorna 0 en caso de que el complejo al cual es aplicada posea parte imaginaria no nula, y 1 en caso contrario. >> isreal(a) ans = 0 >> isreal(b) ans = 1 Apliquemos ahora la funcin abs: >> abs(a) ans = 1.4142 >> abs(b) ans = 1 >> abs(c) ans = 1

Puede observarse que esta funcin retorna el mdulo de un complejo. Para conseguir el argumento se aplica angle, el resultado es el ngulo en radianes. >> angle(a) ans = 0.7854 Note que es lo mismo que hacamos en clases >> atan(imag(a)/real(a)) ans = 0.7854 Si queremos el ngulo expresado en grados debemos utilizar la funcin rad2deg (tambin existe la funcin inversa deg2rad, prubela): >> rad2deg(ans) ans = 45 Entonces el ejercicio de convertir un nmero complejo a forma polar puede llevarse a cabo en dos pasos: >> d = -sqrt(3) + i d = -1.7321 + 1.0000i >> modulo = abs(d) modulo = 2 >> argumento = rad2deg(angle(d)) argumento = 150.0000 Es interesante ver la representacin grfica de los complejos en el plano; mediante la funcin polar podemos hacerlo. >> polar(angle(a), abs(a)); Esta funcin recibe dos argumentos, el primero es el argumento del nmero complejo a representar, y el segundo su mdulo. Se abrir una nueva ventana llamada Figure No.1, ve el punto?, seguro que no, el mismo est sobre la circunferencia por lo tanto es imposible verlo. Sabemos donde est no?. Anteriormente calculamos el argumento de a, el cual es 45. Hagamos un cambio sutil al comando anterior >> polar(angle(a), abs(a), '*r'); Ahora la funcin recibe tres argumentos, los dos que ya conocemos y un tercero que le indica a Matlab que aspecto tendr el complejo, - el astersco, *, significa que en lugar de aparecer un diminuto punto aparecer un * - la letra r indica el color del astersco, en este caso red (rojo). Nuevamente se abrir una ventana y ahora el complejo se ve claramente. El siguiente listado muestra las distintas posibilidades que tenemos a la hora de elegir como queremos visualizar el complejo Color y yellow g green Aspecto . point o s square d < triangle (left) m b magenta blue c w cyan white + ^ p r k red black * h star hexagram

circle diamond

x x-mark v triangle (down) > triangle (right)

plus triangle (up) pentagram

Para obtener el conjugado de un complejo se aplica la funcin conj. >> conj(a) ans = 1.0000 - 1.0000i OPERACIONES BSICAS: Sean >> g = 3 + 2i; >> h = 4 - i; Suma: Sencillamente se utiliza el smbolo +. >> g + h ans = 7.0000 + 1.0000i Resta: Se utiliza el smbolo -. >> g - h ans = -1.0000 + 3.0000i Producto: Se utiliza el smbolo *. >> g * h ans = 14.0000 + 5.0000i Divisin: Se utiliza el smbolo /. >> g / h ans = 0.5882 + 0.6471i NOTAS: El tema de las races de complejos se ver en laboratorio. Debido a que Matlab no posee una funcin predefinida que calcula las n races, con n dado, la crearemos nosotros, adems mostraremos en un mismo plano todas las races. Comentaremos la manera en que podemos agregar ms capacidades a Matlab creando nuestras propias funciones o scripts. El lenguaje de programacin que utilizaremos a lo largo de estas clases es casi tan poderoso como Pascal o C. EJERCITACIN: Resuelva mediante Matlab los ejercicios de la Prctica 1 y verique si los resultados que obtuvo son los correctos. Esta herramienta le ser de gran ayuda a la hora de resolver ejercicios de libros de texto de los cuales no se brinda la solucin o el procedimiento para obtener la misma.

También podría gustarte