Ejercicios FINAL
Ejercicios FINAL
MÉTODOS NUMÉRICOS
TRABAJO 1
Resolución de ejercicios propuestos del texto: ”Métodos
numéricos con Matlab” de A. Cordero , J. L. Hueso , E.
Martinez y J. R. Terregrosa
Docente:
Ing. Cristian Castro Pérez
Integrantes:
16162144 AYALA HUAMANGALLI, Nilson Eduardo
16162113 BERROCAL BAUTISTA, Jhordy Edson
16162303 CONDE CONDORI, Eddy Anderson
16162513 FLORES CURIÑAUPA, Jhersson Edgar
16162141 GOMEZ MORENO, Jhon Wilver
16162146 LUZA CASTRO, Erick Javier
Ayacucho - Perú
2019
1
”Métodos numéricos con Matlab” de A. Cordero , J. L.
Hueso , E. Martinez y J. R. Terregrosa
2
Índice general
PREGUNTA 1.1 7
PREGUNTA 1.2 9
PREGUNTA 1.3 11
PREGUNTA 1.4 13
PREGUNTA 1.5 15
PREGUNTA 1.6 16
PREGUNTA 1.7 17
PREGUNTA 2.1 19
PREGUNTA 2.2 20
PREGUNTA 2.3 20
PREGUNTA 2.4 21
PREGUNTA 2.5 22
PREGUNTA 2.6 22
PREGUNTA 2.7 23
PREGUNTA 2.8 24
PREGUNTA 2.9 25
PREGUNTA 2.10 26
3
CAP 3 REPRESENTACIÓN GRÁFICA 27
PREGUNTA 3.1 27
PREGUNTA 3.2 28
PREGUNTA 3.3 29
PREGUNTA 3.4 31
PREGUNTA 3.5 34
PREGUNTA 3.6 37
PREGUNTA 4.1 40
PREGUNTA 4.2 41
PREGUNTA 4.3 43
PREGUNTA 4.4 45
PREGUNTA 4.5 47
PREGUNTA 4.6 50
PREGUNTA 4.7 54
PREGUNTA 5.1 57
PREGUNTA 5.2 58
PREGUNTA 6.1 62
PREGUNTA 6.2 64
4
CAP 7 INTERPOLACIÓN POLINÓMICA 66
PREGUNTA 7.1 66
PREGUNTA 7.2 67
PREGUNTA 7.3 69
PREGUNTA 7.4 70
PREGUNTA 7.5 71
PREGUNTA 7.6 72
PREGUNTA 7.7 73
PREGUNTA 7.8 75
PREGUNTA 8.1 76
PREGUNTA 8.2 77
PREGUNTA 8.3 79
PREGUNTA 8.4 82
PREGUNTA 8.5 83
PREGUNTA 9.1 87
PREGUNTA 9.2 92
PREGUNTA 9.3 96
PREGUNTA 9.4 98
PREGUNTA 9.5 99
5
PREGUNTA 10.2 103
6
VECTORES Y FUNCIONES EN MATLAB
CAPÍTULO 1
PREGUNTA 1.1
SOLUCIÓN
xi = a + i(b − a)/n
7
Las gráficas generadas por cada función pedida se muestra a continuación.
8
PREGUNTA 1.2
9
a) = 0,5
b) = 0,3333
c) = −0,3333
d) = 1,0000
e) =∞
f) =0
g) = 0,5
h) = −1,22741
10
PREGUNTA 1.3
SOLUCIÓN
1 A= [ 2 , − 1 , 1 ; 3 , 2 , 1 ; 5 , 1 , 4 ]
2 B=[3 ,2 ,4;4 ,3 ,2;1 ,5 , −5]
3 C= [ 1 / 2 , 1 / 4 , 1 / 8 ; 1 / 3 , 2 / 5 , 1 ; − 1 / 6 , 1 , 1 ]
4
5 AB=A*B
6 BA=B*A
7
8 C3=(C*C) *C
9
10 I=eye ( 3 )
11 Ainv=A\ I
12
13 ABinv1=inv (A*B )
14 ABinv2 = inv ( B ) * inv (A)
11
A =
2 -1 1
3 2 1
5 1 4
B =
3 2 4
4 3 2
1 5 -5
C =
0.5000 0.2500 0.1250
0.3333 0.4000 1.0000
-0.1667 1.0000 1.0000
AB =
3 6 1
18 17 11
23 33 2
BA =
32 5 21
27 4 15
-8 4 -14
C3 =
0.2000 0.6556 0.8266
0.2408 1.9723 2.7017
0.1646 2.5433 3.3479
I =
1 0 0
0 1 0
0 0 1
Ainv =
0.5000 0.3571 -0.2143
-0.5000 0.2143 0.0714
-0.5000 -0.5000 0.5000
ABinv1 =
-0.6351 0.0405 0.0946
0.4189 -0.0328 -0.0290
0.3919 0.0753 -0.1100
ABinv2 =
-0.6351 0.0405 0.0946
0.4189 -0.0328 -0.0290
0.3919 0.0753 -0.1100
12
PREGUNTA 1.4
d 1
a)
dt 1 + t 2
d3 3 3
b) t sin (t)
dt 3
d2 1
c) tan
dt 2 t
∂
d) (x sin(y) − y cos(x))
∂x
∂2
e) (x sin(y) − y cos(x))
∂x∂y
SOLUCIÓN
13
Resultados imprimidos:
FAt =
-(2*t)/(tˆ2 + 1)ˆ2
FBt3 =
6*sin(t)ˆ3 + 6*tˆ3*cos(t)ˆ3 -27*tˆ2*sin(t)ˆ3 +54*tˆ2*cos(t)ˆ2*sin(t) -21*tˆ3*cos(
FCt2 =
(2*(tan(1/t)ˆ2 + 1))/tˆ3 + (2*tan(1/t)*(tan(1/t)ˆ2 + 1))/tˆ4
FDx =
sin(x*y) + y*sin(x) + x*y*cos(x*y)
FDyx =
sin(x) + 2*x*cos(x*y) -xˆ2*y*sin(x*y)
14
PREGUNTA 1.5
1 1
a) 4 arctan + arctan
2 3
1 1
b) 16 arctan − 4 arctan
5 239
Si p∗ es una aproximación de p se definen error absoluto como |p−p∗ | y error
|p − p∗ |
relativo como si p , 0
p
SOLUCIÓN
piA = 3.1456
piB = 3.1416
ErrorAbsolutoPiA = 0.0040
ErrorAbsolutoPiB = 2.8376e-05
ErrorRelativoPiA = 0.0013
ErrorRelativoPiB = 9.0323e-06
15
PREGUNTA 1.6
Calcula la norma euclidea del vector (1, −1, 2, 3, −10, 6) Hazlo de tres formas
diferentes usando los siguientes pseudocódigos que definen dos algoritmos
para determinar la norma euclidea de un vector x = (x1 , x2 , · · · , xn ):
a)
Nombre: normal
Entrada: el vector x
Salida : norma de x
Paso 1: Determinar la longitud de x, que designaremos por n
Paso 2: Hacer suma = 0
Paso 3: Para i = 1, 2, ..., n hacer suma = suma + xi2
Paso 4: Hacer norma = suma( 1/2)
b)
Nombre: norma2
Paso 1: Elevar al cuadrado elemento a elemento el vector x y nombrarlo x2
utilizando la instrucción de MATLAB correspondiente.
Paso 2: Sumar los elementos de x2 utilizando la instrucción de MATLAB
correspondiente.
Paso 3: Hacer norma igual a la raiz cuadrada del último valor obtenido en
el Paso 2 utilizando la instrucción de MATLAB correspondiente.
c)
Utiliza también la instrucción de MATLAB que calcula directamente la nor-
ma euclı́dea.
SOLUCIÓN
16
PREGUNTA 1.7
SOLUCIÓN
>> AproxPi(10)
PiAprox = 3.0418
error = 0.0998
>> AproxPi(100)
PiAprox =3.1316
error = 0.0100
>> AproxPi(1000)
PiAprox = 3.1406
error = 1.0000e-03
>> AproxPi(10000)
PiAprox = 3.1415
error = 1.0000e-04
17
>> AproxPi(100000)
PiAprox =3.1416
error =1.0000e-05
>> AproxPi(1000000)
PiAprox =3.1416
error =1.0000e-06
>> AproxPi(10000000)
PiAprox = 3.1416
error = 1.0000e-07
>> AproxPi(100000000)
PiAprox =3.1416
error =1.0000e-08
Donde se puede estimar que con n = 100000000 iteraciones se puede estimar que
el error absoluto es 10e − 8
18
NÚMEROS COMPLEJOS Y POLINOMIOS
CAPÍTULO 2
PREGUNTA 2.1
SOLUCIÓN
De la fórmula de Euler :
eix + e−ix
cos(x) =
2
eix − e−ix
sin(x) =
2i
19
PREGUNTA 2.2
Deduce de la expresión eai ebi = e(a+b)i las fórmulas del seno y coseno del
ángulo suma a + b.
SOLUCIÓN
PREGUNTA 2.3
√
Prueba que la expresión A cos t+B sin t puede ponerse como A2 + B2 sin(t+
φ) para determinado valor de φ
SOLUCIÓN
A
sin φ = √
A2 + B2
B
cos φ = √
A2 + B2
√
Si a la expresión A cos t + B sin tla multiplicamos y dividimos por A2 + B2 se ob-
tiene lo siguiente:
√ A cos t + B sin t
!
A2 + B2 √
A2 + B2
√ A cos t B sin t
!
2
= A +B √ 2 +√
A2 + B2 A2 + B2
√ A B
!
= A2 + B2 √ cos t + √ sin t
A2 + B2 A2 + B2
√
= A2 + B2 (sin φ cos t + cos φ sin t)
√
∴ A cos t + B sin t = A2 + B2 sin(t + φ)
20
PREGUNTA 2.4
Evalúa el polinomio en x = 2
b) usando polyval
SOLUCIÓN
Haciendo el algoritmo de la división se obtiene x2 + 2x + 2 como cociente y −1 de
residuo
q = 1 2 2
r = 0 0 0 -1
Evaluando el polinomio obtenido en x = 2 se obtiene:
p(x) = x2 + 2x + 2
p(2) = 22 + 2 · 2 + 2 p(2) = 10
usando polyval:
>> p=[1 2 2];
>> polyval(p,2)
ans = 10
21
PREGUNTA 2.5
Usando Matlab para resolver este ejercicio, se define al vector r que cpntiene
las raı́ces del polinomio del enunciado. Usando poly para haalr un polinomio a
partir del vector que contenga sus raı́ces, se obtiene:
>> r = [1 1 1 1 1 1];
>> p=poly(r)
p =
1 -6 15 -20 15 -6 1
Donde p muestra los coeficientes del polinomio del enunciado en su versión ex-
tendida:
PREGUNTA 2.6
Para hallar los coeficientes del polinomio enunciado, se procede con el mismo
procedimiento del ejercicio anterior, donde las raı́ces son 3/2 con multiplicidad 5
>> r = [3/2 3/2 3/2 3/2 3/2];
p=poly(r)
p =
1.0000 -7.5000 22.5000 -33.7500 25.3125 -7.5938
22
PREGUNTA 2.7
Cuyo resultado es 1 1 0 1 0 1
23
PREGUNTA 2.8
x2 x3 xn
pn (x) = 1 + x + + + ··· +
2 3! n!
Representa la función exponencial y sus sucesivas aproximaciones en un
intervalo de la forma [−a, a].
SOLUCIÓN
24
PREGUNTA 2.9
x2 x3 xn
pn (x) = x − + − · · · + (−1)n+1
2 3 n
Representa la función log(1 + x) y sus sucesivas aproximaciones en el inter-
valo < −1, 1 > . Observa la diferencia con el problema anterior.
SOLUCIÓN
25
PREGUNTA 2.10
x5 + x4 + x3 + x2 + x + 1
SOLUCIÓN
ans =
0.5000 + 0.8660i
0.5000 - 0.8660i
-1.0000 + 0.0000i
-0.5000 + 0.8660i
-0.5000 - 0.8660i
Donde el vector respuesta ans contiene las raı́ces del polinomio enunciado.
Reconstruyendo el polinomio, se tiene:
p(x) =
(x − (0,5000 + 0,8660i)) (x − (0,5000 − 0,8660i)) (x − (−1,0000 + 0,0000i)) (x − (−0,5000 + 0,8660i)) (x
26
REPRESENTACIÓN GRÁFICA
CAPÍTULO 3
PREGUNTA 3.1
x = a cos t
y = b sin t
SOLUCIÓN
Para graficar la curva conica se procede a parametrizar la ecuacion:
Donde:
cos t = x–α
a
y–β
sin t = b
x = 3 cos t
y = 4 sin t
27
ELIPSE vs. HIPÉRBOLA
6
elipse
hipérbola
4
y
-2
-4
-6
-6 -4 -2 0 2 4 6
x
PREGUNTA 3.2
SOLUCIÓN
-El parametro b es una constante de enfriamiento que depende del tipo de mate-
rial que se calienta.
-Este puede variar de 0 a 1, con valores muy pequeños.
-La temperatura hacemos variar de 0° a 1000°
-Para representar la gráfica, usamos los siguientes codigos.
Listing 3.2: Scripts de las representaciones de la elipse y hiperbola.
1 x=0:1000;
2 syms x y
3 for i=0:0.01:1
4 f=1-exp(-i * x)-y;
5 ezplot (f);
6 hold on;
7 axis equal
8 end
28
1 - exp(-(7 x)/50) - y
y
-2
-4
-6
-6 -4 -2 0 2 4 6
x
PREGUNTA 3.3
SOLUCIÓN
29
11 rn=sqrt ((X+a).ˆ2+(Y+b).ˆ2);
12 V=q * k * (1./rp -1./ rn)
13 surf(X,Y,V)
14 pause
105
1
0.5
-0.5
-1
5
5
0
0
-5 -5
b) Debido a la gran variación de los valores del potencial, las curvas de nivel a
intervalos regulares se acumulan en torno a las cargas. Fijamos manualmente los
niveles a representar mediante contour.
1 clear all
2
3 N =10.ˆ(2.5:.5:4.5) ;
4 P=[- fliplr(N) 0 N];
5 contour(X,Y,V,P)
-1
-2
-3
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
30
PREGUNTA 3.4
SOLUCIÓN
r = a + b cos t
z = b sin t
Con t ∈[0,2π]. Al girar en torno a Z, el punto (r,0,z) recorre las posiciones (x,y,z),
siendo.
x = r cos s
y = r sin s
31
1
-1
3
2
3
1 2
0 1
-1 0
-1
-2
-2
-3 -3
Al girar en torno al eje OZ, la altura del punto P no varı́a, mientras que la abscisa
y la ordenada se transforman mediante la matriz del giro en el plano XY .
! ! !
xs,t cos t − sin t xs,0
=
ys,t sin t cos t ys,0
32
6
0
2
2
0
0
-2 -2
33
0.5
-0.5
2
1 2
0 1
0
-1
-1
-2 -2
PREGUNTA 3.5
SOLUCIÓN
x = t − sin t
y = 1 − cos t
34
1 clear all
2 t=linspace (0,2 * pi);
3 x=t-sin(t);
4 y=1-cos(t);
5 plot(x,y,[0 2 * pi],[0 0],'k')
6 axis equal
7 hold on
8 z=0: pi /30:2 * pi;
9 a=cos(z)+2;b=sin(z)+1;
10 plot(a,b)
11 hold off
2.5
1.5
0.5
-0.5
-1
0 1 2 3 4 5 6
clear all
t=linspace(0,2*pi);
x=t-sin(t);
y=1-cos(t);
lx=diff(x);
ly=diff(y);
L=sum(sqrt(lx.ˆ2+ly.ˆ2))
L =
7.9997
-Se obtiene L = 79997, lo que constituye una buena aproximación del resultado
análitico, L = 8.
35
c) Tomando t como el tiempo, las componentes de la velocidad del punto P son:
x0 = 1 − cos t
y 0 = sin t
El último argumento de quiver escala los vectores para obtener una representa-
ción más clara.
3.5
2.5
1.5
0.5
-0.5
-1
-1.5
0 1 2 3 4 5 6
36
PREGUNTA 3.6
SOLUCIÓN
b) Generamos un vector aleatorio con randn. La orden previa sirva para obtener
siempre el mismo resultado .aleatorio”. Comprobamos que la media y la desvia-
ción tı́pica se aproximana los valores de la distribución teórica. Esta aproxima-
ción mejora tomando más valores en la muestra.
1 randn('state ' ,0)
2 x=randn (1 ,1000);
3 mean(x)
4 ans =
5 -0.0431
6 std(x)
7 ans =
8 0.9435
37
-La orden hist de MATLAB agrupa los datos en intervalos y cuenta las fre-
cuencias. Tomamos intervalos centrados en los puntos ck = −4 + 0,4k, para k =
0, 1, 2, ..., 20. Representaremos las frecuencias e un diagrama de barras. Para com-
pararlo con la función densidad de probabilidad, el área de cada barra debe co-
rresponder a la probabilidad del intervalo correspondiente.
-La altura de la barra multiplicada por la longitud del subintervalo será la fre-
cuencia relativa del mismo.
-La gráfica pedida se obtiene pues mediante.
1 h=0.4;
2 c=-4:h:4;
3 frec= hist(x,c);
4 frel = frec /1000;
5 bar(c,frel/h)
6 hold on
7 plot(t,y)
8 hold off
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
-4 -3 -2 -1 0 1 2 3 4
38
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-4 -3 -2 -1 0 1 2 3 4
25
20
15
10
-5
-10
-15
-20
-20 -10 0 10 20 30 40
39
LA ECUACIÓN F(x) = 0
CAPÍTULO 4
PREGUNTA 4.1
SOLUCIÓN
-Gráficamente parece que x = −1 es una raı́z del polinomio p(x), en efecto p(−1) =
0. Observando la figura 1 partiremos del intervalo [a1 , b1 ] = [0, 2] para hallar la
raı́z positiva. Procediendo de forma análoga, se obtendrá la otra raı́z negativa.
Verificamos que el polinomio tiene distinto signo en los extremos del intervalo.
10
-5
-10
-15
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
40
Calculamos el punto medio del intervalo y evaluamos en éste polinomio.
16
14
12
10
0
X: 1.366
-2 Y: 0.001117
-4
-0.5 0 0.5 1 1.5 2 2.5
2
Halla la menor raı́z positiva de la ecuación e−x −cos x = 0 con una tolerancia
de 10−5 , utilizando el método de regula falsi y mostrando los pasos en las
primeras iteraciones.
SOLUCIÓN
41
1 clear all
2 x= -3:0.1:3;
3 y=exp (-x.ˆ2) -cos (x);
4 plot(x,y), grid on
42
1
0.8
0.6
0.4
0.2
-0.2
-3 -2 -1 0 1 2 3
2
Figura 4.3: e−x − cos x = 0 .
Calculamos el punto c1 donde la recta que une los puntos (a1 , f (a1 )) y (b1 , f (b1 ))
corta al eje x:
f (c1 ) = −0,090521
A continuación,comprobamos en cuál de los subintervalos [a1 , c1 ] y [c1 , b1 ] se en-
cuentra la raı́z y nos centramos en él. Como f (b1 ) ∗ f (c1 ) < 0 entonces a2 = c1
y b2 = b1 , es decir, la raı́z se encuentra en [a2 , b2 ] = [1,28411, 2], realizamos una
nueva iteración.
f (c2 ) = −0,024619
De nuevo f (b2 ) ∗ f (c2 ) < 0 y por tanto, hacemos a3 = c2 y b3 = b2 ,nos quedamos
con el subintervalo derecho [a3 , b3 ] = [1,284111, 1,407549] y la siguiente iteración
será:
c3 = (a3 ∗ f (b3 ) − b3 ∗ f (a3 ))/(f (b3 ) − f (a3 )) = 1,439320
f (c3 ) = −0,005119
Por lo que haremos a4 = c3 y b4 = b3 , nos centraremos en [a4 , b4 ] = [1,407549, 1,439320]
y continuaremos el proceso hasta que la longitud del intervalo [ak , bk ] sea tan
pequeña como queramos, en este caso tras 8 iteraciones,se alcanza la solución
1.447414 para tolerancia e 10−5 .
Si exigimos una tolerancia de 10−7 , la solución 1.447414 se alcanza en 11 itera-
ciones.
PREGUNTA 4.3
SOLUCIÓN
√
Notemos que 5 2 es la solución de la ecuación f (x) = x5 − 2 = 0, cuya derivada
f 0 (x) = 5x4 utilizamos en el método de Newton.
43
Tomando una estimación inicial x1 = 1 y aplicando el método de Newton calcu-
lamos las siguientes iteraciones con
x15 − 2 −1 6
x2 = x1 − = 1− = = 1,2
5x14 5 5
x25 − 2 1,22 − 2
x3 = x2 − = 1,2 − = 1,152901
5x24 5 ∗ 1,24
Siguiendo este proceso con dos iteraciones más tenemos x5 = 1,148698, valor que
podemos comparar con el obtenido directamente al hacer 21/5 y observar que se
tienen más de tres cifras exactas.
b) Utilizamos el fichero newton.m para sistematizar los cálculos. En primer lugar,
creamos la función raiz5.m con dos parámetros de salida, la función f (x) de la
que se va a hallar una raı́z y su derivada f 0 (x)
1 function [sol ,x,incr ,k]= newton(fun ,x1 ,tol ,maxiter)
2 k = 1;
3 x = x1;
4 incr = tol +1;
5 while incr > tol & k <= maxiter
6 [y,dy] = feval (fun ,x(k));
7 delta = -y/dy;
8 x(k+1) = x(k) + delta;
9 incr = abs(delta);
10 k = k+1;
11 end
12 if incr > tol
13 sol = [ ];
14 disp('Diverge o insuficientes iteraciones ')
15 else
16 sol = x(end);
17 end
[sol,x,incr,k] = newton(’raiz5’,1,1e-4,31)
sol =
1.1487
x =
1.0000 1.2000 1.1529 1.1487 1.1487
incr = error
3.0530e-05
k =número de iteraciones
5
44
PREGUNTA 4.4
SOLUCIÓN
60
40
20
-20
-40
-60
-80
0 1 2 3 4 5 6 7
45
10 e=abs((b-a)/2);
11 A(k,:)=[k a b c f(c) e];
12 if f(a) * f(c) <0
13 b=c;
14 else
15 a=c;
16 end
17 end
18 fprintf('\n \tk \ta \tb \tc \tf(c) \terror \n')
19 disp(A)
20 fprintf('Solucion :\n c= %8.5f\n',c)
21 fprintf('f(c)= %8.5f\n',f(c))
22 fprintf('error = %8.5f\n',e)
Solución:Para tan(x) − 5
x= 4.51508
f(x)= 0.00227
error= 0.00019
Solución:Para tan(x) − 10
x= 4.61287
f(x)= 0.01534
error= 0.00019
46
27 A(i ,3)=F1;
28 x=x2;
29 F2=eval(Fx);
30 A(i ,4)=F2;
31 e=abs(m-x1);
32 if F1 * Fm <0
33 x2=m;
34 else
35 x1=m;
36 end
37 i=i+1;
38 end
39 format long
40 xff=m;
41 set([Link] ,'data ',A);
42 set([Link] ,'string ',xff);
43 set([Link] ,'string ',e);
44 else
45 set([Link] ,'string ','NO CONVERGE ');
46 end
Solución:Para tan(x) − 5
x= 4.51499
f(x)= -0.000089
error= 0.0000029
Solución:Para tan(x) − 10
x= 4.61269
f(x)= -0.003062
error= 0.00000512
c) Analiza razonadamente la velocidad de convergencia de ambos métodos para
el intervalo estimado en el apartado a).
-Por el método de bisección la velocidad de convergencia es más rapida con res-
pecto al método de regula falsi , por el contrario el error del método de bisección
es mayor con respecto al método de regula falsi.
PREGUNTA 4.5
Se construye una caja sin tapadera a partir de una hoja metálica reactan-
gular que mide 10 por 16 centı́metros. Queremos averiguar cuál debe ser
el lado de los cuadrados que hay que recortar en cada esquina para que el
volumen de la caja sea 100 centı́metros cúbicos.
SOLUCIÓN
47
V ol = (16 − 2L)(10 − 2L) ∗ L
V ol = 4L3 − 52L2 + 160L
V ol = 100cm3
4L3 − 52L2 + 160L − 100 = 0
300
250
200
150
100
50
-50
-100
-150
-200
0 1 2 3 4 5 6 7 8 9 10
1 % m t o d o de la b i s e c c i n
2 function calcular_Callback (hObject , eventdata , handles)
3 F1=str2double(get(handles.contf1 ,'String '));
4 F2=str2double(get(handles.contf2 ,'String '));
5 Fx=get([Link] ,'string ');
6 x1=str2double(get(handles.X1 ,'string '));
7 x2=str2double(get(handles.X2 ,'string '));
8 tol=str2double(get([Link] ,'String '));
9 prod=F1 * F2;
10 if prod <=0
11 e=10;
12 i=1;
48
13
14 while e>tol;
15 if i>50
16 set([Link] ,'string ','paso la iteracion
50');
17 break
18 end
19 A(i,1)=x1;
20 A(i,2)=x2;
21 m=(x1+x2)/2;
22 A(i ,5)=m;
23 x=m;
24 Fm=eval(Fx);
25 A(i ,6)=Fm;
26 x=x1;
27 F1=eval(Fx);
28 A(i ,3)=F1;
29 x=x2;
30 F2=eval(Fx);
31 A(i ,4)=F2;
32 e=abs(m-x1);
33 if F1 * Fm <0
34 x2=m;
35 elseif F1 * Fm >0
36 x1=m;
37 elseif F1 * Fm==0
38 xff=m;
39 e=0;
40 break
41 end
42 i=i+1;
43 end
44 format long
45 xff=m;
46 set([Link] ,'data ',A);
47 set([Link] ,'string ',xff);
48 set([Link] ,'string ',e);
49 if e==0;
50 set([Link] ,'string ','EXACTO PUTIKIZ !!!
');
51 end
52 else
53 set([Link] ,'string ','NO CONVERGE ');
54 end
En 30 iteraciones se obtiene la raiz con una tolerancia de 10−9 .
Solución:
L=3.40175cm
f(L)=-0.0000743
Error=9,31 ∗ 10−10
d) ¿Mejora el método de regula falsi el resultado obtenido por bisección?.
49
No. Pero nesecita 69 iteraciones para llegar a ese mismo resultado.
Solución:
L=3.40175cm
f(L)=-0.0000743
Error=2,68 ∗ 10−10
e) Obtén el lado de dichos cuadrados empleando el método de punto fijo, con
estimacion inicial el punto medio del intervalo utilizado en apartados anteriores.
Solución:
L=3.5344cm
f(L)=-7.472471
Error=−3,899 ∗ 10−2
PREGUNTA 4.6
x2 + x − y 2 = 1
y − sen(x2 ) = 0
SOLUCIÓN
50
3.5
2.5
1.5
0.5
X: 0.7299
0 X: -1.682 Y: 0.5079
Y: 0.3078
-0.5
-1
-4 -3 -2 -1 0 1 2 3 4
de la raı́ces.
x2 + x − sin2 (x2 ) = 1
Las aproximaciones iniciales son:
a=0.7
b=-1.6
Para la primera raı́z se nesecitó solo 5 iteraciones.
1 >> PuntoFijo (0.7, 0.000001 , 5,'-x.ˆ2+1+( sin(x.ˆ2)).ˆ2')
2 Resultado
3
4 xr =
5
6 0.7260
51
12 while h>T;
13
14 if n>20 ;
15 break
16 else
17 b=n+1;
18 A(b,1)=x0;
19 x=A(b,1);
20 A(b,2)=eval(f);
21 A(b,3)=eval(Df);
22
23
24 xa=A(b,1) -(A(b,2)/A(b,3));
25 A(b,4)=xa -A(b,1);
26 x0=xa;
27 h=abs(A(b,4));
28 n=n+1;
29 end
30 format long
31 xff=xa;
32 set([Link] ,'data ',A);
33 set([Link] ,'string ',xff);
34 set([Link] ,'string ',h);
35
36
37 end
Solución:
52
9 prod=F1 * F2;
10 if prod <=0
11 e=10;
12 i=1;
13
14 while e>tol;
15 if i>50
16 set([Link] ,'string ','paso la iteracion
50');
17 break
18 end
19 A(i,1)=x1;
20 A(i,2)=x2;
21 m=(x1+x2)/2;
22 A(i ,5)=m;
23 x=m;
24 Fm=eval(Fx);
25 A(i ,6)=Fm;
26 x=x1;
27 F1=eval(Fx);
28 A(i ,3)=F1;
29 x=x2;
30 F2=eval(Fx);
31 A(i ,4)=F2;
32 e=abs(m-x1);
33 if F1 * Fm <0
34 x2=m;
35 elseif F1 * Fm >0
36 x1=m;
37 elseif F1 * Fm==0
38 xff=m;
39 e=0;
40 break
41 end
42 i=i+1;
43 end
44 format long
45 xff=m;
46 set([Link] ,'data ',A);
47 set([Link] ,'string ',xff);
48 set([Link] ,'string ',e);
49 if e==0;
50 set([Link] ,'string ','EXACTO PUTIKIZ !!!
');
51 end
52 else
53 set([Link] ,'string ','NO CONVERGE ');
54 end
Solución:
53
x1 = 1 (4.1)
x2 = 2 (4.2)
tol = 0,000001 (4.3)
xr = 1,44741 (4.4)
error = 9,54 ∗ 10−7 (4.5)
La menor raiz positiva es 1.44741 sin considerar al cero como raiz positiva.
Se necesitaron 20 iteraciones para llegar al resultado.
PREGUNTA 4.7
ex ey + x cos(y) = 0
x+y −1 = 0
SOLUCIÓN
x+y-1
X: -4.379
4 Y: 5.379
2
y
X: 3.491
Y: -2.491
-2
-4
X: 5.141
Y: -4.141
-6
-6 -4 -2 0 2 4 6
x
54
b) Transforma el sistema de ecuaciones en una única ecuación no lineal y aproxi-
ma las raı́ces encontradas en el apartado anterior mediante el método de Newton
con una tolerancia de 10−5 . ¿Cuántas iteraciones son necesarias en cada caso?. Es-
tima la velocidad de convergencia en una de la raı́ces.
-Transformando en una sola ecuación no lineal.
y = 1−x
Reemplazando
f (x) = ex e1−x + x ∗ cos(1 − x) = 0
La − derivada − de − la − f uncion :
f 0 (x) = x ∗ sin(1 − x) + cos(1 − x) = 0
-Se usará el mismo codigo de matlab del fichero newton.m para sistematizar los
cálculos.
-Luego creamos la función raiz1.m para cada raiz con dos parámetros de salida,
la función f (x) de la que se va a hallar una raı́z y su derivada f 0 (x).
1 function [y,dy] = raiz1(x)
2 y = exp(x) * exp(1-x)+x * cos(1-x);
3 dy= x * sin(1-x)+cos(1-x);
-La velocidad de convergencia de las raices son de 0.27 segundos cada una. -Las
iteraciones necesarias para cada caso es de 4,5 y 6 iteraciones según cada caso.
1 [sol ,x,incr ,k] = newton('raiz1 ' ,3,1e-5 ,40)
2 sol =
3 3.4706
4 x =
5 3.0000 3.4675 3.4706 3.4706
6 incr =error
7 2.4369e-06
8 k =iteraciones
9 4
10 [sol ,x,incr ,k] = newton('raiz2 ' ,5,1e-5 ,40)
11 sol =
12 5.1572
13 x =
14 5.0000 5.1757 5.1574 5.1572 5.1572
15 incr =error
16 2.0577e-08
17 k =iteraciones
18 5
19 [sol ,x,incr ,k] = newton('raiz3 ' ,9,1e-5 ,40)
20 sol =
21 9.1554
22 x =
23 9.0000 9.1557 9.1554 9.1554
24 incr =error
25 2.6022e-09
55
26 k =iteraciones
27 4
28 [sol ,x,incr ,k] = newton('raiz4 ' ,11,1e-5 ,40)
29 sol =
30 11.7624
31 x =
32 11.0000 12.2656 11.7700 11.7624 11.7624
11.7624
33 incr =error
34 3.0401e-11
35 k =iteraciones
36 6
56
APLICACIONES DE LOS SISTEMAS LINEALES
CAPÍTULO 5
PREGUNTA 5.1
SOLUCIÓN
57
PREGUNTA 5.2
sin(45)◦ F1 − F4 − cos(30)◦ F5 = 0
sin(45)◦ F1 + F3 − sin(30)◦ F5 = −1000
A) Escribe El sistema de ecuaciones para determinar las fuerzas indicadas
en la armadura:
SOLUCIÓN
para el cálculo de las fuerzas tomamos encuentra las direcciones de las fuerzas
que nos dan en la figura ??, se muestra el sistema de fuerzas y por condición del
problema todas las fuerzas a compresión esto para el diagrama y el cálculo.
Los diagramas de fuerza de cuerpo libre para cada nodo se muestra en la figura
5.1 las sumas de las fuerzas en ambas direcciones, vertical y horizontal, deben
de ser cero en cada nodo se considera que una fuerza positiva va de izquierda a
derecha y de abajo hacia arriba. las ecuaciones se calculara por nodos:
P
1. Nodo a Fh = 0
◦
P1 + F2 + F1 cos 45 = 0
V
FV = 0
U1 + F1 sin 45◦ = 0
P
2. Nodo b Fh = 0
−F1 sin 45◦ + F4 + F5 cos 30◦ = 0
P
FV = 0
−F3 − F1 cos 45◦ − F5 sin 30◦ = 1000
58
Figura 5.1: Diagrama de cuerpo libre de la armadura
P
3. Nodo c Fh = 0
−F2 + F6 = 0
P
FV = 0
F3 = 0
P
4. Nodo d Fh = 0
−F4 + F9 sin 45◦ = −500
P
FV = 0
−F7 − F9 cos 45◦ = 0
P
5. Nodo e Fh = 0
−F6 − F5 cos 30◦ + F8 = 0
P
FV = 0
F7 + F5 sin 30◦ = 0
P
6. Nodo f Fh = 0
◦
P 8 − F9 cos 45 = 0
−F
FV = 0
U2 + F9 sin 45◦ = 0
ahora el sistema de ecuaciones es:
V1 + F2 + 0,71F1 = 0
U1 + 0,71F1 = 0
−0,71F1 + F4 + 0,87F5 = 0
−F3 − 0,71F1 − 0,5F5 = 1000
−F2 + F6 = 0
F3 = 0
−F4 + 0,71F9 = −500
−F7 − 0,71F9 = 0
−F6 − 0,87F5 + F8 = 0
F7 + 0,5F5 = 0
−F8 − 0,71F9 = 0
U2 + 0,71F9 = 0
de este sistema de ecuaciones solo despejaremos con respecto a los 9 fuerzas que
se pide por pregunta se muestra en la figura 5.2
B)Resuelva el problema por factorización LU Antes de hallar mostraremos la
ecuación dada por LU.
AX = b Ly = b, Ux = y factorizacion LU (5.1)
59
Figura 5.2: se muestra el sistema de ecuaciones la matriz A, la vector de fuerzas
f) y vector de de coeficientes b
b
y=
L
luego de hallar el vectorb procedemos calcular las fuerzas que sera despejando
x = (F) en la segunda ecuación de la factorización LU.
x = Uy
A continuación se muestra las fuerzas de cada miembro con un método iterativo
directo de factorización LU.
60
Figura 5.4: se muestra las fuerzas calculadas con el método directo de FACTORI-
ZACIÓN LU
61
VALORES PROPIOS Y VALORES SINGULARES
CAPÍTULO 6
PREGUNTA 6.1
3 0 −5
A = 0,2 −1 0
1 1 −2
Yk = Axk
1
xk = ( Yk )
ck+1
SOLUCIÓN
62
% resultados
% lambda e s e l a u t o v a l o r dominante
%V e s e l a u t o v e c t o r dominante
lambda =0;
c n t =0;
e r r o r= t o l +1;
i =0;
while e r r o r > t o l & i < maxiter
i = i +1;
Y=A*X ;
% n o r m a l i z a c i o n de y
[m j ]=max( abs ( Y ) ) ;
c1=m;
dc=abs ( lambda−c1 ) ;
Y=(1/ c1 ) * Y ;
%A c t u a l i z a c i o n de X y c r i t e r i o de c o n v e r g e n c i a
dv=norm ( X−Y ) ;
e r r o r=max( dc , dv ) ;
X=Y ;
lambda=c1 ;
end
V=X ;
valor inicial: n o
x0 = 1 1 1
matriz para el cálculo:
3 0 −5
A = 0,2 −1 0
1 1 −2
63
PREGUNTA 6.2
SOLUCIÓN
A) Escribe la ecuación de equilibrio Primero se mostrara un diagrama de cuerpo
libre para las dos masas y con la Ley de Hooke F = −Kx calcularemos las ecua-
ciones donde los desplazamientos tienen sentido contrario a la fuerza (fuerza
restauradora) estas se muestra en la figura 6.4.
F1 = −K1 X1 − K2 (X1 − X2 )
F2 = K2 (X1 − X2 ) − K1 X1
Donde X1 y (X1 − X2 ) son las deformaciones que afectan a dichas masas.
B) da valores a las constantes elásticas y halla los desplazamientos X1 y X2 que
sufren las masas a sendas fuerzas, f1 y f2 . Estas fuerzas, en el equilibrio, se com-
pensan con las fuerzas de reacción elástica :f1 = F1
Kg Kg Kg
en nuestro caso tomaremos la constante K1 = 10 s2 ,K2 = 20 s2 y K3 = 15 s2 , las
fuerzas F1 = 19,6N y F2 = 29,4N
19,6 = −10X1 − 20(X1 − X2 )
64
29,4 = 20(X1 − X2 ) − 15X1
Dando la forma de un sistema de ecuaciones lineales:
AX = b Ly = b, Ux = y factorizacion LU (6.1)
65
INTERPOLACIÓN POLINÓMICA
CAPÍTULO 7
PREGUNTA 7.1
hora 8 9 10 11 12 13 14
viajeros 41 35 21 9 11 17 32
SOLUCIÓN
a) Para hallar el polinomio de grado 1,p1 (x) = a1 (x) + a2 , que nos de la estimación
de viajeros para x = 10, 5 tomamos los puntos de interpolación (10, 21)(11, 9),
y calculamos la recta que pasa por ellos:
p1 (10) = (10)a1 + a2 = 21
p1 (11) = (11)a1 + a2 = 9
obteniendo a1 = −12 y a1 = 141, por lo que el número de viajeros estiamdos a
las 10:30 será p1 (10, 5) = −12 ∗ 10, 5 + 141 = 15.
b) Hallaremos el polinomio de interpolacion cuadrático, p2 (x) = a1 x2 + a2 x + a3 , a
partir de los puntos (10,21),(11,9),y (12,11). El sistema de ecuaciones lineales
para este caso resulta:
100 10 1 a1 21
121 11 1 a2 = 9
144 12 1 a3 11
66
1 x = 8:14;
2 y = [ 41 35 21 9 11 17 3 2 ] ;
3 x2 = x ( 3 : 5 ) ;
4 y2 = y ( 3 : 5 ) ;
5 A = vander ( x2 ) ;
6 p2 = A\ y2 ;
La parábola que interpola los puntos es p2 (x) = 7x2 − 159x + 911. Obtenemos
la estimación requerida con polyval (p2,10.5), resulta 13.25 viajeros.
Con lo que obtenemos p3 (x) = 2x3 − 59x2 + 565x − 1729, y el número estimado
de viajeros es 14.
PREGUNTA 7.2
Temperatura 10 20 30 40 50 60
Solubilidad 33 37 42 46 51 55
SOLUCIÓN
67
a) Obtenemos al polinomio pedido ejecutando las siguientes instrucciones:
1 x = ([Link]) ’;
2 y = [33 37 42 46 51 5 5 ] ’ ;
3 x3 = x ( 2 : 5 ) ;
4 y3 = y ( 2 : 5 ) ;
5 A = vander ( x3 ) ;
6 ncon = cond (A)
7
8 ncon =
9
10 3.9175 e+06
11 p = A\ y3
12
13 p =
14
15 0.0003
16 −0.0350
17 1.6167
18 16.0000
b) Veamos que el número de condición mejora, al utilizar otra expresión del po-
linomio, realizando un desplazamiento del origen.
1 xm = mean ( x3 ) ;
2 xd = x3 − xm ;
3 Ad = vander ( xd ) ;
4 ncon = cond (Ad)
5 pd = Ad\ y3
68
En la Figura 7.1 se ha representado el polinomio junto a los puntos de in-
terpolación. Teniendo en cuenta el desplazamiento de los datos, hallamos las
estimaciones de la solubilidad en las temperaturas perdidas, 25,35, y 45.
1 t = p o l y v a l ( pd , [ 2 5 , 3 5 , 4 5 ] −xm)
2 t =
3 39 ,7500 44 ,0000 48 ,2500
PREGUNTA 7.3
Carga(Kp) 5 10 15 20 25
Contracción(mm) 49 105 172 253 352
SOLUCIÓN
69
a) Elegimos los tres nodos más cercanos a x = 13, que son 10,15 y 20. El polino-
mio de Lagrange será de la forma:
Obtenemos la contracción del resorte para una masa de 13kp con la siguiente
llamada:
1 x = [10 15 2 0 ] ;
2 y = [105 172 2 5 3 ] ;
3 v = lagrange ( x , y , 1 3 )
PREGUNTA 7.4
a) El poliniomio de Newton grado 3 para los punjtos más próximos a 10,5 y con-
siderando el orden de proximidad (10,21),(11,9),(12,11) y (9,35) tienen la si-
guiente forma: P3 (x) = c4 + c3 (x − 10) + 7(x − 10)(x − 11) + c1 (x − 10)(x − 11)(x − 12)
inponiendo las condiciones de interpolación obtendremos el siguiente sistema
de ecuacuiones lineales:
P3 (10)=21=c4
P3 (11)= 9 =c4 +c3
P3 (12)=11=c4 +c3 +2c2
P3 (9) =35=c4 −c3 +2c2 −6c1
70
Al resolver obtenemos el polinomio de Newton: P3 (x) = 21 − 12(x − 10) + 7(x −
10)(x − 11) + 2(x − 10)(x − 11)(x − 12)
b) Construimos el polinomio sin tener que resolverlo un sitema lineal, partiendo
de los púntos de interpólación, construimos la tabla de diferencias divididas:
x y
10 21
9−12
11 9 11−10 = -12
11−9 2−(−12)
12 11 12−11 = 2 12−10 = 7
35−11 −8−2 5−7
9 35 9−12 = −8 9−11 = 5 9−10 =2
PREGUNTA 7.5
1
y=
1 + x2
Vamos a comprobar que cuando una función tiene caractierı́sticas muy di-
ferentes a las de los polinomios, la interpolaciónpolómica con nodos equies-
paciados puede resultar inadecuada.
SOLUCIÓN
a) En primer lugar codificamos la función de Runge:
1 function y = f ( x )
2 y = 1./(1+ x ˆ2)
71
Los polinomios de Newton obtenidos son:
PREGUNTA 7.6
Masa(kg) 5 10 15
Longitud(cm) 395 620 795
SOLUCIÓN
72
En m = 7kg:
1 v = polyval (p , 7 )
2 v =
3 491.0000
Representamos el poliniomio junto a los puntos de interpolación:
1 xn = 3 : . 1 : 2 0 ;
2 yn = p o l y v a l ( p , xn ) ;
3 p l o t ( x , y , ’ * ’ , xn , yn )
4 x l a b e l ( ’ Masas ’ )
5 y l a b e l ( ’ Longitudes ’ )
6 t i t l e ( ’ Polinomio de grado 2 ’ )
PREGUNTA 7.7
Horas de trabajo 0 2 4 6 8
Piezas por hora 0 62 116 74 8
SOLUCIÓN
73
Desplazamos del origen al valor medio de los nodos c=10.
1 x=[5;10;15];
2 y=[395;620;795];
3 A=vander ( x ) ;
4 nc=cond (A)
5
6 nc =
7
8 1.1079 e+03
9
10 p=A\ y
11
12 p =
13
14 −1.0000
15 60.0000
16 120.0000
17
18 c=mean ( x )
19
20 c =
21
22 10
23
24 xd=x−c ;
25 Ad=vander ( xd ) ;
26 ncd=cond (Ad)
27
28 ncd =
29
30 35.4120
31
32 pd=Ad\ y
33
34 pd =
35
36 −1
37 40
38 620
La expresión del polinomio sera:
74
PREGUNTA 7.8
Hallar la cota del error al aproximar la función sen(x) con nodos equiespa-
ciados en [0, π] por el polinomio interpolador de tercer grado.
SOLUCIÓN
hn+1
|f (x) − Pn (x)| ≤ (n+1)!
máxx∈[0,π] f (n+1) (x)
Como la derivada n-ésima de al función está acotada por la unidad, podemos ga-
rantizar :
máxx∈[0,π] f (n+1) (x) ≤ 1
hn+1
|f (x) − Pn (x)| ≤ (n+1)!
1 π 4
en particular para n = 3 y h = π/4 será: E ≤ 24 4 = 0,0159
75
TRAZADORES CÚBICOS
CAPÍTULO 8
PREGUNTA 8.1
Escribe el sistema lineal que verifican los valores de la derivada segunda del
spline cúbico en los nodos, suponiendo conocidas éstas en los extremos.
SOLUCIÓN
hk h + hk+1 h
rk + k rk+1 + k+1 rk+2 = ek+1 − ek (8.1)
6 3 6
k = 1, 2, ..., n − 1 (8.2)
donde:
yk+1 − yk
hk = xk+1 + xk y ek =
xk+1 − xk
sabemos que la derivada segunda de los extremos es conocida, pasamos al segun-
do mienbro el téremino en r y de la primera ecucación y el termino en rn + 1 de la
última, con lo que dichas ecuaciones quedan:
hn−1 h − hn h
rn−1 + n−1 rn = en − en−1 − n rn−1
6 3 6
Por tanto la matriz del sistema es:
h +h h2
1 3 2 6
h
2 h2 +h 3 h 3
6 3 6
h3 h4 +h3 h4
6 3 6
M =
... ... ...
hn−2 hn−2 −hn−1 hn−1
6 3 6
hn−1 hn−1 +hn
6 3
76
el termino independiente:
e2 − e1 − h61 r1
e3 − e2
e4 − e3
g =
..
.
en − en−2
en − en−2 − h6n rn+1
PREGUNTA 8.2
SOLUCIÓN
1 n=10; % Tomamos 10 s u b i n t e r v a l o s
2 h=2/n ; % Abscisas
3 x =[ −1:h : 1 ] ; % Ordenadas de Runge
4 y = 1 . / ( 1 + 25* x . ˆ 2 ) ; % y t i e n e n+1 c o m p o n e n t e s
5 a=y ( 1 : n )
6
7 a =
8
9 0.0385 0.0588 0.1000 0.2000 0.5000 1.0000 0.5000
0.2000 0.1000 0.0588
10
11 b= d i f f ( y ) . / d i f f ( x )
12
13 b =
14
15 0.1018 0.2059 0.5000 1.5000 2.5000 −2.5000 −1.5000
−0.5000 −0.2059 −0.1018
Luego de obtener los coeficientes del spline, su evaluación en un punto x , elegir
los coeficientes ak , bk del polinomio correspondiente, qk (x) y evaluarlo según su
formula.
1 s =[b ’ , a ’ ]
2
3 s =
4
5 0.1018 0.0385
6 0.2059 0.0588
7 0.5000 0.1000
77
8 1.5000 0.2000
9 2.5000 0.5000
10 −2.5000 1.0000
11 −1.5000 0.5000
12 −0.5000 0.2000
13 −0.2059 0.1000
14 −0.1018 0.0588
Para evaluar el splline, y los coeficientes, se necesitan los nodos. como ambos
datos: mkpp(comando, crea una estrucctura similar al spline)
1 ps=mkpp( x , s )
2 xg = ( − 1 : . 0 0 5 : 1 ) ’ ;
3 yg =1./(1+25* xg . ˆ 2 ) ;
4 ys=ppval ( ps , xg ) ;
5 p l o t ( x , y , ’ * ’ , xg , yg , xg , ys )
Comparando el spline lineal con el polinomio de grado 10 que interpola los mis-
mos nodos, observamos que este últimno presenta más oscilaciones, sobretodo en
los extremos del intervalo.
78
PREGUNTA 8.3
SOLUCIÓN
79
8
9 g =
10
11 −1.0018 1.0018 −0.4775 −1.4792 1.4792
Si las derivadas no son nulas, hay que ajustar el primer y el último elemnto de g:
[-1.001757600061189 1.001757600061189 -0.477464829275686 -1.479222429336875
1.479222429336875]
1 g ( 1 ) = g (1) − h ( 1 ) * r1 /6
2 g=
3
4 −1.001757600061189 1.001757600061189 −0.477464829275686 −1.479222429336875 1
5 g ( n−1)=g ( n−1) −h ( n ) * rn1 /6
6 g=
7
8 −1.0890 1.0018 −0.4775 −1.4792 1.3920
Resolviendo el sistema lineal para obtener los valores desconocidos de las segun-
das derivadas, rk .
1 r=M\g ’ ;
2 r =[ r1 ; r ; rn1 ] ;
3
4 r =
5
6 0.2500
7 −1.0415
8 1.0460
9 −0.2727
10 −1.3232
11 1.3277
12 0.2500
Una vez obtenidas las deriavdas segundas, aplicamos la formula de los coeficien-
tes de los polinomios interpolantes:
1 r1=r ( 1 : n ) ;
2 r r =r ( 2 : n + 1 ) ;
3 a=y ( 1 : n ) ’ ;
4 b=e ’ − ( r r +2* r1 ) . * h ’ / 6 ;
5 c=r1 /2
6 d= d i f f ( r ) . / h ’ / 6 ;
Componemos la matriz del spline y representarlo graficamente.
1 s =[d ; c ; b ; a ] ;
2 ps=mkpp( x , s ) ;
3 xg= l i n s p a c e ( −2* pi , 2 * pi ) ;
4 ys=ppval ( ps , xg ) ;
5 yg=s i n ( xg )+ c o s ( xg / 2 ) ;
6 p l o t ( x , y , ’ * ’ , xg , yg , xg , ys , ’ −. ’ )
7
8 s =
9
80
10 −0.1028
11 0.1661
12 −0.1049
13 −0.0836
14 0.2110
15 −0.0858
16 0.1250
17 −0.5207
18 0.5230
19 −0.1363
20 −0.6616
21 0.6639
22 0.8412
23 0.0124
24 0.0172
25 0.8270
26 −0.8442
27 −0.8394
28 −1.0000
29 0.3660
30 −0.3660
31 1.0000
32 1.3660
33 −1.3660
81
PREGUNTA 8.4
1
y=
1 + 25x2
obtenidas interpolando sus valores en 9 nodods equidistantes en [0, 1]
SOLUCIÓN
Spline No-Nodo
82
Spline lineal
PREGUNTA 8.5
SOLUCIÓN
83
En priemr lugar reepresentamos gráficamente dichos puntos conectándolos me-
diante rectas, lo que equivale a la interpolación polinomica segmentaria lineal.[Link]
84
18 7 12 15
19
20
21 y2 =
22
23 6 7 1
24 x3=x ( s o l t a r : f i n ) , y3=y ( s o l t a r : f i n ) ;
25
26 x3 =
27
28 15 8 4 0
29
30 y3 =
31
32 1 −1 −2 0
Para represntar los splines; obtenemos suficientes valores de x en cada tramo.
Calculamos la diostancia minioma entre los mpuntyos conicidos en toda la tra-
yuectoria. Ası́, el incremento en la variable x para definir el spline será la decima
parte de esta distancia mı́nima.
1 i n c r =min ( abs ( x ( 2 : f i n ) − x ( 1 : f i n − 1 ) ) ) / 1 0 ;
De este modo, al menos hábra 10 puntos de representación entre cada par de
puntos de la tabla anterior, distribuimos del siguente modo:
1 t 1= l i n s p a c e ( x ( 1 ) , x ( c o g e r ) ) ;
2 t 2= l i n s p a c e ( x ( c o g e r ) , x ( s o l t a r ) ) ;
3 t 3= l i n s p a c e ( x ( s o l t a r ) , x ( f i n ) ) ;
Calculamos los spline no-noddo mediante el comando de MATLAB:
1 ys1= s p l i n e ( x1 , y1 , t 1 ) ;
2 ys2= s p l i n e ( x2 , y2 , t 2 ) ;
3 ys3= s p l i n e ( x3 , y3 , t 3 ) ;
Y dibujamos la trayectoria resultante:
1 p l o t ( [ t 1 t 2 t 3 ] , [ ys1 ys2 ys3 ] , x , y , ’ o ’ )
2 xlabel ( ’ x ’ ) , ylabel ( ’y ’ ) , grid
3 t i t l e ( ’ R e c o r r i d o d e l brazo ’ ) ;
85
86
MODELOS LINEALES
CAPÍTULO 9
PREGUNTA 9.1
87
SOLUCIÓN
Sean:
" P 2 P #
1991 2362373
x x
1992
N= P P 0
2337472
x x
1993 2471228
" P #
xy
1994
2774579
C= P
y
1995 2575873
" #
a
x = 1996 y = 2427015
P=
1997
b
2262721
1998 2067830
1999 1783940
2000 1659820
2001 1598920
NP = C
" P 2 P #" # " P #
a a a xy
P P 0 = P
a a b y
P = N−1 C
6 l =length ( a ) ;
7 N=[sum( a . ˆ 2 ) , sum( a ) ; sum( a ) , sum( a . ˆ 0 ) ] ;
8 C=[sum( a . * b ) ; sum( b ) ] ;
9 P=N\C ;
10 Q=P ’ ;
11 k=polyval (Q, x ) ;
12 plot ( x , k )
88
El resultado en la consola de P = N\C es P = 1.0e+08 *[ -0.0009 1.8941]
Por lo que la ecuación de la recta ajustada es la siguiente:
y = −0,0009e + 08x + 1,8941e + 08
N = AT A
P = N−1 C
89
y1 P 3
3
x1 x23 x33
··· xn3
y P xi yi
2
x x22 x32
··· 2 x2 y
xn2
Donde C = AT y = 11 y3 = P i i
x1 x21 x31
··· xn1 .. P xi1 yi
0 .
x1 x20 x30
··· xn0 xi0 yi
y1 1
Resolviendo el sistema mencionado en Matlab con el siguiente código se obtienen
a
b
los coeficientes P = correspondientes al polinomio de ajuste:
c
d
y = ax3 + bx2 + cx + d
1 x =[1991 , 1992 , 1993 , 1994 , 1995 , 1996 , 1997 , 1998 , 1999 , 2000
2 y=[2362373 ; 2337472 ; 2471228 ; 2774579 ; 2575873 ; 2427015 ; 2262721
3 plot ( a , b , ’ o ’ )
4 hold on
5
6 l =length ( a ) ;
7 N=[sum( a . ˆ 2 ) , sum( a ) ; sum( a ) , sum( a . ˆ 0 ) ] ;
8 C=[sum( a . * b ) ; sum( b ) ] ;
9 P=N\C ;
10 Q=P ’ ;
11 k=polyval (Q, x ) ;
12 plot ( x , k )
90
c)
Errorcuadratico = 1,5214e + 11
(p(x ) − ȳ)2
P
I= P i
(yi − ȳ)2
Haciendo los cálculos en Matlab con la siguiente orden: indet=sum((k-mean(y)).ˆ2)/sum((y-m
se obtiene:
I = 0,8961
d)
Para estimar el número de parados para el 2002 , solo hace falta evaluar x = 2002
en el polonomio P (x). Esto usando el comando polyval de Matlab con el cual
se estima 1,1175e06 parados.
e)
91
PREGUNTA 9.2
La densidad del aire (en g/m3) varı́a con la altura h según la tabla siguiente:
h 7 10 21 27 34 39 43 47 51 55 59 59 61
p 556 369 191 75 26.2 9.9 4.4 2.3 1.4 0.8 0.5 0.33 0.25
b) Dibuja los datos y el polinomio ajustado. Explica por qué este ajuste
no resulta adecuado para alturas grandes.
SOLUCIÓN
(p(x ) − ȳ)2
P
I= P i
(yi − ȳ)2
92
Polinomio de grado 1 Polinomio de grado 2
I = 0.7329 I = 0.9704
93
b)
c)
Para realizar un ajuste exponencial se hace la siguiente transformación para ha-
llar una función de la forma y = kebx :
y = kebx
ln y = ln(kebx )
ln y = ln k + bx, ln k = a, ln y = z
z = a + bx
94
1 x =[7 , 10 , 21 , 27 , 34 , 39 , 43 , 47 , 51 , 55 , 59 , 59 , 6 1 ] ;
2 y =[556 ; 369 ; 191 ; 75 ; 2 6 . 2 ; 9 . 9 ; 4 . 4 ; 2 . 3 ; 1 . 4 ; 0 . 8 ; 0 . 5 ; 0 . 3
3 l y=log ( y ) ;
4 p l o t ( x ’ , y , ’ o ’ , ’ LineWidth ’ , 2 )
5
6 hold on
7
8 A=[ x ’ . ˆ 1 , x ’ . ˆ 0 ] ;
9 N=A’ *A ;
10 C=A’ * l y ;
11 P=N\C ;
12
13 d=l i n s p a c e ( 0 , 7 0 ) ;
14 r=polyval ( P , d ) ;
15 exd=exp ( P ( 1 , 1 ) . * d+P ( 2 , 1 ) ) ;
16 p l o t ( d , exd )
17 %p l o t ( d , r , ’ LineWidth ’ , 2)
18 disp ( P )
z = a + bx
z = −0,1462 + 7,8142x
ln y = −0,1462 + 7,8142x
y = e−0,1462+7,8142x
95
PREGUNTA 9.3
Hora 6 8 10 12 14 16 18 20
Grados 7 9 12 18 21 19 15 10
SOLUCIÓN
a)
NP = C
P = N−1 C
Además,
N = AT A
Donde
x13 x12 x11 x10
x23 x22 x21 x20
x33 x32 x31 x30
A =
.. .. .. ..
. . . .
xn xn2
3 xn xn0
1
96
Para hallar la matriz de coeficientes, se usará el siguiente código de Matlab:
1 h=[6 ,8 ,10 ,12 ,14 ,16 ,18 ,20] ’;
2 t =[7 ,9 ,12 ,18 ,21 ,19 ,15 ,10] ’;
3 plot ( h , t , ’ o ’ , ’ linewidth ’ , 1 . 5 )
4 hold on
5 A=[h . ˆ 4 , h . ˆ 3 , h . ˆ 2 , h . ˆ 1 , h . ˆ 0 ] ;
6 N=A’ *A ;
7 C=A’ * t ;
8 P=inv (N) *C ;
9 Q=P ’ ;
10 y f=polyval (Q, h ) ;
11
12 d=l i n s p a c e ( 3 , 2 1 , 1 0 0 )
13 k=polyval (Q, d ) ;
14 plot (d , k , ’ linewidth ’ ,1)
15 disp ( P )
16
17 P2=polyval ( P , h ) ;
18 e r r =sum ( ( k− t ) . ˆ 2 ) ;
19 disp ( e r r )
20 %i n d i c e de d e t e r m i n a c i o n
21 i n d e t=sum ( ( yf −mean ( t ) ) . ˆ 2 ) / sum ( ( t −mean ( t ) ) . ˆ 2 ) ;
22 disp ( i n d e t )
b)
c)
97
d)
PREGUNTA 9.4
y = K sin(ωt + φ)
P = K cos φ, Q = K sin φ
y = P sin(ωt) + Q cos(ωt)
t 0 1.5 3 4.5 6
y -0.0713 -2.1641 0.8403 2.2658 -0.5083
98
PREGUNTA 9.5
Año Abonados
1988 11689
1989 29783
1990 54712
1991 108451
1992 180296
1993 257250
1994 411930
1995 928955
99
POLINOMIOS ORTOGONALES
CAPÍTULO 10
PREGUNTA 10.1
SOLUCIÓN
f (x) = c0 φ0 + c1 φ1 + c2 φ2 + · · ·
f (x) = ex = a0 φ0 + a1 φ1 + a2 φ2 + a3 φ3 + a4 φ4 + a5 φ5 =
a0 x0 + a1 x1 + a2 x2 + a3 x3 + a4 x4 + a5 x5 + q(x)
100
O sea, el conjunto ortogonal esel siguiente:
n o
{φ0 , φ1 , φ2 , φ3 , φ4 , φ5 } = x0 , x1 , x2 , x3 , x4 , x5
f (x), φ0 = a0 φ0 , φ0 + a1 φ1 , φ0 + a2 φ2 , φ0 + a3 φ3 , φ0 + a4 φ4 , φ0 + a5 φ5 , φ0
f (x), φ1 = a0 φ0 , φ1 + a1 φ1 , φ1 + a2 φ2 , φ1 + a3 φ3 , φ1 + a4 φ4 , φ1 + a5 φ5 , φ1
f (x), φ2 = a0 φ0 , φ2 + a1 φ1 , φ2 + a2 φ2 , φ2 + a3 φ3 , φ2 + a4 φ4 , φ2 + a5 φ5 , φ2
f (x), φ3 = a0 φ0 , φ3 + a1 φ1 , φ3 + a2 φ2 , φ3 + a3 φ3 , φ3 + a4 φ4 , φ3 + a5 φ5 , φ3
f (x), φ4 = a0 φ0 , φ4 + a1 φ1 , φ4 + a2 φ2 , φ4 + a3 φ3 , φ4 + a4 φ4 , φ4 + a5 φ5 , φ4
f (x), φ5 = a0 φ0 , φ5 + a1 φ1 , φ5 + a2 φ2 , φ5 + a3 φ3 , φ5 + a4 φ4 , φ5 + a5 φ5 , φ5
Que esequivalente a:
D E D E D E D E
hex , 1i = a0 h1, 1i + a1 hx, 1i + a2 x2 , 1 + a3 x3 , 1 + a4 x4 , 1 + a5 x5 , 1
D E D E D E D E
hex , xi = a0 h1, xi + a1 hx, xi + a2 x2 , x + a3 x3 , x + a4 x4 , x + a5 x5 , x
D E D E D E D E D E D E D E
ex , x2 = a0 1, x2 + a1 x, x2 + a2 x2 , x2 + a3 x3 , x2 + a4 x4 , x2 + a5 x5 , x2
D E D E D E D E D E D E D E
ex , x3 = a0 1, x3 + a1 x, x3 + a2 x2 , x3 + a3 x3 , x3 + a4 x4 , x3 + a5 x5 , x3
D E D E D E D E D E D E D E
ex , x4 = a0 1, x4 + a1 x, x4 + a2 x2 , x4 + a3 x3 , x4 + a4 x4 , x4 + a5 x5 , x4
D E D E D E D E D E D E D E
ex , x5 = a0 1, x5 + a1 x, x5 + a2 x2 , x5 + a3 x3 , x5 + a4 x4 , x5 + a5 x5 , x5
Na = A
a = N−1 A
101
Donde:
D E Zb
i−1 j−1
Nij = x , x = xi−1 xj−1 dx
a
D E Zb
Ai = f (x), xi−1 = f (x)xi−1 dx
a
9 81 243 243
3 9
2 4 5 2
9 81 243 243 2187
2 9
4 5 2 7
81 243 243 2187 6561
9
N = 81
4 5 2 7 8
243 243 2187 6561
2187
4 5 2 7 8
243 243 2187 6561 59049
2187
5 2 7 8 10
243 2187 6561 59049 177147
2187
2 7 8 10 11
e3 − 1
2e3 + 1
5e3 − 2
A =
12e3 + 6
33e3 − 24
87e3 + 120
a0 0,9953
a1
1,064
a2 0,297
a = =
a3 0,419
−9,859 × 10−2
a4
a5 4,07 × 10−2
102
PREGUNTA 10.2
Z 1 2
Halla a, b, c y d para que la integral ex − (a + bx + cx2 + dx3 ) dx sea
−1
mı́nima
SOLUCIÓN
Hallar los coeficientes a, b, c y d que hace que la integral mostrada sea mı́nima im-
plica hallar la aproximación de un polinomio de tercer grado mı́nimo cuadrático
que se ajuste a la función f (x) = ex en [−1, 1].
Del ejemplo anterior se tiene la siguiente matriz:
Nc = A → c = N−1 A
103
Donde:
D E Zb
i−1 j−1
Nij = x , x = xi−1 xj−1 dx
a
D E Zb
Ai = f (x), xi−1 = f (x)xi−1 dx
a
2,3504
0,7358
A =
0,8789
0,4495
a
b
Entonces, la matriz c = es:
c
d
a 0,9963
b 0,9980
c = =
c 0,5367
d 0,1761
Por lo tanto, el polinomio que hace mı́nima a la integral del enunciado es:
104
El programa usado para resolver este ejercicio es el siguiente:
1 N=z e r os ( 4 , 4 ) ;
2 f o r a =1:4
3 f o r b=1:4
4 orN = @( x ) x . ˆ ( a − 1 ) . * x . ˆ ( b − 1 ) ;
5 n i= i n t e g r a l ( orN , − 1 , 1 ) ;
6 N( a , b)= n i ;
7 end
8 end
9 disp (N)
10
11 A=z e r os ( 4 , 1 ) ;
12 f = @( x ) exp ( x ) ;
13 f o r k=1:4
14 C = @( x ) f ( x ) . * x . ˆ ( k − 1 ) ;
15 a i = i n t e g r a l (C, − 1 , 1 ) ;
16 A( k , 1 ) = a i
17 end
18 disp (A)
19 Pol=N\A
20 Dom=l i n s p a c e ( − 3 , 3 , 1 0 0 ) ;
21 Ran=polyval ( flipud ( Pol ) ,Dom ) ;
22 p l o t (Dom, f (Dom) , ’ y ’ ,Dom, Ran , ’ k ’ , ’ l i n e w i d t h ’ , 2 )
105
PREGUNTA 10.3
SOLUCIÓN
1 dn h 2 n
i
Pn (x) = (x − 1)
2n n! dxn
Se tiene:
P0 (x) = 1
P1 (x) = x
3 1
P2 (x) = x2 −
2 2
5 3 3
P3 (x) = x − x
2 2
35 4 15 2 3
P4 (x) = x − x +
8 4 8
Estos polinomios son ortogonales respecto al pero w(x) = 1
Z1
0 ,i , j
Pi (x)Pj (x) dx =
2
Cj = 2j + 1 , i = j
−1
Z1
1
ak = f (x)Pk (x) dx
Ck −1
2
Ck = , k = 0, 1, 2, 3, · · · , n
2j + 1
106
Z 1
1 1
a0 = (1) |x| dx =
2 −1 2
Z 1
3
a1 = (x) |x| dx = 0
2 −1
Z 1
5 3 2 1 5
a2 = x − |x| dx =
2 −1 2 2 8
Z 1
7 5 3 3
a3 = x − |x| dx = 0
2 −1 2 2
Z 1
9 35 4 15 2 3 3
a4 = x − x + |x| dx = −
2 −1 8 4 8 16
1 5 3
P (x) = P0 (x) + P2 (x) − P4 (x)
2 8 16
Graficando la función en Matlab usando el siguiente código se obtiene la siguien-
te figura:
1
2 x=l i n s p a c e ( − 1 . 5 , 1 . 5 , 1 0 0 ) ;
3 P0 = @( x ) 1 ;
4 P2 = @( x ) ( 3 / 2 ) . * x . ˆ 2 − 1 / 2 ;
5 P4 = @( x ) 1 / 8 . * ( 3 5 . * x . ˆ 4 − 3 0 . * x . ˆ 2 + 3 ) ;
6 f = @( x ) abs ( x ) ;
7 PA = @( x ) ( 1 / 2 ) . * P0 ( x ) + ( 5 / 8 ) . * P2 ( x ) − ( 3 / 1 6 ) . * P4 ( x ) ;
8 plot ( x , f ( x ) , ’k ’ , ’ linewidth ’ ,2)
9 hold on
10 p l o t ( x , PA( x ) , ’ l i n e w i d t h ’ , 2 )
107
108
PREGUNTA 10.4
SOLUCIÓN
P0 (x) = 1
P1 (x) = x
3 1
P2 (x) = x2 −
2 2
5 3 3
P3 (x) = x − x
2 2
35 4 15 2 3
P4 (x) = x − x +
8 4 8
63 5 −35 3 15
P5 (x) = ·x + ·x + ·x
8 4 8
231 6 −315 4 105 2 −5
P6 (x) = ·x + ·x + ·x +
16 16 16 16
429 7 −693 5 315 3 −35
P7 (x) = ·x + ·x + ·x + ·x
16 16 16 16
6435 8 −3003 6 3465 4 −315 2 35
P8 (x) = ·x + ·x + ·x + ·x +
128 32 64 32 128
12155 9 −6435 7 9009 5 −1155 3 315
P9 (x) = ·x + ·x + ·x + ·x + ·x
128 32 64 32 128
46189 10 −109395 8 45045 6 −15015 4 3465 2 63
P1 0(x) = ·x + ·x + ·x + ·x + ·x −
256 256 128 128 256 256
109
APROXIMACIÓN TRIGONOMÉTRICA
CAPÍTULO 11
PREGUNTA 11.1
solucion
grafica
110
PREGUNTA 11.2
dq Vε q
= −
dt R RC
solucion
grafica
111
PREGUNTA 11.3
Comprobar que la ED
solucion
grafica
112
113
ECUACIONES DIFERENCIALES DE PRIMER ORDEN
CAPÍTULO 12
PREGUNTA 12.1
114
Metodo de Euler Modificado con n=20
115
grafica
116
Metodo de Euler Modificado con n=10
117
PREGUNTA 12.2
118
119
ANEXOS
120