clase 5-optimizacion polinomios y numeros complejos

44
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil U de A

Upload: acte90

Post on 10-Aug-2015

66 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Clase 5-Optimizacion Polinomios y Numeros Complejos

Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil U de A

Page 2: Clase 5-Optimizacion Polinomios y Numeros Complejos

Matlab cuenta con algunas herramientas que permiten optimizar funciones.

Básicamente, permite calcular el mínimo absoluto de funciones de una o varias variables en un intervalo y establecer parámetros de cálculo para el proceso.

Una función importante que ayuda a lo anterior es optimset.

Page 3: Clase 5-Optimizacion Polinomios y Numeros Complejos

optimset Esta herramienta crea una estructura de

opciones, los cuales pueden usarse con entradas para las siguientes funciones:

fminbnd, fminsearch, fzero, lsqnonneg. La sintaxis es:

options = optimset('param1',value1,'param2',value

2,...)

Si el valor es carácter, va entre apóstrofe

Page 4: Clase 5-Optimizacion Polinomios y Numeros Complejos

La siguiente tabla muestra las opciones que pueden ser modificadas para las funciones de

optimización.

Page 5: Clase 5-Optimizacion Polinomios y Numeros Complejos

A continuación se explicará cada una de las herramientas que permiten optimizar:

1.“fminbnd”: Dada una función de una variable, y un intervalo, calcula el valor de la variable independiente tal minimiza la función (en caso de existir). La sintaxis es:

x=fminbnd(‘nombrefunción’,a ,b): Regresa el valor de x que es un mínimo local de la función en el intervalo [a,b]

Page 6: Clase 5-Optimizacion Polinomios y Numeros Complejos

x=fminbnd(@nombrefunción,a ,b): Forma análoga a la anterior.

z=fminbnd(@(x)f(x),a ,b): Se crea una función anónima a partir de f(x). Se digita en el ( ).

z=fminbnd(f,a ,b): Se llama la función f, ya creada como anónima antes.

[x,fval]=fminbnd(‘nombrefunción’,a ,b): Hace lo mismo que las demás, con la adición de que regresa el valor de la función evaluada en el mínimo.

Page 7: Clase 5-Optimizacion Polinomios y Numeros Complejos

[x,fval,exitflag] = fminbnd(...): Devuelve lo mismo que antes, sólo que indica ahora si la función tuvo éxito o no. Si exitflag>0, indica que halló el resultado, si exitflag=0, indica que excedió la cantidad de búsquedas y si exitflag<0, indica que no halló nada.

Para hallar un máximo basta con cambiar la función f(x) por –f(x), y aplicar lo mismo que se vio antes.

Page 8: Clase 5-Optimizacion Polinomios y Numeros Complejos

2. “fminsearch”: Dada una función de varias variables, y un intervalo, determina el valor mínimo de una función. La sintaxis es la misma de la anterior función, sólo cambia el hecho de ingresar el intervalo entre corchetes.

Page 9: Clase 5-Optimizacion Polinomios y Numeros Complejos

Determinar los valores máximos y mínimos de las siguientes funciones en los intervalos indicados.

1)

2)

3)

4)

Page 10: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 11: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 12: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 13: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 14: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 15: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 16: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 17: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 18: Clase 5-Optimizacion Polinomios y Numeros Complejos

Matlab cuenta con una serie de funciones que permiten manipular polinomios, y resolver de forma rápida algunos problemas.

1.“roots”: Como ya se vio, obtiene las raíces de un polinomio de grado n.

2.“poly”: Si se aplica a una matriz cuadrada A, retorna el polinomio característico de la matriz, cuyas raíces son los valores propios de A.

Si por el contrario se aplica a un vector, retorna un polinomio cuyas raíces son el vector ingresado.

Page 19: Clase 5-Optimizacion Polinomios y Numeros Complejos

La sintaxis que se maneja es: sea A una matriz cuadrada, y V un vector.

D=poly(A): Devuelve el polinomio característicoP=poly(V): Entrega un P(x) cuyas raíces están en V.

3.“polyval”: Evalúa un polinomio en uno o varios valores de la variable independiente. La sintaxis usada es: A=polyval(p,[a,b,c,...,n]) la cual regresa un vector fila A con los valores de p evaluado en a, b, c,...,n o A=polyval(p,V) donde V es un vector fila

Page 20: Clase 5-Optimizacion Polinomios y Numeros Complejos

4. “polyfit”: Halla los coeficientes de una curva polinómica que se ajuste a unos datos dados, escogiendo el grado. La sintaxis usada es: p=polyfit(x,y,n) donde x es el dominio, y el rango y n el grado.

5. “polyvalm”: Evalúa un polinomio tomando como variable una matriz cuadrada. La sintaxis, dado un polinomio p y una matriz A, se tiene: B=polyvalm(p,A)

Page 21: Clase 5-Optimizacion Polinomios y Numeros Complejos

6. “polyeig”: Dadas n matrices cuadradas de orden m todas, retorna una matriz X de orden cuyas columnas son los vectores propios de cada matriz, y un vector columna e cuyos elementos son los valores propios de cada matriz. La sintaxis es

[M,e]=polyeig(A0,A1,... ,An)

7. “polyder”: Calcula la derivada simbólica de un polinomio, o un producto o cociente de estos.

Page 22: Clase 5-Optimizacion Polinomios y Numeros Complejos

La sintaxis puede ser: k=polyder(p): Calcula la derivada de p;k=polyder(a,b) calcula la derivada del producto de los polinomios a y b; y [q,d]=polyder(b,a) calcula la derivada del cociente polinomial b/a, donde q es el numerador y d el denominador.

8. “polyint”: Integra un polinomio en forma analítica, dando la integral indefinida del mismo, especificando la constante de integración.

