20
Simulación en Ingeniería Eléctrica ELI-213 INFORME: GUÍA DE TRABAJO N° 5 INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Simulación en Ing. Eléctrica - Aproximación de funciones

Embed Size (px)

DESCRIPTION

Informe 5 Simulación en Ing. Eléctrica - Aproximación de funciones

Citation preview

Page 1: Simulación en Ing. Eléctrica - Aproximación de funciones

Simulación en Ingeniería Eléctrica

ELI-213

INFORME: GUÍA DE TRABAJO N° 5

INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Profesor: - Esteban Gil Sagás

Integrantes: - Sebastián Flores Carrasco

- Carlos Vergara Branje

Fecha: 29/05/2014

Page 2: Simulación en Ing. Eléctrica - Aproximación de funciones

Pregunta 1: El archivo 'PENSvsDemand.csv' contiene resultados de simulación del Sistema Interconectado del Norte Grande. En el archivo se entrega la probabilidad de tener energía no servida en cualquier parte del sistema (PENS) versus la demanda total del mismo.

a) Estime el valor de PENS para una demanda de 2000, 2200, 2400 y 2600 [MW] usando:

Interpolación lineal Interpolación polinomial Interpolación polinomial por tramos (spline)

Grafique las funciones interpolantes entre 1900 y 2750 [MW], compare sus resultados y comente.

b) Usando las funciones interpolantes de la parte anterior, extrapole para estimar el valor de PENS para una demanda de 3000 [MW]. Compare y comente. ¿Tiene sentido el resultado obtenido?

c) Elija una transformación para poder aplicar una regresión lineal a los datos. Determine los coeficientes de la regresión y el valor de R2.

d) Considerando la regresión lineal de la parte anterior, usando la función stem() grafique los residuos para las funciones PENS(Demanda) y log(PENS(Demanda)). ¿Qué se puede concluir?

Page 3: Simulación en Ing. Eléctrica - Aproximación de funciones

Solución:

a) Para interpolar se usó el siguiente código en MatLab:

Lo que entrega las siguientes resultados, según el caso de interpolación:

Interpolación PENS (2000 MW) PENS (2200 MW) PENS (2400 MW) PENS (2600 MW)Lineal 0.001107109908664 0.006225608461751 0.042606894462160 0.198150672010562Polinomial 0.256561279296875 0.007446289062500 0.051177978515625 2.849517822265625Polinomial por tramos

0.001140627386497 0.006281620732312 0.042670090078565 0.197494900203005

Page 4: Simulación en Ing. Eléctrica - Aproximación de funciones

Para analizar gráficamente y dadas las condiciones que se piden (graficar entre 1900 [MW] y 2750 [MW]) se programo el siguiente código, editando la matriz "demanda":

Con el siguiente código en el que se superponen las interpolaciones en un mismo gráfico:

Page 5: Simulación en Ing. Eléctrica - Aproximación de funciones

Lo que entrega el siguiente gráfico:

1900 2000 2100 2200 2300 2400 2500 2600 2700 2800-2

0

2

4

6

8

10

12

14

16Comparación métodos iterativos

Demandas [MW]

PE

NS

Lineal

PolinomialPolinomial por tramos

Como se observa, para demandas menores a la mínima del archivo 'PENSvsDemand.csv' y para las mayores a la máxima del mismo archivo se alejan mucho las soluciones entre cada interpolación, ya que al momento de interpolar se acomodan las funciones para que pasen por los mismos puntos de los datos input.

Page 6: Simulación en Ing. Eléctrica - Aproximación de funciones

Haciendo un zoom en el rango "interpolable", como se muestra en la siguiente figura, se observa la diferencia propia entre métodos:

Entre la interpolación lineal y la interpolación polinomial por tramos la diferencia es mínima, ya que se superponen en la gráfica.

En cambio la interpolación polinomial, se comporta más que nada como aproximación, ya que su curva es mucho más suave. Hay que considerar que el grado del polinomio es menor al m−1, ya que el software está limitado en el grado (se usó un polinomio de grado 20).

Page 7: Simulación en Ing. Eléctrica - Aproximación de funciones

b) Usando como base el código de la pregunta anterior, se implementa el siguiente:

Entregando los siguientes resultados:

Interpolación lineal NaNInterpolación polinomial 7.245663508033752e+04Interpolación polinomial por tramos 1.622638206404347e+03

Era esperando el resultado NaN en la interpolación lineal ya que este tipo de método no considera valores fuera del rango (no extrapola)

Respecto a la interpolación polinomial y a la interpolación polinomial por tramos se observan valores súper distintos con una diferencia de orden 10.

Por la forma de onda observadas en el ítem anterior, no tendría sentido tomar en cuenta estas extrapolaciones, ya que el comportamiento original es similar a una exponencial, pero es variable.

Page 8: Simulación en Ing. Eléctrica - Aproximación de funciones

c) La regresión lineal de una cantidad de datos, sirve para las funciones de aproximación lineal f ( x )=ax+b.

