Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Complejos en Matlab PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Algorítmica y Lenguajes de Programación

MATLAB (iii)

Números complejos (i)


n La variable i ya está definida como la raíz cuadrada de –1.
Podemos verificarlo calculando i * i.

n La aritmética con números imaginarios es muy sencilla.

1
Números complejos (ii)
n Las funciones abs y angle nos permiten convertir
un número complejo de forma rectangular a polar.
n angle retorna la fase en radianes, si lo convertimos
a grados vemos que la respuesta es la que se
esperada.

Polinomios. Introducción
n Matlab también proporciona herramientas para
manipular polinomios y funciones racionales. Para
usar estas herramientas, el polinomio debe
representarse como un vector siendo el número del
extremo izquierdo la potencia más alta y el número
del extremo derecho la constante.
n Por ejemplo, x² + 2x + 1 se representaría como:
[1 2 1]
n La función roots da las raíces del polinomio
mientras que polyval evalúa el polinomio en un
valor dado. La multiplicación y división de polinomios
puede llevarse a cabo con conv y deconv.
4

2
Polinomios. Multiplicación y división (i)
n Para multiplicar x² + 2x + 1 and x + 1, utilizamos

n Nótese que deconv retornará dos vectores, el primero contiene los


coeficientes del polinomio cociente y el segundo los coeficientes del
polinomio resto.
5

Polinomios. Multiplicación y división (ii)


n El siguiente ejemplo divide x3 + 3x² + 3x + 2 by x + 1
n Si la parte izquierda de la ecuación no contiene dos
variables la respuesta sólo consistirá en el conciente siendo
descartado el resto.

3
Polinomios. Cálculo de las raíces de un polinomio
conociendo los coeficientes (i)
n Para calcular las raíces de un polinomio del que se conocen los coeficientes se
deben introducir estos coeficientes en un vector en orden descendente. Es
necesario incluir ceros en caso necesario.
>> p1 = [ 1 6 7 -6 -8 ]; % The roots of x^4 + 6*x^3 +
7*x^2 - ^*x - 8 = 0
>> r1 = roots(p1)
r1 =
-4.0000
-2.0000
-1.0000
1.0000
n Los coeficientes también pueden introducirse directamente en el comando
roots. Se obtendría la misma respuesta anterior utilizando la expresión
siguiente.
>> r1 = roots([ 1 6 7 -6 -8 ])
r1 =
-4.0000
-2.0000
-1.0000
1.0000 7

Polinomios. Cálculo de las raíces de un polinomio


conociendo los coeficientes (ii)
n El comando roots puede encontrar raíces imaginarias.
>> p2 = [ 1 -6 18 -30 25 ];
>> r2 = roots(p2)
r2 =
1.0000 + 2.0000i
1.0000 - 2.0000i
2.0000 + 1.0000i
2.0000 - 1.0000i
n También puede encontrar raíces repetidas. Nótese que la porción imaginaria de
las raizes repetidas se muestra como cero.
>> p3 = [ 1 7 12 -4 -16 ];
>> r3 = roots(p3)
r3 =
-4.0000
-2.0000 + 0.0000i
-2.0000 - 0.0000i
1.0000

4
Polinomios. Calculo del valor de un polinomio
de coeficientes conocidos
n La sintaxis para determinar el valor de un polinomio en cualquier punto
es la siguiente.
>> s1a = polyval(p1, 3)
s1a =
280
n Donde p1 es el vector que contiene los coeficientes del polinomio. De
forma similar, los coeficientes pueden introducirse directamente en el
comando polyval.
>> s1b = polyval([1 6 7 -6 -8], 3)
s1b =
280
n Se puede también calcular el valor en múltiples puntos.
>> z = [ 3 5 7 ];
>> s1c = polyval(p1,z)
s1c =
280 1512 4752
9

Polinomios. Cálculo de los coeficientes de un


polinomio conocidas las raíces
n Para calcular los coeficientes a partir de las raíces se
utiliza el comando poly. Los coeficientes se retornan
en orden descendente.
>> r1 = [ -4 -2 -1 1 ]
>> t1 = poly(r1)
t1 =
1.0000 6.0000 7.0000 -6.0000 -
8.0000
n Las raíces también se pueden introducir directamente
en el comando poly.
>> t2 = poly([ -4 -2 -1 1 ])
t2 =
1 6 7 -6 -8
10

5
Polinomios. Determinación de los coeficientes para un polinomio
que ajusta un conjunto de datos (i)

n polyfit determina, por el método de mínimos cuadrados, el


polinomio que aproxima un conjunto de datos. El orden del polinomio
es indicado por el usuario.
>> x = [ 1.0 1.3 2.4 3.7 3.8 5.1 ];
>> y = [ -6.3 -8.7 -5.2 9.5 9.8 43.9 ];
>> coeff = polyfit(x,y,3) % Fits a third order
polynomial
coeff =
0.3124 1.5982 -7.3925 -1.4759
n Tras determinar los coeficientes del polinomio, se puede utilizar el
comando polyval para predecir los valores de la variable dependiente
para cada valor de la variable independiente.
>> ypred = polyval(coeff,x)
ypred =
-6.9579 -7.6990 -5.6943 8.8733 10.6506
43.8273

11

Polinomios. Determinación de los coeficientes para un polinomio


que ajusta un conjunto de datos (ii)

n Los datos experimentales y predecidos pueden mostrarse de


forma gráfica.
>> plot(x,y);
>> hold on;
>> plot(x,ypred);

12

6
Polinomios. Determinación de los coeficientes para un polinomio
que ajusta un conjunto de datos (iii)

n Es posible representar el polinomio de una forma


más “suave”:
x = [ 1.0 1.3 2.4 3.7 3.8 5.1 ];
y = [ -6.3 -8.7 -5.2 9.5 9.8 43.9 ];
coeff = polyfit(x,y,3);
nuevosx = [1:0.25:5.1];
ypred = polyval(coeff,nuevosx);
plot(x,y);
hold on;
plot(nuevosx,ypred,'r.-');

13

Resumen
n Matlab permite:
n Manejar números complejos de manera sencilla.
n Trabajar con polinomios y funciones racionales:
n Multiplicar y dividir polinomios.
n Calcular las raíces de un polinomio conociendo los
coeficientes.
n Calcular el valor de un polinomio de coeficientes
conocidos.
n Calcular los coeficientes de un polinomio conocidas las
raíces.
n Determinar los coeficientes para un polinomio que ajusta
un conjunto de datos.

14

También podría gustarte