Page 23: Clase 5-Optimizacion Polinomios y Numeros Complejos

La sintaxis es: Dado un vector fila P que contenga los coeficientes de un polinomio, A=polyint(P,K) da un vector fila que contiene los coeficientes de la integral de este y el valor de la constante de integración K, y A=polyint(P) hace lo mismo que la anterior, sólo que toma K=0.

9. “conv” y “deconv”: Si bien estos operadores vienen de la convolución, si se trata de vectores los toma como coeficientes de polinomios y los multiplica o divide, respectivamente. La sintaxis es: Multiplicación: r=conv(p,q)=conv(q,p) y División: s=deconv(p,q)

Page 24: Clase 5-Optimizacion Polinomios y Numeros Complejos

10.Suma y resta: Se siguen las mismas reglas que para operar matrices, es decir, que los vectores que representan los coeficientes de los polinomios tengan el mismo orden. Así, es caso de faltar algún exponente se reemplaza con un cero.

11.Fracciones parciales: Para la expansión de una función racional en fracciones parciales, es importante tener presente tres posibles casos:

Page 25: Clase 5-Optimizacion Polinomios y Numeros Complejos

Raíces reales no repetidas Raíces complejas Raíces repetidas

Para el trabajo con fracciones parciales, se emplea la función “residue” con la

siguiente sintaxis: [c,r]=residue(b,a) donde b y a son los vectores filas que contiene los coeficientes de la función racional: b son del numerador y a del

denominador. Las salidas, c y r contienen los coeficientes del numerador y los

términos independientes del denominador, siendo el primero el de la primera fracción y

el de menor grado.

Page 26: Clase 5-Optimizacion Polinomios y Numeros Complejos

Dados los polinomios p(x) y q(x), hallar lo siguiente:

1. p + q , p-q, q-p

2. p*q

3. p/q, y q/p

Page 27: Clase 5-Optimizacion Polinomios y Numeros Complejos

4. Los valores para p y q desde -2 hasta 2.

5. La derivada de p, q, p*q, p/q y q/p.

6. La integral de p, q y p*q, para valores de K desde -5 hasta 5.

Nota: Sólo se presenta una parte de la solución, ya que es bastante extensa. Para esto, se

recomienda ejecutar el algoritmo en Matlab y verla completa.

Page 28: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 29: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 30: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 31: Clase 5-Optimizacion Polinomios y Numeros Complejos

Determine los polinomios cuyas raíces son las siguientes:

1. -1,-5,-92. 1,2,3,4,5

3. i,-i,-0.5*i,+0,5*i,54. 2-3i, 2+3i

Page 32: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 33: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 34: Clase 5-Optimizacion Polinomios y Numeros Complejos

Descomponer en fracciones parciales, las siguientes expresiones:

Page 35: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 36: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 37: Clase 5-Optimizacion Polinomios y Numeros Complejos

Los números complejos, como es bien sabido, tiene una parte real y una imaginaria. Estos, se piensa a veces, no tienen aplicación

alguna. Sin embargo, esto no es cierto, ya que situaciones como resolver ciertos tipos de ecuaciones diferenciales implica cierto

manejo de los mismos.

En el campo de la Ingeniería Civil, más específicamente en estudios dinámicos en

estructuras y geotecnia pueden aparecer, por lo cual es importante conocer su manejo

básico

Page 38: Clase 5-Optimizacion Polinomios y Numeros Complejos

Matlab cuenta con algunas funciones que permiten trabajar con elementos de este

conjunto numérico.

1. Definición: En matlab, la unidad imaginaria se representa por las letras “i” o “j”, por lo que se recomienda no emplearlos para otras

situaciones distintas a ésta.

2. Ingreso: Es posible ingresarlos en tres formas distintas al programa:

Page 39: Clase 5-Optimizacion Polinomios y Numeros Complejos

Forma 1: z=a+b*j=a+j*b Forma 2: z=a+bj (NO z=a+jb)

Forma 3: z=complex(a,b) donde a es Re(z), y b es Im(z)

3. Parte real-parte imaginaria: Dado un número complejo Z, es posible obtener su parte real y compleja, así: a=real(Z) y b=imag(Z), donde las variables a y b

representan las partes real e imaginaria de Z

Page 40: Clase 5-Optimizacion Polinomios y Numeros Complejos

4. Representación polar: La forma polar de un complejo requiere conocer su magnitud y

su argumento principal o ángulo formado con el eje real. Dado un complejo Z,

definido en Matlab como tal, M=abs(Z) da su magnitud, y B=angle(Z) da su

argumento principal en rad. El valor de B está entre - y +. Se recuerda que la forma

polar es Z=R(cos*i+sen*j)

Page 41: Clase 5-Optimizacion Polinomios y Numeros Complejos

5. Operaciones: Suma, resta y producto se hacen en Matlab con las operaciones ya

conocidas. Basta con tener claro los conceptos respecto al álgebra de éstos.

6. Conjugado: La división entre complejos es necesario trabajarlos con la conjugada. En

Matlab se emplea la función “conj”. Dado un complejo Z, Z’=conj(Z) da su conjugado.

Cuando se estudie la generación de gráficos 2-D, se verá cómo trabajar estos con números

complejos.

Page 42: Clase 5-Optimizacion Polinomios y Numeros Complejos

Para cada una de los siguientes pares ordenados (a,b), determine:

1. Un complejo z=a+bi, y z*2. La magnitud y argumento de z y z*3. La parte real e imaginaria de z y z*

(-1,-1), (-5,6), (5,0), (6,-2), (1,3)

Exprese los resultados en una matriz.

Page 43: Clase 5-Optimizacion Polinomios y Numeros Complejos
Page 44: Clase 5-Optimizacion Polinomios y Numeros Complejos