la grange

13
UNIVERSIDAD CATÓLICA DE SANTA MARÍA FACULTAD DE CIENCIAS E INGENIERÍAS BIOLÓGICAS Y QUÍMICAS PROGRAMA PROFESIONAL DE INGENIERÍA DE INDUSTRIA ALIMENTARIA CURSO: SIMULACION DE PROCESOS. LABORATORIO 6 Aproximacion Funcional .Polinomio de Lagrange I. FUNDAMENTO: Interpolación polinómica de Lagrange En análisis numérico, el polinomio de Lagrange, llamado así en honor a Joseph-Louis de Lagrange, es el polinomio que interpola un conjunto de puntos dado en la forma de Lagrange. Fue descubierto por Edward Waring en 1779 y redescubierto más tarde por Leonhard Euler en 1783. Dado que existe un único polinomio interpolador para un determinado conjunto de puntos, resulta algo confuso llamar a este polinomio el polinomio interpolador de Lagrange. Un nombre más conciso es interpolación polinómica en la forma de Lagrange. En esta imagen se muestran, para cuatro puntos ((−9, 5), (−4, 2), (−1, −2), (7, 9)), la interpolation polinómica (cúbica) L(x), que es la suma de la bases polinómicas escaladas y 0 l 0 (x), y 1 l 1 (x), y 2 l 2 (x) y y 3 l 3 (x). La interpolación polinómica pasa exactamente por los cuatro puntos (llamados puntos de control) y cada base polinómica escalada pasa por su respectivo punto de control y se anula cuando x corresponde a los otros puntos de control.

description

resolucion por visual studio

Transcript of la grange

UNIVERSIDAD CATLICA DE SANTA MARAFACULTAD DE CIENCIAS E INGENIERAS BIOLGICAS Y QUMICASPROGRAMA PROFESIONAL DE INGENIERA DE INDUSTRIA ALIMENTARIACURSO: SIMULACION DE PROCESOS.

LABORATORIO 6Aproximacion Funcional .Polinomio de Lagrange

I. FUNDAMENTO: Interpolacin polinmica de LagrangeEn anlisis numrico, el polinomio de Lagrange, llamado as en honor a Joseph-Louis de Lagrange, es el polinomio que interpola un conjunto de puntos dado en la forma de Lagrange. Fue descubierto por Edward Waring en 1779 y redescubierto ms tarde por Leonhard Euler en 1783.Dado que existe un nico polinomio interpolador para un determinado conjunto de puntos, resulta algo confuso llamar a este polinomio el polinomio interpolador de Lagrange. Un nombre ms conciso es interpolacin polinmica en la forma de Lagrange.

En esta imagen se muestran, para cuatro puntos ((9,5), (4,2), (1,2), (7,9)), la interpolation polinmica (cbica) L(x), que es la suma de la bases polinmicas escaladas y0l0(x), y1l1(x), y2l2(x) y y3l3(x). La interpolacin polinmica pasa exactamente por los cuatro puntos (llamados puntos de control) y cada base polinmica escalada pasa por su respectivo punto de control y se anula cuando x corresponde a los otros puntos de control.Definicin Dado un conjunto de k+1 puntos

Donde todos los xj se asumen distintos, el polinomio interpolador en la forma de Lagrange es la combinacin lineal

De bases polinmicas de Lagrange

DemostracinLa funcin que estamos buscando es una funcin polinmica L(x) de grado k.El problema de interpolacin puede tener tan solo una solucin, pues la diferencia entre dos tales soluciones, sera otro polinomio de grado k a lo sumo, con k+1 ceros.Por lo tanto, L(x) es el nico polinomio interpolador.ConceptoLa resolucin de un problema de interpolacin lleva a un problema de lgebra lineal en el cual se debe resolver un sistema de ecuaciones. Usando una base monmica estndar para nuestro polinomio interpolador, llegamos a la matriz de Vandermonde. Eligiendo una base distinta, la base de Lagrange, llegamos a la forma ms simple de matriz identidad = i,j, que puede resolverse inmediatamente.Ejemplo

La funcin tangente y su interpolador.Se desea interpolar en los puntos

Con cinco puntos, el polinomio interpolador tendr, como mximo, grado cuatro (es decir, la mxima potencia ser cuatro), al igual que cada componente de la base polinmica.La base polinmica es:

As, el polinomio interpolador se obtiene simplemente como la combinacin lineal entre los y los valores de las abscisas:

II. OBJETIVO Emplear la aproximacin funcional de Lagrange para ajustar una serie de datos Interpolar datos mediante el polinomio de Lagrange

III. MATERIALES

1. Computadora con Windows 98 o +2. Visual Studio 2013

IV. PROCEDIMIENTO

Considere la siguiente serie de datos:ixy

0131.8

1426.6

21018.7

3206.1

Desarrolle una aplicacin que le permita interpolar el valor de y para los siguientes valores de x:x= 4.5, 11, 15mediante una aproximacin funcional del tipo Polinomial mediante el metodo de Lagrange1. Disear la siguiente interfaz:

2. Asigne las siguientes propiedades a los controlesControlPropiedadValor

Data Grid ViewNombreA

Textbox2NombreTxtvalor

Texto

Textbox3NombreTxtrpta

Texto

