3.1. Práctica: método de mínimos cuadrados#

En el ensayo de un perfil en un túnel aerodinámico hemos obtenido los valores experimentales del coeficiente de sustentación, \(C_l\), en función del ángulo de ataque, \(\alpha\), y se han guardado en el fichero “Cl_vs_alpha.csv”.

Necesitamos obtener una función que aproxime dichos resultados a través de un programa que use el método de mínimos cuadrados. El programa debe incluir las siguientes funciones:

  • Una función que lea los datos experimentales del archivo.

  • Una función minimos_cuadrados que recibe los datos (como dos vectores, o una matriz), el grado del polinomio \(m\) y devolverá los coeficientes \({\beta_0,\beta_1,\beta_2,...,\beta_m}\) (Para ello tendrá que llamar a una función de numpy que resuelva sistemas lineales)

  • Una función que calcule el error cuadrático medio cometido \(E=\frac{1}{N}sum_{i=1}^N[y_i-p(x_i)]^2\) al aproximar el conjunto de puntos con el polinomio. Decidid los argumentos de entrada y salida vosotros/as.

  • Una función que represente con Matplolib el conjunto de datos y la aproximación polinómica. Se valorará la buena representación de la gráfica.

El programa principal seguirá es siguiente índice:

  1. (1 punto) Leer la información del fichero “Cl_vs_alpha.csv” y almacenar en dos vectores \(alpha\) y \(Cl\).

  2. (3 puntos) A partir del grado del polinomio deseado hallará los coeficientes llamando a la función minimos_cuadrados.

  3. (2 puntos) Halla el error cometido y genera la salida deseada.

  4. (2 puntos) Representa los datos experimentales y la aproximación polinómica.

(2 puntos) Las conclusiones se presentarán en un bloque de Markdown y/o código que incluirán al menos la discusión de los resultados para distintos grados del polinomio.

## Escribe el código a continuación:

3.2. Informe#