ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

ESTIMACIÓN DE VALORES INTERMEDIOS EMPLEANDO MULTIPLICADORES DE LAGRANGE


Enviado por   •  25 de Julio de 2019  •  Examen  •  2.593 Palabras (11 Páginas)  •  120 Visitas

Página 1 de 11

Práctica No. 12
Nombre: ESTIMACIÓN DE VALORES INTERMEDIOS EMPLEANDO

MULTIPLICADORES DE LAGRANGE.

Objetivo: Realizar un programa en OCTAVE para estimar valores intermedios de un conjunto de puntos asociados con datos empleando multiplicadores de Lagrange.

Introducción:

POLINOMIOS DE INTERPOLACIÓN DE LAGRANGE

El polinomio de interpolación de Lagrange es simplemente una reformulación del polinomio de Newton que evita el cálculo de las diferencias divididas, y se representa de manera concisa como

Donde

Donde [pic 1]designa el “producto de”. Por ejemplo, la versión lineal es

Y la versión de segundo grado es

Temas relacionados:

5.2 Polinomio de interpolación de Lagrange.

Metodología:
Parte 1.
Dados los siguientes puntos:

ajuste un polinomio de cuarto grado, utilizando polinomio de interpolación de Lagrange, para estimar el valor de la función en [pic 2][pic 3][pic 4].

Para ello, elaboraremos primeramente el programa lagrange_simple.m en OCTAVE.

Parte 2.

Primeramente, crearemos el programa con el nombre de lagrange_simple.m. En la interfaz principal de OCTAVE damos click en file/New/New script, y escribimos en la ventana del editor lo siguiente:

function[]=lagrange_simple(PUNTOS,Xint)

%lagrange_simple(PUNTOS,Xint)
%Interpolación por Multiplicadores de Lagrange
% PUNTOS es la matriz de puntos a interpolar, que contiene los valores de la % variable independiente x en la primera columna, ordenados de menor a
% mayor, y los valores de la variable dependiente y en la segunda columna. % Xint es el valor a interpolar.
%Los resultados muestran el valor de Xint, al igual que Yint= f(Xint)

%clc

[n,m]= size(PUNTOS); A=PUNTOS;

x=Xint; for i=1:n

X=A(:,1); X(i)=[];

num=x-X;
den=A(i,1)-X; L(i)=prod(num)/prod(den); f(i)=L(i)*A(i,2);

endfor
f=sum(f);
disp('')
disp(['El valor de la función para Xint = ',num2str(Xint),' es ',num2str(f)]) endfunction

Guardamos el programa como lagrange_simple.m.
La figura 53 ilustra lo anterior y muestra el código del programa.

Figura 53. Código del programa “lagrange_simple.m” para la estimación del valor de la función por interpolación usando multiplicadores de Lagrange.

Se han utilizado algunos comandos de OCTAVE como por ejemplo “size(A)”, el cual nos da el tamaño de la variable “A”, dado que todas las variables en OCTAVE son del tipo matricial. Con la instrucción

[n,m]= size(PUNTOS);
Se almacenan, el número de puntos en la variable “n”, y un 2 en la variable “m”. Mediante el comando
X=A(:,1);

En la línea 19 del código, se extraen las componentes [pic 5]del conjunto de puntos y se almacenan en la variable “X”.

[pic 6]

Así, el elemento [pic 7][pic 8]del punto [pic 9][pic 10][pic 11][pic 12][pic 13][pic 14][pic 15]se almacenará como X(1). Y el elemento del punto [pic 16][pic 17][pic 18][pic 19][pic 20][pic 21][pic 22]será entonces igual a X(2), y así sucesivamente.

Es posible extraer elementos de un arreglo. Por ejemplo, la instrucción

X(i)=[];

permite extraer el i-ésimo elemento del vector X, que está formado por las coordenadas [pic 23]de los puntos del conjunto de datos, reduciendo su tamaño en una unidad.

Si restamos o sumamos un número a una matriz, OCTAVE resta o suma ese número a cada elemento de la matriz.

En la línea 21, se tiene num=x-X;

mediante lo cual, se le resta al número x cada elemento de la matriz X, dando como resultado una matriz del mismo tamaño que X.

Luego, se tiene, en la línea 23, el comando “prod()”, el cual realiza el producto de los elementos de la matriz en el argumento de la función. En nuestro caso, “prod(num)” y “prod(den)”, siendo “num” y “den” las matrices del numerador y denominador de cada multiplicador de Lagrange.

Por último se utiliza, en la línea 28, el comando “num2str()”, que transforma una variable numérica en una cadena de caracteres (string).

Parte 3.

Para correr el programa, solamente escribimos el nombre del programa en la ventana de comandos como cualquier otra función de OCTAVE. En nuestro caso, podríamos crear la variable datos como una matriz de 5X2, para almacenar en ella los datos de entrada, o bien, escribirla directamente en la función lagrange_simple.m. Haremos lo primero, por lo que escribimos en la ventana de comandos de OCTAVE

>> datos=[1,800;3,2310;5,3090;7,3940;13,4755]; >> lagrange_simple(datos,10)

La figura 54 ilustra lo anterior.

[pic 24]

Figura 54. Sintaxis para correr el programa lagrange_simple.m

Es importante recalcar que la matriz de datos es una matriz de tamaño (n+1)x2, en nuestro caso de tamaño 5x2. Si se utilizara una matriz de tamaño 2x5, tendríamos problemas para correr el programa. La figura 55 nos muestra el resultado de correr el programa lagrange_simple.m.

Figura 55. Estimación del valor de la función, por medio de un polinomio de interpolación de Lagrange de cuarto grado, en [pic 25][pic 26][pic 27].

En la figura 55, se puede observar el resultado de la estimación del valor de la función, por medio de un polinomio de interpolación de Lagrange de cuarto

[pic 28]

grado, en el valor intermedio [pic 29][pic 30][pic 31], obteniéndose el valor estimado de la función en este punto,

Se esperaría que al correr el programa para alguno delos puntos del conjunto de datos, el resultado de la interpolación coincida con lo que se tiene. Por ejemplo, si tomamos el punto [pic 32][pic 33][pic 34][pic 35][pic 36], de nuestros datos y corremos el programa para [pic 37][pic 38][pic 39], esperaríamos obtener un valor de interpolación [pic 40][pic 41][pic 42].

...

Descargar como (para miembros actualizados) txt (19 Kb) pdf (1 Mb) docx (972 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com