Tratamiento de Números Complejos

Anuncio
1
MATLAB
REPRESENTACIÓN Y TRATAMIENTO DE NÚMEROS COMPLEJOS.
FUNCIONES DE LIBRERÍA.
Los números complejos se representan en Matlab de la siguiente manera:
complejo = a + bi; ó
complejo = a + bj; ó
complejo = a + b*i;
Obsérvese que la unidad imaginaria puede representarse tanto con i como con j.
La utilización del operador de multiplicación '*' es necesaria en caso de que la parte imaginaria, b, se
obtenga como resultado de la aplicación de una función o alguna expresión más compleja que un mero
número. Por ejemplo, si ingresamos (sqrt viene de "square root", raíz cuadrada).
>> d = 2 + sqrt(4)i;
el programa nos arrojará el siguiente error y nos señalará 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 números complejos:
Definimos tres números complejos, recuérdelos, 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 función 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 función abs:
>> abs(a)
ans = 1.4142
>> abs(b)
ans = 1
>> abs(c)
ans = 1
2
Puede observarse que esta función retorna el módulo 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 hacíamos en clases
>> atan(imag(a)/real(a)) ans = 0.7854
Si queremos el ángulo expresado en grados debemos utilizar la función rad2deg (también existe la
función inversa deg2rad, pruébela):
>> rad2deg(ans)
ans = 45
Entonces el ejercicio de convertir un número 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 representación gráfica de los complejos en el plano; mediante la función polar
podemos hacerlo.
>> polar(angle(a), abs(a));
Esta función recibe dos argumentos, el primero es el argumento del número complejo a representar, y
el segundo su módulo.
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 función recibe tres argumentos, los dos que ya conocemos y un tercero que le indica a Matlab
que aspecto tendrá el complejo,
- el asterísco, *, significa que en lugar de aparecer un diminuto punto aparecerá un *
- la letra r indica el color del asterísco, 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
h
hexagram
3
Para obtener el conjugado de un complejo se aplica la función conj.
>> conj(a)
ans = 1.0000 - 1.0000i
OPERACIONES BÁSICAS:
Sean
>> g = 3 + 2i;
>> h = 4 - i;
Suma: Sencillamente se utiliza el símbolo +.
>> g + h
ans = 7.0000 + 1.0000i
Resta: Se utiliza el símbolo -.
>> g - h
ans = -1.0000 + 3.0000i
Producto: Se utiliza el símbolo *.
>> g * h
ans = 14.0000 + 5.0000i
División: Se utiliza el símbolo /.
>> g / h
ans = 0.5882 + 0.6471i
NOTAS:
El tema de las raíces de complejos se verá en laboratorio.
Debido a que Matlab no posee una función predefinida que calcula las n raíces, con n dado, la
crearemos nosotros, además mostraremos en un mismo plano todas las raíces.
Comentaremos la manera en que podemos agregar más capacidades a Matlab creando nuestras
propias funciones o scripts.
El lenguaje de programación que utilizaremos a lo largo de estas clases es casi tan poderoso
como Pascal o C.
EJERCITACIÓN:
Resuelva mediante Matlab los ejercicios de la Práctica 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 solución o el procedimiento para obtener la misma.
Descargar