Vous êtes sur la page 1sur 13

Numeros Complejos con Matlab

Numeros Complejos con Matlab


Contents

Nmeros complejos expresados en forma binmica.


Conjugado de un nmero complejo
Representacin grfica de nmeros complejos en forma binmica.
Operaciones con nmeros complejos en forma binmica
Nmeros complejos expresados en forma polar.
Representacin grfica de nmeros complejos en forma polar.
Operaciones con nmeros complejos en forma polar.
Races de nmeros complejos

Nmeros complejos expresados en forma binmica.

Matlab reconoce nmeros complejos y los expresa en forma binmica. Ejemplo:

sqrt(-1)

ans =

0 + 1.0000i

Ingreso de nmeros complejos (ejemplo: asignamos a la variable z1 el valor 4 + 5i):

z1 = 4 + 5i

z1 =

4.0000 + 5.0000i

Funciones Matlab para extraer la parte real e imaginaria de un nmero complejo:

real() extrae la parte real de un complejo


imag() extrae la parte imaginaria de un complejo

Ejecutamos esta funcin sobre la variable compleja z1 antes definida. En este caso,
asignamos esos valores a dos nuevas variables z1Real y z1Imag:

z1Real = real(z1)
z1Imag = imag(z1)

z1Real =

1 of 13
Numeros Complejos con Matlab

z1Imag =

Conjugado de un nmero complejo

Para obtener el conjugado de un complejo z se usa la funcin conj():

conj (3+7i)

ans =

3.0000 - 7.0000i

Representacin grfica de nmeros complejos en forma binmica.

Los nmeros complejos pueden representarse utilizando el diagrama de Argand. Para ello se
puede usar la funcin plot(x,y).

Definimos los complejos z2, z3, z4 y z5:

z2 = -3 + 4i
z3 = -2 - 3i
z4 = 4 - 2i
z5 = 4 + 4i

z2 =

-3.0000 + 4.0000i

z3 =

-2.0000 - 3.0000i

z4 =

4.0000 - 2.0000i

z5 =

4.0000 + 4.0000i

y los representamos usando plot(x,y).

Notas:

plot(x,y,'color simbolo tipodelinea') grafica los valores de los vectores x e y


con las opciones seleccionadas. En este caso, como queremos representar los puntos

2 of 13
Numeros Complejos con Matlab

del plano complejo que corresponden a cada uno de los cuatro nmeros, y unir el
origen de coordenadas con esos puntos por medio de una lnea, el vector x tiene dos
elementos (coordenadas x de los dos puntos, en este caso 0 y el valor real del
complejo) y el vector y tambin tiene dos elementos (coordenadas y de los dos puntos,
en este caso 0 y el valor imaginario del complejo). Los puntos se representan con una
marca del color elegido (primer letra, en ingls) con forma "o" unidos por una lnea
continua "-"
hold on permite representar los cuatro nmeros en el mismo grfico (agrega objetos al
grfico activo), para desactivarlo se % usa hold off
grid permite visualizar la grilla
xlim e ylim permite definir los lmites de los ejes coordenados
xlabel e ylabel agregan leyendas que identifican a los ejes coordenados
legend agrega leyendas identificando cada grfico. Para mostrar las leyendas en un
lugar del grfico donde no oculte datos se agrega Location y a continuacin la
posicin del cuadro de leyendas (como si se tratara de un mapa)

plot([0 real(z2)],[0 imag(z2)],'bo-');


hold on;
plot([0 real(z3)],[0 imag(z3)],'ro-');
plot([0 real(z4)],[0 imag(z4)],'mo-');
plot([0 real(z5)],[0 imag(z5)],'go-');
grid on;
xlim([-5 5]);
ylim([-5 5]);
xlabel('Real');
ylabel('Imaginario');
legend('z2','z3','z4','z5','Location','SouthWest');
hold off;

3 of 13
Numeros Complejos con Matlab

Operaciones con nmeros complejos en forma binmica

En este caso asignamos a nuevas variables el resultado de operaciones entre las variables
complejas definidas hasta ahora.

zSuma = z1 + z2 + z3
zResta = z4 - z5
zProducto = zSuma * z3
zCociente = zSuma / zResta

zSuma =

-1.0000 + 6.0000i

zResta =

0 - 6.0000i

zProducto =

20.0000 - 9.0000i

zCociente =

-1.0000 - 0.1667i

Representamos grficamente el complejo zSuma (con color cian) y sus sumandos: (Nota: clf
borra la figura anterior)

clf;
hold on;
x1=real(z1); y1=imag(z1);
plot([0 x1],[0 y1],'bo-');
x2=x1+real(z2); y2=y1+imag(z2);
plot([x1 x2],[y1 y2],'ro-');
x3=x2+real(z3); y3=y2+imag(z3);
plot([x2 x3],[y2 y3],'go-');
plot([0 real(zSuma)],[0 imag(zSuma)],'co-');
grid on;
xlim([-3 5]);
ylim([-2 10]);
xlabel('Real');
ylabel('Imaginario');
legend('|z1|','|z2|','|z3|','z1+z2+z3','Location','SouthEast');
hold off;

4 of 13
Numeros Complejos con Matlab

Nmeros complejos expresados en forma polar.

Las funciones abs() y angle() permiten calcular el mdulo y el argumento,


