Está en la página 1de 12

UNIVERSIDAD CATLICA DE SANTA MARA

FACULTAD DE CIENCIAS E INGENIERAS BIOLGICAS Y QUMICAS


PROGRAMA PROFESIONAL DE INGENIERA DE INDUSTRIA ALIMENTARIA

CURSO: SIMULACION DE PROCESOS.


LABORATORIO 6

I.

Aproximacion Funcional .Polinomio de Lagrange

FUNDAMENTO:

Interpolacin polinmica de Lagrange


En 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

Demostracin
La 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.
Concepto
La 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

II.

y los valores de las abscisas:

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:


i
0
1
2
3

x
1
4
10
20

y
31.8
26.6
18.7
6.1

Desarrolle una aplicacin que le permita interpolar el valor de y para los


siguientes valores de x:
x= 4.5, 11, 15
mediante una aproximacin funcional del tipo Polinomial mediante el
metodo de Lagrange
1.

Disear la siguiente interfaz:

2.

Asigne las siguientes propiedades a los controles

Control
Data Grid View
Textbox2

Textbox3

Button

Button
Label

Label

Propiedad

Valor

Nombre

Nombre

Txtvalor

Texto
Nombre

Txtrpta

Texto
Nombre

Btndatos

Text

Datos

Nombre

Btninterpolar

Text

Interpolar

Nombre

Lblvalor

Text

Valor a interpolar

Nombre

Lblrpta

Text

Respuesta

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 Double


4.
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
A.Rows(2).Cells(2).Value
A.Rows(3).Cells(2).Value
A.Rows(4).Cells(2).Value

=
=
=
=

31.8
26.6
18.7
6.1

End Sub

5.

Ejecute la aplicacin y haga click en el boton Datos

6.

Detenga la ejecucin

7.

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.Click

x(0)
x(1)
x(2)
x(3)
y(0)
y(1)
y(2)
y(3)

=
=
=
=
=
=
=
=

A.rows(1).cells(1).value
A.rows(2).cells(1).value
A.rows(3).cells(1).value
A.rows(4).cells(1).value
A.rows(1).cells(2).value
A.rows(2).cells(2).value
A.rows(3).cells(2).value
A.rows(4).cells(2).value

o en su defecto la versin simplificada


For c = 0 To 3
x(c) = A.rows(c+1).cells(1).value
y(c) = A.rows(c+1).cells(2).value
Next
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.

Actividad

Desarrolle 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

Cdigo:

%
NaCl
en
peso

Punto de
Congelaci
on C

0.528

-0.26

4.751

-2.77

8.974

-5.78

13.19
8

-9.22

23.75
5

-18.38

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 Sub
End Class

También podría gustarte