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

circle
diamond

c
w

cyan
white

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

r
k
+
^
p

red
black

plus
triangle (up)
pentagram

star

hexagram

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