ButtonNombreBtndatos

TextDatos

ButtonNombreBtninterpolar

TextInterpolar

LabelNombreLblvalor

TextValor a interpolar

LabelNombreLblrpta

TextRespuesta

3. Declare 5 vectores x, y Ln Ld y L cada uno con 4 elementos que alberguen datos de tipo Real de doble precision, para lo cual introduzca la siguiente instruccion en su ventana codigo Dim x(4), y(4), Ln(4), Ld(4), L(4) As Double4. Desarrolle el codigo necesario para que al hacer clicK en el btn datos aparezca en el DataGridview A los datos de la tabla de datos y el contador i(haga doble clicK en el btndatos y asigne el siguiente cdigo:

Private Sub btndatos_Click(sender As Object, e As EventArgs) Handles btndatos.Click A.Rows.Add(5) A.Rows(0).Cells(0).Value = "i" A.Rows(0).Cells(1).Value = "x" A.Rows(0).Cells(2).Value = "y" For i = 1 To 4 A.Rows(i).Cells(0).Value = i - 1 Next A.Rows(1).Cells(1).Value = 1 A.Rows(2).Cells(1).Value = 4 A.Rows(3).Cells(1).Value = 10 A.Rows(4).Cells(1).Value = 20 A.Rows(1).Cells(2).Value = 31.8 A.Rows(2).Cells(2).Value = 26.6 A.Rows(3).Cells(2).Value = 18.7 A.Rows(4).Cells(2).Value = 6.1

End Sub

5. Ejecute la aplicacin y haga click en el boton Datos

6. Detenga la ejecucin7. Asocie un procedimiento al botn de comando Btninterpolar que permita interpolar mediante el metodo de Lagrange para lo cual:a. Llene los vectores x y y" con los datos de la tabla

Private Sub btninterpolar_Click(sender As Object, e As EventArgs) Handles btninterpolar.Clickx(0) = A.rows(1).cells(1).valuex(1) = A.rows(2).cells(1).valuex(2) = A.rows(3).cells(1).valuex(3) = A.rows(4).cells(1).valuey(0) = A.rows(1).cells(2).valuey(1) = A.rows(2).cells(2).valuey(2) = A.rows(3).cells(2).valuey(3) = A.rows(4).cells(2).value

o en su defecto la versin simplificada For c = 0 To 3x(c) = A.rows(c+1).cells(1).valuey(c) = A.rows(c+1).cells(2).valueNext

a. Desarrolle el codigo que representa el metodo de Lagrange

v = txtvalor.Text For r = 0 To 3 Ln(r) = 1 Ld(r) = 1 L(r) = 1 For i = 0 To 3 If r = i Then Ln(r) = Ln(r) Ld(r) = Ld(r) Else Ln(r) = Ln(r) * (v - x(i)) Ld(r) = Ld(r) * (x(r) - x(i)) End If Next i L(r) = Ln(r) / Ld(r) p = p + L(r) * y(r) Next r txtrpta.Text = p

8. Ejecute la aplicacin haga clic en el btn datos y coloque en dato a interpolar 4.5 y presione interpolar.

9. Ejecute con los demas datos a interpolar.

ActividadDesarrolle una aplicacion que el permita interpolar el punto de congelacion para una salmuera que tiene 20% de NaCl en peso a partir de los siguientes datos% NaCl en pesoPunto de Congelacion C

0.528-0.26

4.751-2.77

8.974-5.78

13.198-9.22

23.755-18.38

Cdigo:Public Class Form1 Dim x(5), y(5), Ln(5), Ld(5), L(5) As Double Private Sub btndatos_Click(sender As Object, e As EventArgs) Handles btndatos.Click A.Rows.Add(5) A.Rows(0).Cells(0).Value = "i" A.Rows(0).Cells(1).Value = "x" A.Rows(0).Cells(2).Value = "y" For i = 1 To 5 A.Rows(i).Cells(0).Value = i - 1 Next A.Rows(1).Cells(1).Value = 0.528 A.Rows(2).Cells(1).Value = 4.751 A.Rows(3).Cells(1).Value = 8.974 A.Rows(4).Cells(1).Value = 13.198 A.Rows(5).Cells(1).Value = 23.755 A.Rows(1).Cells(2).Value = -0.26 A.Rows(2).Cells(2).Value = -2.77 A.Rows(3).Cells(2).Value = -5.78 A.Rows(4).Cells(2).Value = -9.22 A.Rows(5).Cells(2).Value = -18.38 End Sub

Private Sub btninterpolar_Click(sender As Object, e As EventArgs) Handles btninterpolar.Click Dim v, p As Single For c = 0 To 4 x(c) = A.Rows(c + 1).Cells(1).Value y(c) = A.Rows(c + 1).Cells(2).Value Next v = txtvalor.Text For r = 0 To 4 Ln(r) = 1 Ld(r) = 1 L(r) = 1 For i = 0 To 4 If r = i Then Ln(r) = Ln(r) Ld(r) = Ld(r) Else Ln(r) = Ln(r) * (v - x(i)) Ld(r) = Ld(r) * (x(r) - x(i)) End If Next i L(r) = Ln(r) / Ld(r) p = p + L(r) * y(r) Next r txtrpta.Text = p

End SubEnd Class