Professional Documents
Culture Documents
Interpolacin y Regresin
Victor Snchez Urrutia
1.
Objetivos
Explorar el uso de los polinomios de interpolacin.
Crear programas para aplicar procedimientos de regresin lineal y
polinomial.
Aprender a usar Scilab para programar, graficar y realizar exploraciones numricas.
2.
1. Parte de la teora requerida para poder realizar y entender el experimento numrico propuesto, recomendamos que lea bien sta
gua antes del principio de la sesin de laboratorio.
2. Una serie de pasos o acciones que deben ejecutar en el laboratorio.
Para que sea ms fcil de localizar estos pasos dentro del documento, stos sern resaltados de la siguiente manera:
Paso 0
Este es un ejemplo de como aparecern los pasos a acciones a
realizar. Fijes que est enumerado.
0
Ejemplo: Modificar el programa xxx para que calcule otra cosa. Entregue el programa en su informe. Piensa usted que la
nueva versin es ms rpida?
4. En algunas situaciones haremos comentarios importantes que indicaremos de la siguiente manera:
3.
Procedimiento
Paso 1
Escriba la siguiente funcin en un archivo llamado lagran.sci.
function [ f i ] = lagran ( x , f , x i )
2
3
4
5
6
7
8
9
//
//
//
//
//
//
usando i n t e r p o l a c i n de Lagrange .
x es un vector de abscisas , f es un vector de ordenadas ,
x i es un vector de absisas para l a s cuales queremos e l valor
de l a i n t e r p o l a c i n
Programa del t e x t o .
Copyright S . Nakamura, 1995
10
11
12
13
14
15
16
17
18
19
20
21
22
f i = zeros ( x i ) ;
np1 = max( size ( f ) ) ;
for i = 1 :np1
z = ones ( x i ) ;
for j = 1 :np1
i f i ~= j then
z = z . * ( x i x ( j ) ) / ( x ( i )x ( j ) ) ;
end
end ;
f i = f i +z * f ( i ) ;
end ;
endfunction
Paso 2
Introduzca ahora el siguiente guin y corralo. Analice el programa
y las grficas resultantes. Ntese como el error de interpolacin es
mayor en los extremos.
1
2
3
4
5
//
//
//
//
//
6
7
8
x = 0:0.4:2;
y = x . * cos ( x ) ;
9
10
11
12
13
14
15
16
xi = 0:0.05:2;
y i r = x i . * cos ( x i ) ;
y i i n t = lagran ( x , y , x i ) ;
17
18
19
20
21
22
23
// Graficamos l a i n t e r p o l a c i o n y valor r e a l .
scf ( 1 )
clf (1)
plot ( xi , y ir , r , xi , y i i n t , g )
x t i t l e ( " Interpolacion y valores r e a l e s r e a l " )
legend ( " Real " , " Interpolada " )
24
25
26
27
28
29
// Graficamos e l error
scf ( 2 )
clf (2)
plot ( xi , y ir y i i n t ) ;
x t i t l e ( " Error " ) ;
30
31
32
33
34
35
t i p o s l i n = [ " k : " , "mo" , " cx " , " r+ " , " g" , " b * " ] ;
36
37
38
scf ( 3 )
clf (3)
39
40
41
42
43
44
45
46
47
48
z = ones ( x i ) ;
for j = 1 :np1
i f i ~= j then z = ( z . * ( xix ( j ) ) ) / ( x ( i )x ( j ) ) ; end ;
end ;
plot ( xi , z , t i p o s l i n ( i ) )
end ;
49
50
51
52
53
54
1
Escriba una funcin que tome dos vectores (x y y) y obtenga la
regresin lineal (encuentre m y b) con las frmula que se muestra
en el libro.
2
Escriba una funcin que tome dos vectores (x y y) y obtenga la
regresin polinomial. Consulte su libro.