Metodos 2do Corte
-
Upload
samir-alejandro-machado -
Category
Documents
-
view
32 -
download
0
description
Transcript of Metodos 2do Corte
-
TALLER2DEMETODOSNUMERICOS
SAMIR ALEJANDRO MACHADO
JUAN DAVID ESPITIA
ANTONIO BORRE MEJIA
RODRIGO ANDRES MONTES
LUIS MIGUEL BURGOS
VICTOR MANUEL SWERING
PhD. CARLOS REALES
UNIVERSIDAD DE CORDOBA
FACULTAD DE INGENIERIAS
INGENIERIA MECANICA
MONTERIA - CORDOBA
2014
-
Ing. Mecanica
1 Dados los vectores x e y de la misma longitud m, el comando MATLAB polyfit determina los coeficientes cidel polinimio de grado m
p(x) = c1xn + ...cnx + cn+1
Cuya grafica ajusta por cuadrados mnimos los puntos (x1, y1), ..., (xm, ym). En particular, cuando n =m 1, p(x) es el polinomio de interpolacion determinado por esos puntos.
(a) Aprende a utilizar el comando polyfit mediante help de MATLAB.
(b) i. Genere los puntos (x, senx) para x = 0, 1, ..., 10ii. Dibuje el mismo grafico entre los puntos y los polinomios de grado 5 y 10 que los ajustan en el
sentido de los cuadrados mnimos. Utilice para ellos los comandos polyfit y polyval.iii. Indique como se ve en el grafico que el grado 10 es el polinomio de interpolacion.
(c) Dibuje en un mismo grafico:i. f(x) = 1
1 + x2para 5 x ;
ii. Los puntos (x, f(x)) para x = 5,4, ..,4, 5;iii. Los polinomios de grado 6 y 10 que ajustan esos puntos en el sentido de los cuadrados mnimos.
Explique la razon de las oscilaciones que observa.
Respuesta(a) Consultando sobre el comando polyfit mediante el help de Matlab, el cual nos proporciona un ejemplo
para aprender a utilizar este comando.
Usaremos la sintaxis p=polyfit(x, y, n) que devuelve un vector (en este caso de nombre p) en el quese almacenan los coeficientes en orden decreciente de grado. As, si se desea ajustar por un polinomiode grado 2 (3 coeficientes, por tanto) un conjunto de datos puede operarse de la siguiente manera: x =[,25,5,7,8];y = [,52,991,31,45];n = 2;p=polyfit(x, y, n);Ejecutado, se obtiene:
As, en el vector de coeficientes p quedan almacenados los tres coeficientes, que corresponden alpolinomio:
P (x) = 0,5985x2 + 2,3124x 0,0199
(b) i. Con el siguiente codigo en Matlab,
2
-
Ing. Mecanica
Obtenemos:
ii. Ahora, en el mismo grafico se mostraran los puntos del grafo anterior y los polinomios de grado 5y 10 que ajustan en el sentido de los cuadrados mnimos. Con el siguiente codigo:
Obteniendo:
3
-
Ing. Mecanica
iii. As, del grafo anterior podemos concluir que el polinomio de grado 10 (color verde) es el polinomiode interpolacion.
(c) Dibujaremos en un mismo grafo la funcion f , los puntos (x, f(x)) y los polinomios de grado 6 y 10 queajustan esos puntos en el sentido de los cuadrados mnimos.Con el siguiente codigo de Matlab obtenemos este resultado:
Obteniendo:
4
-
Ing. Mecanica
La oscilacion del polinomio de grado 10 es mayor que la del polinomio de grado 6 ; esto se debe a laforma en que crecen y decrecen los valores del polinomio de grado mayor. Mas aun este es el conocidofenomeno de Runge. Ademas, podemos notar que el polinomio que mejor aproxima o interpola a lafuncion dada es el de grado 10.
5
-
Ing. Mecanica
2. Dada la siguiente tabla de valores de un experimento:
x 120 122 124 126 128 130
y 234,56 240,50 243,25 246,45 253,20 255,46
Construya la tabla de diferencias divididas y calcule un valor para y = 125
Construya la tabla de diferencias finitas y calcule un valor para y = 125
Respuesta
La tabla de diferencias divididas para la tabla de valores es la siguiente:
i xi f [xi] f [xi1, xi] f [xi2, ..., xi] f [xi3, ..., xi] f [xi4, ..., xi] f [xi5, ..., xi]
0 120 234,56
2,970
1 122 240,50 -0,3987
1,375 0,0758
2 124 243,25 0,0562 -0,0014
1,600 0,0646 -0,0028
3 126 246,45 0,4438 -0,0290
3,375 -0,1675
4 128 253,20 -0,5612
1,130
5 130 255,46
Luego el polinomio interpolante del metodo de diferencias divididas es:
P5(x) = 234, 56 + 2, 970(x 120) 0, 3987(x 120)(x 122) + 0, 0758(x 120)(x 1212)(x 124)
0, 0014(x 120)(x 122)(x 124)(x 126) 0, 0028(x 120)(x 122)(x 124)(x 126)(x 128)
As:
P5(125) = 234, 56 + 2, 970(5) 0, 3987(5)(3) + 0, 0758(5)(3)(1) 0, 0014(5)(3)(1)(1)
0, 0028(5)(3)(1)(1)(3) = 244, 4615Por lo tanto, para x = 125, calculamos para y el valor de P5(125)
= y 244, 4615
La tabla para las diferencias finitas es la siguiente:
6
-
Ing. Mecanica
i fi fi 2fi
3fi 4fi
5fi
0 234,56 5,94 -3,19 3,64 -0,54 -10,6
1 240,50 2,75 0,45 3.1 -11,14
2 243,25 3,2 3,55 -8,04
3 246,45 6,75 -4,49
4 253,20 2,26
5 255,46
Luego el polinomio de interpolacion para los datos dados en la tabla es:
P5(x) = f0+f01!
t1+2f0
2!t(t1)+
3f03!
t(t1)(t2)+4f04!
t(t1)(t2)(t3)+5f05!
t(t1)(t2)(t3)(t4) Entonces
P5(x) = 234, 56+5, 94t1, 60t(t1)+0, 61t(t1)(t2)0, 02t(t1)(t2)(t3)0, 09t(t1)(t2)(t3)(t4) Donde:
t =x x0h
=x 120
2
Ahora bien, para obtener un valor de y cuando x = 125, notese que cuando x = 125, t = 125 1202 = 52 = 2, 5.Entonces:
P5(x) = 234, 56+5, 94(2, 5)1, 60(2, 5)(2, 51)+0, 61(2, 5)(2, 51)(2, 52)0, 02(2, 5)(2, 51)(2, 52)(2, 53)0, 09(2, 5)(2, 5 1)(2, 5 2)(2, 5 3)(2, 5 4) = 244, 45
As 1 ; y(125) P5(125) 244, 45
1 Se utilizo el modo fix(2) en la calculadora.
7
-
Ing. Mecanica
3. Dada la siguiente tabla de valores obtenidos en observaciones en diferentes tiempos de un experimento:
x 0 0,2 0,5 0,6 0,85 1,10
y 38,20 35,25 30,45 27,80 24,90 22,75
Por medio de una interpolacion de Lagrange calcule el valor de y para t = 0, 30
Respuesta:
Los datos dados son: t0 = 0, t1 = 0, 2, t2 = 0, 5, t3 = 0, 6, t4 = 0, 85 y t5 = 1, 10. Ademas, y0 = 38, 20,y1 = 35, 25, y2 = 30, 45, y3 = 27, 8, y4 = 24, 90 y y5 = 22, 75
Ahora determinemos los polinomios Li(t) Para i0, ..., 5
L0(t) =
(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)(0 0, 2)(0 0, 5)(0 0, 6)(0 0, 85)(0 1, 10)
L0(t) =t(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)
0, 0561
L1(t) =
(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)(0, 2 0, 2)(0, 2 0, 5)(0, 2 0, 6)(0, 2 0, 85)(0, 2 1, 10)
L1(t) =t(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)
0, 01404
L2(t) =
(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)(0, 5 0, 2)(0, 5 0, 5)(0, 5 0, 6)(0, 5 0, 85)(0, 5 1, 10)
L2(t) =t(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)
0, 00315
L3(t) =
(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)(0, 6 0, 2)(0, 6 0, 5)(0, 6 0, 6)(0, 6 0, 85)(0, 6 1, 10)
L3(t) =t(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)
0, 003
L4(t) =
(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)(0, 85 0, 2)(0, 85 0, 5)(0, 85 0, 6)(0, 85 0, 85)(0, 85 1, 10)
8
-
Ing. Mecanica
L4(t) =t(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)
0, 012085
L5(t) =
(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)(1, 10 0, 2)(1, 10 0, 5)(1, 10, 6 0, 6)(1, 10 0, 85)(1, 10 1, 10)
L5(t) =t(t 0, 2)(t 0, 5)(t 0, 6)(t 0, 85)(t 1, 10)
0, 0891
Por lo tanto el polinomio de grado 5 interpolador de Lagrange esta dado por:
P5(t)
5k=0
ykLk
As, el valor de y cuando t = 0, 30 es dado por:
y(0, 30) P5(0, 30) =5
k=0
ykLk(0, 30)
Pero:
L0(0, 30) = 0, 04705882
L1(0, 30) = 0, 56410256
L2(0, 30) = 1, 25714285
L3(0, 30) = 0, 88
L4(0, 30) = 0, 11206225
L5(0, 30) = 0, 0111111
Por lo tanto: y(0, 30) P5(0, 30) = 34, 4405
9
-
Ing. Mecanica
4. Explique mediante ejemplos el uso de los siguientes comandos de Matlab para interpolacion:
Y0
Y0
Y0
Y0
S
= interp1(X,Y,X 0, nearest
= interp1(X,Y,X 0, linear
= interp1(X,Y,X 0, spline
= interp1(X,Y,X 0, cubic
= spline(X,Y )
Respuesta:
El comando interp1 se utiliza para interpolar funciones de una dimension (una variable independiente). Lasintaxis para este comando es:
Y 0 = interp1(x, y, x0)
Ademas, si se requiere algun metodo de interpolacion especifico, se le asocia con la siguiente sintaxis
Y 0 = interp1(x, y, x0, metodo)
Donde el metodo es dado por un comando tambien. Por ejemplo nearest, linear, spline, cubic, entre otros.As por ejemplo, la sintaxis para el metodo nearest es:
Y 0 = interp1(x, y, x0, (nearest)
Ahora, daremos un ejemplo para interpolar varios puntos de la funcion seno en un intervalo dado utilizandocada uno de los metodos anteriores:
10
-
Ing. Mecanica
11
-
Ing. Mecanica
El comando spline: En la matematica campo del analisis numerico, la interpolacion spline es una formade interpolacion donde el interpolador es un tipo especial de polinomios a trozos llamados curvas spline. Seprefiere la interpolacion Spline sobre interpolacion polinomica porque el error de interpolacion puede hacersepequeno, incluso cuando se utilizan polinomios de bajo grado de laSpline. Interpolacion spline evita el prob-lema de fenomeno de Runge, que se produce cuando la interpolacion utilizando polinomios alto grado.
12
-
Ing. Mecanica
La sintaxis es S = spline(x, y).
Devuelve la forma polinomica a trozos del interpolador Spline cubico para su uso posterior con ppval quedevuelve el valor del polinomio a trozos. X debe ser un vector. Y puede ser un escalar, un vector o una matrizde cualquier dimension.
Por ejemplo veamos la siguiente rutina:
13