respectivamente, de un nmero complejo expresado en forma binmica.

Importante: el argumento calculado por angle() est en radianes.

Definimos el complejo z6:

z6 = 4+3i

z6 =

4.0000 + 3.0000i

Calculamos el mdulo del complejo z y asignamos el valor a la variable r6:

r6 = abs(z6)

r6 =

Calculamos el argumento del complejo z y asignamos el valor a la variable theta6rad


(argumento en radianes):

5 of 13
Numeros Complejos con Matlab

theta6rad = angle(z6)

theta6rad =

0.6435

Pasamos el argumento de radianes a grados:

theta6grados = theta6rad*180/pi

theta6grados =

36.8699

Podemos definir un nmero complejo en Matlab en forma polar, usando la forma


exponencial (derivada de la frmula de Euler):

z7 = 5 * exp(i*pi/4)

z7 =

3.5355 + 3.5355i

Como se puede observar en el resultado, an cuando el nmero complejo se defina en forma


polar, Matlab lo convierte a forma trigonomtrica.

Para recuperar la forma polar, debemos usar abs y angle.

abs(z7)
angle(z7)

ans =

ans =

0.7854

Representacin grfica de nmeros complejos en forma polar.

Podemos usar la funcin compass(z).

Representamos los cuatro complejos del primer grfico:

6 of 13
Numeros Complejos con Matlab

compass(z2,'b');
hold on;
compass(z3,'r');
compass(z4,'m');
compass(z5,'g');
legend('z2','z3','z4','z5','Location','SouthWest');
hold off;

Operaciones con nmeros complejos en forma polar.

(2 * exp(i*pi/2)) * (5 * exp(i*pi))

ans =

-0.0000 -10.0000i

De otro modo:

z6 = 2 * exp(i*pi/2)
z7 = 5 * exp(i*pi)
zprod = z6 * z7

z6 =

0.0000 + 2.0000i

7 of 13
Numeros Complejos con Matlab

z7 =

-5.0000 + 0.0000i

zprod =

-0.0000 -10.0000i

Races de nmeros complejos

Si se usa la funcin sqrt (raz cuadrada) en un nmero complejo, como resultado se obtendr
slo una de las dos races. En este caso, Matlab retorna la raz ms cercana al eje x positivo.

Ejemplo:

sqrt (2+2i)

ans =

1.5538 + 0.6436i

Cuando hay dos races simtricas respecto al eje x (por ejemplo, la raz de un nmero
negativo o de un imaginario puro) Matlab retorna la raz con parte imaginaria positiva.

Ejemplo:

sqrt (-4)
sqrt (2i)

ans =

0 + 2.0000i

ans =

1.0000 + 1.0000i

Para obtener todas las races cuadradas, y las n-simas races en general, del complejo z, se
debe plantear el problema de buscar las n races del polinomio

Ejemplo: races cuadradas de los complejos planteados anteriormente:

Races cuadradas w de z = 2+2i: son las races del polinomio w^2 = z = (2+2i)

Escribimos el polinomio w^2 - (2+2i) = 0 representndolo por medio de un vector de n+1


trminos, donde los trminos son los coeficientes del polinomio en orden decreciente (en este
caso, el polinomio completo es 1*w^2 - 0*w - (2+2i) = 0:

8 of 13
Numeros Complejos con Matlab

polinomio = [1 0 -(2+2i)]
r = roots (polinomio)

polinomio =

1.0000 0 -2.0000 - 2.0000i

r =

1.5538 + 0.6436i
-1.5538 - 0.6436i

Podemos ver que la primer raz obtenida es la que haba retornado Matlab con la funcin
sqrt() (la ms cercana al eje x positivo). Las representamos usando compass:

compass (r);

Races cuadradas de z = -4

Polinomio: w^2 = -4, es decir, 1*w^2 - 0*w + 4 = 0

polinomio = [1 0 4]
r = roots (polinomio)

polinomio =

9 of 13
Numeros Complejos con Matlab

1 0 4

r =

0 + 2.0000i
0 - 2.0000i

Representamos las races:

compass (r);

Races cuadradas de z = 2i

polinomio = [1 0 -2i]
r = roots (polinomio)
compass (r);

polinomio =

1.0000 0 0 - 2.0000i

r =

1.0000 + 1.0000i
-1.0000 - 1.0000i

10 of 13
Numeros Complejos con Matlab

Para las races n-simas con n > 2, solamente se debe incrementar el grado del polinomio.

Ejemplo: races cbicas de z = 1

polinomio = [1 0 0 -1]
r = roots (polinomio)
compass (r);

polinomio =

1 0 0 -1

r =

-0.5000 + 0.8660i
-0.5000 - 0.8660i
1.0000

11 of 13
Numeros Complejos con Matlab

Ejemplo: races cuartas de z = 16i

polinomio = [1 0 0 0 -16i]
r = roots (polinomio)
compass (r);

polinomio =

Columns 1 through 4

1.0000 0 0 0

Column 5

0 -16.0000i

r =

-1.8478 - 0.7654i
-0.7654 + 1.8478i
0.7654 - 1.8478i
1.8478 + 0.7654i

12 of 13
Numeros Complejos con Matlab

Published with MATLAB 7.12

13 of 13

Vous aimerez peut-être aussi