Ajuste De Curvas

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ajuste De Curvas as PDF for free.

More details

  • Words: 685
  • Pages: 7
Mecatrónica

Métodos Numéricos Alumnos: Francisco Javier Tavares Verdín Juan Arturo Méndez Rivera Francisco Medina García Profesor: M.C. Luis Ernesto Anaya Tiscareño 5º. “B” Ajuste de curvas

Marco Teórico Supongamos que tenemos un conjunto de puntos que mostramos en la siguiente gráfica

De los puntos mostrados nos podemos dar cuenta que parece tener la forma de un polinomio de segundo grado de la forma:

Esta ecuación (1) puede usarse para representar el conjunto de valores obtenidos experimentalmente para la cual debemos determinar los valores de a 1, a 2, a 3, etc. Para determinar estos valores utilizamos el siguiente procedimiento: 1. Establecer el criterio para determinar la ecuación que represente a los valores (obtenidos experimentalmente). 2. Escribir la ecuación que expresa el error o desviación entre el valor observado y los valores dados por la ecuación. 3. Habiendo obtenido la ecuación del error, minimizar dicho error. EVALUACIÓN DEL ERROR Si consideramos las parejas de datos, como se muestra en la gráfica

donde: d = distancia = Yobservada - Y obtenida por la ecuación Yobservada = Valor obtenido experimentalmente. Y obtenida por la ecuación = valor de la función evaluada en cualquier valor X Observando la gráfica, parece que esta distancia se puede usar para representar el error, pero habrá distancias positivas y negativas, (como se puede observar la distancia d1 es positiva y la distancia d2 es negativa) de modo que el error promedio para los puntos como los mostrados será pequeño aunque los errores individuales sean grandes. Esta dificultad podría ser resuelta usando el valor absoluto de las distancias, sin embargo al derivar la función del valor absoluto se generan ciertos problemas. La solución podría ser definir el error como el cuadrado de la distancia, esto elimina la dificultad del signo. Por esta razón el método se llama: Método de Mínimos Cuadrados.

en donde S es la suma de los cuadrados de las diferencias entre el valor calculado y el valor observado y por lo tanto es el valor que se debe minimizar

Siendo el caso de que la curva supuesta es una ecuación de segundo grado, se tiene la ecuación:

Para minimizar la función anterior, derivando parcialmente con respecto a a1, a2 y a3 e igualando a cero:

. (Obsérvese que las variables son a 1, a 2 y a 3, mientras que Yi, X i son constantes) Las ecuaciones se pueden expresar de acuerdo como sigue:

Lo anterior lo podemos expresar en forma matricial:

La fórmula general para un polinomio de grado n en donde hay m parejas de datos es:

Como se puede observar el problema consiste en lo siguiente: 1. Obtener la matriz de coeficientes. 2. Resolver el sistema de ecuaciones resultantes. Recordando que: 1. Si n es el grado del polinomio, hay n+1 valores de la matriz de coeficientes y n+1 ecuaciones. 2. El máximo exponente de X en los términos de la sumatoria de 2n puede ser que los datos no representen un polinomio de 2o grado sino que representen uno de 3o y 4o grados. El ajuste de curvas es un procedimiento de tanteo y error, si una curva no representa los datos, entonces se intenta con un polinomio de grado superior. Código en Matlab

x=sym('x') ;declara variable simbólica pn=input('Escribe mínimo dos puntos conocidos en la curva'); num(1,1)=input('Primer numero X: '); num(1,2)=input('Primer numero Y: '); MatAux(1)=1; for i=2:pn-1 num(i,1)=input('Próximo numero X: '); num(i,2)=input('Próximo numero Y: '); MatAux(i)=1; MatAuxB(i)=num(i,2); end num(pn,1)=input('Numero Final X: '); num(pn,2)=input('Numero Final Y: '); MatAux(pn)=1; n=input('Grado del polinomio X deseado: '); MatAux=MatAux'; MatAuxB=num(:,2); MatAx(1)=pn; for i=1:n+1 MATB(i)=sum(MatAuxB); MatAuxB=MatAuxB.*num(:,1); end for i=1:n*2 MatAux=MatAux.*num(:,1); val=sum(MatAux); MatAx(i+1)=val; end for i=1:n+1 for j=1:n+1 MATA(i,j)=MatAx(i+j-1); end end MATB=MATB'; warning off MATLAB:nearlySingularMatrix X= MATA \ MATB; figure scatter(num(:,1),num(:,2)) Y=0; for i=1:length(X) a=X(i); Y=Y+x^(i-1)*a; end Y X for i=0:max(num(:,1)) x=i; ya(i+1)=eval(Y); end w=0:max(num(:,1)); hold on plot(w,ya)

Observaciones

El programa en Matlab es realmente más fácil que en C++, debido a que es mas fácil trabajar las operaciones de matrices en Matlab. Conclusión Es mas rápido y fácil ajustar las curvas en el programa e incluso se pueden ver las graficas para comparar los resultados medidos y los resultados procesados por el programa.

Related Documents

Ajuste De Curvas
May 2020 18
Curvas
August 2019 49
Curvas
December 2019 51
Curvas
October 2019 47