Por lo tanto se programó el siguiente código en MatLab:

Cuyos coeficientes y valor de R2 son:

α=0.000382816394437β=−0.823175305731325R2=0.731152362542581

Apreciándose una correlación baja, considerando que el máximo es 1 (correlación de datos perfecta), lo que indica que la forma lineal no es la más indicada.

d) Usando el código el ítem anterior, se procede a graficar según lo pedido, a partir del siguiente código:

Page 9: Simulación en Ing. Eléctrica - Aproximación de funciones

Lo que entrega los siguientes gráficos en forma discreta del residuo:

Page 10: Simulación en Ing. Eléctrica - Aproximación de funciones

Del gráfico del residuo PENS(Demanda), se observa que por puntos, la magnitud del residuo puede ser negativa o positiva, dependiendo en el punto en que esté.

Como se aplicó una regresión lineal, que considera el comportamiento como una curva lineal, valga la redundancia, hace que la recta para mantener cierta pendiente, pase por puntos por debajo y por encima de la curva original, lo que explica la diferencia de signo en el residuo.

Logarítmicamente, se ve que el residuo se comporta lineal, ya que en esta forma queda:

ln ( y )=α ln ( x )+β

Y teniendo que los datos originales tienen forma similar a la de una exponencial, el residuo se comporta de forma lineal, como se ve en el gráfico logarítmico anterior.

Page 11: Simulación en Ing. Eléctrica - Aproximación de funciones

Pregunta 3: Los datos en el archivo 'voltaje.mat' corresponden al voltaje medido entre la salida y el punto neutro de un inversor multinivel tipo Flying Capacitor. La frecuencia de muestreo de datos es de 100kHz.

a) Grafique los datos

Page 12: Simulación en Ing. Eléctrica - Aproximación de funciones

b) Obtenga los parámetros de la serie de Fourier asociada a los datos obtenidos mediante minimización del error cuadrático medio

c) Identifique la frecuencia fundamental y las frecuencias armónicas de la señald) Repita, pero esta vez usando la función fft() de MatLab y compare sus resultados

con los de la parte (b)e) Grafique el períodograma a partir de los resultados en (d)f) En el períodograma, identifique las frecuencias principales de la señal e intente

reconstruir la señal original a partir de su análisis. Compare gráficamente con la señal original y calcule el error cuadrático medio.

Solución:

a) Para esta parte, se grafican los datos según la medición.

Esto se implementa en el siguiente código en MatLab:

Obteniendo el siguiente gráfico:

Page 13: Simulación en Ing. Eléctrica - Aproximación de funciones

b) Conociendo la forma de obtención de los parámetros por MSE según:

a0=1m∑j=1

m

y jak=2m∑j=1

m

y j cos ( 2kπjm ) parak=1 ,…, m2 −1

bk=1m∑j=1

m

y j sin(−2kπjm ) parak=1,… m2 −1am/2=1m∑j=1

m

y j cos ( jπ)

Para la forma final de serie de Fourier discreta dada por:

x (t )=a0+∑k=1

m /2

ak cos( 2πktT )+∑k=1

m2−1

bk sin( 2πktT )Con m la cantidad de pares de datos.

Con lo anterior se implementa el siguiente código en MatLab:

Page 14: Simulación en Ing. Eléctrica - Aproximación de funciones

Lo que entrega 500 valores de a y 500 valores de b.

c) Para abordar esta parte se utilizó la energía, ya que se sabe que la energía de un oscilador es proporcional al cuadrado de la amplitud:

∂ f= 1m∂ t S ( i )=

12

(ai2+b i2)∂ f

, para i=1,2,3…m2

Page 15: Simulación en Ing. Eléctrica - Aproximación de funciones

Donde ∂ t es el parámetro de tiempo dt obtenido en los ítems anteriores. Con lo anterior se grafican las amplitudes versus frecuencias según el siguiente código en MatLab, basado en el ítem anterior:

Entregando el siguiente gráfico:

Utilizando cursores se ve que la amplitud máxima se da para los 50[Hz], siendo esta la frecuencia primaria:

Page 16: Simulación en Ing. Eléctrica - Aproximación de funciones

De la misma forma, analizando en los "picks", se observan las frecuencias armónicas, siendo los datos de 100 ,300 y500 [Hz ] las primeras armónicas.

d) Implementando sobre la base de la obtención por MSE, se aplica el código fft().

Como este método entrega el parámetro ck, dado el siguiente código en MatLab:

Con este parámetro, el cual es número complejo, se tiene que la energía se da por:

S (i )= 2m2

|ci|2

∂ fcon i=1,2,3…m

2

Sacando el espectro de energía según la amplitud para el parámetro FFT se obtiene el siguiente gráfico:

Page 17: Simulación en Ing. Eléctrica - Aproximación de funciones

Comparando con el espectro obtenido a partir de los parámetros a i y b i, se obtiene la misma gráfica, pero esta vez de forma más rápida, ya que se simplifica la programación en MatLab.

e) asdff) asdf