Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTEGRANTES:
APELLIDO, NOMBRE CUI
1. Baca Charca Diego Vladimir 20180489
2. Ccahua Ccahua, Mariela 20123933
3. Chavez Cruz Alex Edwin 20103646
4. Huanca Pandia Cinthia Raquel 20163221
5. Muñuico Mamani Franklin 20180488
6. Sihuayro Apaza CintyaYanet 20130793
7. Solis Chambi Nicole 20172084
8. Valencia Malqui María Luisa 20120788
Arequipa – 2019
1
ÍNDICE
PARTE I
EXPLICACION DE LA PROGRAMACION DE LOS METODOS......3
PARTE II
RESOLUCIÓN DE 10 EJERCICIOS CREADOS POR CADA
INTEGRANTE……...................................................................................….8
PARTE IVI
Resolución de ejercicios complementarios por integrante del libro de
Steven C.
Chapra………………………………………………………………..…120
2
PARTE I
EXPLICACION DE LA PROGRAMACION DE LOS METODOS:
la función
Deriva con respecto a “x”
Número de iteraciones
3
EXPLICACION DE LA PROGRAMACION DEL METODO DE
BISECCION:
cuadrícula
4
EXPLICACION DE LA PROGRAMACION DEL METODO DE FALSA
POSICION:
Se introduce la función
que se desea resolver
Intervalos de la función y
la tolerancia
% falsa posición ('2*exp(x)-log(x+1)',1, 2,0.001)
Function falsa posicion (f, a, b, tol) F es la función, a y b son los
f=inline (f); intervalos y tol: la tolerancia
n=ceil ((log (b-a)-log (tol))/log (2));
% ceil Transforma f en una
Fprintf ('\n it. a b x= (a+b)/2 f(x) \n' función de matlab
x= (a+b)/2; Imprime el título de cada columna
Fprintf ('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f de la%8.4f \n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
tabla de interacción
b=x;
Muestra la tabla que se va a generar con
Else
sus respectivos valores de iteración
a=x;
End
While (error> tolerancia) Muestra los valores de la
C=(a*f(b)-b*f(a))/f(b)-f(a); interacción, de a, b y del error
Disp (it, a, b, error)
If f (a)*f(x) <0 Compara que intervalo se debe
B=c; tomar y si hay cambio de signo
Else a=c;
End Actualiza el error 10f indica la cantidad de
Error= abs (f(c)); decimales que tiene la raíz
It= it +1;
Fprintf ('\n La aproximación de la raíz es: %3.10f \n\n',x)
Ezplot (f) Aumenta en uno las interacciones en cada ciclo
Grid on;
Grafica la función
5
EXPLICACION DE LA PROGRAMACION DEL METODO DE LA
SECANTE:
6
EXPLICACION DE LA PROGRAMACION DEL METODO DEL
PUNTO FIJO:
Se introduce la función
que se desea resolver
Intervalos de la función
F es la función, a, el valor
% punto fijo ('2*exp(x)-cos(x+1)',0.5, 1,0.00001)
inicial y tol: la tolerancia
Function punto fijo (f, a, b, tol)
f=inline (f);
Transforma f en una
n=ceil ((log (b-a)-log (tol))/log (2)); función de matlab
% ceil
Fprintf ('\n it. a b x= (a+b)/2 f(x) \n'
Imprime el título de cada columna
For i=1: n
de la tabla de interacción
x= (a+b)/2;
Fprintf ('%3.0f %10.10f %10.10f %10.10f %10.10f \n', i, a, En b, x,f(x))
un bucle o ciclo que va desde uno
If f (a)*f(x) <0 hasta un número que le designemos
b=x;
Else
a=x; Muestra en cada paso los
Condiciona a la función, nos permite
End valores de la iteración
determinar la convergencia o divergencia
End
Fprintf ('\n La aproximación de la raíz es: %3.10f \n\n',x)
Ezplot (f) 10f indica la cantidad de
Grid on; decimales que tiene la raíz
Grafica la función
7
PARTE II
RESOLUCIÓN DE 10 EJERCICIOS CREADOS POR CADA
INTEGRANTE
ELABORADO POR: Baca Charca Diego Vladimir
𝑥1 + 𝑥0
𝑥2 =
2
−2+(−1)
𝑥2 = =-1.5
2
1 -2 -1 -1.5 1
biseccion('cos(x)-5^x',-2,-1,0.000001)
it. a b x=(a+b)/2 f(x)
1 -2.0000000000 -1.0000000000 -1.5000000000 -0.0187055174
2 -1.5000000000 -1.0000000000 -1.2500000000 0.1815743014
3 -1.5000000000 -1.2500000000 -1.3750000000 0.0851731668
4 -1.5000000000 -1.3750000000 -1.4375000000 0.0339941270
5 -1.5000000000 -1.4375000000 -1.4687500000 0.0078130281
6 -1.5000000000 -1.4687500000 -1.4843750000 -0.0054067052
7 -1.4843750000 -1.4687500000 -1.4765625000 0.0012133753
8 -1.4843750000 -1.4765625000 -1.4804687500 -0.0020941527
9 -1.4804687500 -1.4765625000 -1.4785156250 -0.0004397555
10 -1.4785156250 -1.4765625000 -1.4775390625 0.0003869688
11 -1.4785156250 -1.4775390625 -1.4780273438 -0.0000263537
12 -1.4780273438 -1.4775390625 -1.4777832031 0.0001803175
13 -1.4780273438 -1.4777832031 -1.4779052734 0.0000769844
14 -1.4780273438 -1.4779052734 -1.4779663086 0.0000253160
15 -1.4780273438 -1.4779663086 -1.4779968262 -0.0000005187
16 -1.4779968262 -1.4779663086 -1.4779815674 0.0000123987
17 -1.4779968262 -1.4779815674 -1.4779891968 0.0000059400
18 -1.4779968262 -1.4779891968 -1.4779930115 0.0000027107
19 -1.4779968262 -1.4779930115 -1.4779949188 0.0000010960
20 -1.4779968262 -1.4779949188 -1.4779958725 0.0000002886
8
La aproximación de la raíz es: -1.4779958725
biseccion('log(x+4)-2^x',0.25,1,0.000001)
9
15 0.6123199463 0.6123657227 0.6123428345 -0.0000038243
16 0.6123199463 0.6123428345 0.6123313904 0.0000058211
17 0.6123313904 0.6123428345 0.6123371124 0.0000009984
18 0.6123371124 0.6123428345 0.6123399734 -0.0000014130
19 0.6123371124 0.6123399734 0.6123385429 -0.0000002073
20 0.6123371124 0.6123385429 0.6123378277 0.0000003955
La aproximación de la raíz es: 0.6123378277
𝑓(𝑥1 )(𝑥0 − 𝑥1 )
𝑥2 = 𝑥1 −
𝑓(𝑥1 ). 𝑓(𝑥0 )
falsaposicion('log(x)+3*x^2',0.25,0.75,0.01)
10
10 0.4886 0.4886 0.7500 -0.0000 -0.0000 1.3998 0.2614
𝑓(𝑥1 )(𝑥0 − 𝑥1 )
𝑥2 = 𝑥1 −
𝑓(𝑥1 ). 𝑓(𝑥0 )
falsaposicion('exp(x)-6*x',2.5,3,0.01)
11
6 2.8331 2.8331 3.0000 -0.0001 -0.0000 2.0855 0.1669
𝑓(1.25)
𝑥2 = 1.25 −
𝑓´(1.25)
12
0.81532
𝑥2 = 1.25 −
−2.94898
𝑥2 = 1.52648
𝑓(1.52648)
𝑥3 = 1.52648 −
𝑓´(1.52648)
−0.00865818
𝑥3 = 1.52648 −
−2.99902
𝑥3 = 1.52359
newton('cos(x)-2*x+3',1.25,0.000001)
i x f(x)
1 1.5264756239 -0.0086450534
2 1.5235929958 -0.0000001881
𝑓(2)
𝑥𝑛+1 = 2 −
𝑓´(2)
13
1.9093
𝑥𝑛+1 = 2 −
−4.41615
𝑥2 = 2.43234
𝑓(2.43234)
𝑥3 = 2.43234 −
𝑓´(2.43234)
−0.0780922
𝑥3 = 2.43234 −
−4.75885
𝑥3 = 2.411593
newton('sin(x)-4*x+9',2,0.000001)
i x f(x)
1 2.4323446429 -0.0781152646
2 2.4159299136 -0.0000882967
3 2.4159113172 -0.0000000001
La aproximación de la raíz es: 2.4159113172
𝑓(0.25)(0.125 − 0.25)
𝑥2 = 0.25 −
𝑓(0.25). 𝑓(0.125)
𝑥2 = 0.177118
14
(0.0193395)(0.25 − 0.177118)
𝑥3 = 0.177118 −
(−0.065096 − 0.0193395)
𝑥3 = 0.193811
secante('sin(x)-5*x^2',0.125,0.25,1)
i a b r error
1 0.125000 0.250000 0.177118 41.149108
2 0.250000 0.177118 0.193811 8.613261
3 0.177118 0.193811 0.199301 2.754678
4 0.193811 0.199301 0.198671 0.317117
Se concluye que la aproximación a la raíz es : xa = 0.1987
𝑓(0.375)(0.125 − 0.375)
𝑥2 = 0.375 −
𝑓(0.375). 𝑓(0.125)
𝑥2 = 0.2409
(0.00752365)(0.375 − 0.2409)
𝑥3 = 0.2409 −
(−0.569993 − 0.00752365)
𝑥3 = 0.242649
secante('cos(x)-4*x',0.125,0.375,1)
i a b r error
1 0.125000 0.375000 0.240900 55.666531
15
2 0.375000 0.240900 0.242649 0.720772
Se concluye que la aproximación a la raíz es : xa = 0.2426
𝑥0 = (6 − x)1/3
1
G(x)=− 3(6−x)1/3
G(x)=-0.1229
𝑥1 = (6 − x 3 )
𝐺(𝑥) = −3x 3
G(x)= -6.75
it. x g(x)
0 1.5000000000 1.6509636244
1 1.6509636244 1.6322913533
2 1.6322913533 1.6346240594
3 1.6346240594 1.6343330009
4 1.6343330009 1.6343693227
5 1.6343693227 1.6343647901
16
6 1.6343647901 1.6343653558
𝑥 2 + 𝐶𝑜𝑠(2) − 2
𝑥0 =
3
2𝑥
G(x)= 3
G(x)=2.6666
𝑥1 = √3x − cos(2) + 2
3
𝐺(𝑥) =
2√3x − cos(2) + 2
G(x)=0.39506
17
[4] (0.000001) Mediante el método del punto fijo
puntofijo('sqrt(3*x-cos(2)+2)',4,0.001)
it. x g(x)
0 4.0000000000 3.7968601287
1 3.7968601287 3.7157404676
2 3.7157404676 3.6828478436
3 3.6828478436 3.6694264358
4 3.6694264358 3.6639358815
5 3.6639358815 3.6616873817
6 3.6616873817 3.6607661741
La aproximación del punto fijo es 3.6607661741
18
RESOLUCIÓN DE 10 EJERCICIOS CREADOS
SEGUNDO PASO:
Derivar la función:
𝑓´(𝑥) = 3𝑥 2 + 2𝑥 − 1
𝑓(𝑥)
Primera iteración: xi+1= xi - = 252.0000000000
𝑓´(𝑥)
𝑓(𝑥)
Segunda iteración: xi+2= xi+1− =75.7077142276
𝑓´(𝑥)
19
Aplicando el programa Matlab al ejercicio N°1
newton('x^3+x^2-x +6',0,0.000001)
i X f(x)
1 6.0000000000 252.0000000000
2 3.8823529412 75.7077142276
3 2.4259507970 23.7365825171
4 1.3223145138 8.7382888119
5 0.0540901968 5.9489938070
6 6.7910193495 358.5147731988
7 4.4157405445 107.1845092322
8 2.7997582562 32.9852027142
9 1.6265529051 11.3224507534
10 0.5154334190 5.8871742164
11 -6.5956966558 -230.8350945355
12 -4.6111835213 -66.1734603218
13 -3.3758359409 -17.6998278771
14 -2.7063296118 -3.7912038025
15 -2.4626789925 -0.4081587455
16 -2.4294115246 -0.0070329786
17 -2.4288178889 -0.0000022158
20
Ejercicio N°2
𝑥
𝑓(𝑥) = 𝑒 3 − sin(𝑥)
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
SEGUNDO PASO:
Derivar la función:
𝑥
1
𝑓´(𝑥) = 3 (𝑒 3 − 3cos(𝑥))
𝑓(𝑥)
Primera iteración: xi+1= xi - = 0.6512262841
𝑓´(𝑥)
𝑓(𝑥)
Segunda iteración: xi+2= xi+1− = 0.9082410489
𝑓´(𝑥)
newton('exp(x/3)-sin(x)',0,0.000001)
i X f(x)
21
1 1.5000000000 0.6512262841
2 0.1399821046 0.9082410489
3 1.5569765827 0.6804288376
4 0.3114356034 0.8029662280
5 1.6908717972 0.7642287304
6 0.6075712331 0.6536141211
7 2.1906553406 1.2615735855
8 1.1994483808 0.5597113558
9 -2.9678102940 0.5447569706
10 -3.4590748678 0.0035048097
11 -3.4623961714 0.0000019210
12 -3.4623979938 0.0000000000
2. MÉTODO DE BISECCIÓN
En éste métodos se aprovechan el hecho de que una función cambia de signo en la vecindad
de una raíz. A estas técnicas se les llama métodos cerrados, o de intervalos, porque se
necesita de dos valores iniciales para la raíz. Dichos valores iniciales deben “encerrar”, o
estar a ambos lados de la raíz.
Ejercicio N°1
22
𝑓(𝑥) = 3𝑠𝑖𝑛(𝑥 2 − 2)
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
SEGUNDO PASO:
Dar valores iniciales:
𝑎=1
𝑏 = 1.5
TERCER PASO: aplicando la fórmula determinar el número de iteraciones necesarias para
dicha función.
ln(b−a)
𝜀
𝑖≥ =4
ln2
biseccion('3*sin(x^2-2)',1,1.5,0.05)
i a B x=(a+b)/2 f(x)
23
1 1.0000000000 1.5000000000 1.2500000000 -1.2710287716
Ejercicio N°2
SEGUNDO PASO:
Dar valores iniciales:
24
𝑎 = 0.5
𝑏=1
TERCER PASO: aplicando la fórmula determinar el número de iteraciones necesarias para
dicha función.
ln(b−a)
𝜀
𝑖≥ = 19
ln2
Ejercicio N°2
biseccion('3*cos(x/3)-sin(x)',0.5,1,0.000001)
i a B x=(a+b)/2 f(x)
25
7 0.9921875000 1.0000000000 0.9960937500 1.9967925253
3. MÉTODO DE LA SECANTE
26
Es similar a la del método de Newton-Raphson en el sentido de que una aproximación de la
raíz se predice extrapolando una tangente de la función hasta el eje x. Sin embargo, el método
de la secante usa una diferencia dividida en lugar de una derivada para estimar la pendiente.
Ejercicio N°1
𝑓(𝑥) = 𝑠𝑖𝑛(𝑥) + 8𝑥 − 2
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
SEGUNDO PASO:
Dar valores iniciales:
𝑎=0
𝑏=1
TERCER PASO: Aplicando la fórmula realizar las iteraciones necesarias:
𝑓(𝑥𝑖)(𝑥𝑖−1−𝑥𝑖)
Primera iteración: xi+1 = xi - =0.226207
𝑓(𝑥𝑖−1)−𝑓(𝑥𝑖)
𝑓(𝑥𝑖)(𝑥𝑖−1−𝑥𝑖)
Segunda iteración: xi+2 = xi+1 - =0.222349
𝑓(𝑥𝑖−1)−𝑓(𝑥𝑖)
secante('sin(x)+8*x-2',0,1,1)
27
i a B r error
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
28
SEGUNDO PASO:
Dar valores iniciales:
𝑎=0
𝑏=2
TERCER PASO: Aplicando la fórmula realizar las iteraciones necesarias:
𝑓(𝑥𝑖)(𝑥𝑖−1−𝑥𝑖)
Primera iteración: xi+1 = xi - =2.055220
𝑓(𝑥𝑖−1)−𝑓(𝑥𝑖)
𝑓(𝑥𝑖)(𝑥𝑖−1−𝑥𝑖)
Segunda iteración: xi+2 = xi+1 - = 1.254016
𝑓(𝑥𝑖−1)−𝑓(𝑥𝑖)
secante('cos(x)-2*x^2+x+2',0,2,0.0001)
i a B r error
29
GRÁFICA ELABORADO POR MATLAB
Es un método alternativo que aprovecha la visualización gráfica consiste en unir f(x i) y f(xu)
con una línea recta. La intersección de esta línea con el eje de las x representa una mejor
aproximación de la raíz. El hecho de que se reemplace la curva por una línea recta da una
“falsa posición” de la raíz.
Ejercicio N°1
𝑓(𝑥) = 𝑠𝑖𝑛(−𝑥) − cos(𝑥)
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
SEGUNDO PASO:
Dar valores iniciales:
xa = 0
30
xb= 2
TERCER PASO: Aplicando la fórmula realizar las iteraciones necesarias:
𝑥𝑏−𝑥𝑎
Primera iteración: xc = xb-f (xb). = 2.0000
𝑓(𝑥𝑏)−𝑓(𝑥𝑎)
𝑥𝑏−𝑥𝑎
Error porcentual: |𝜀𝑝| = | | 100%= 2.0000
xb
𝑥𝑏−𝑥𝑎
Segunda iteración: xc+1 = xb-f (xb). = 3.9459
𝑓(𝑥𝑏)−𝑓(𝑥𝑎)
𝑥𝑏−𝑥𝑎
Error porcentual: |𝜀𝑝| = | | 100%= 3.9459
xb
falsaposicion('sin(-x)-cos(x)',0,2,0.0001)
31
GRÁFICA ELABORADO POR MATLAB
Ejercicio N°2
𝑓(𝑥) = 𝑐𝑜𝑠(𝑥) − 2𝑥 + 6
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
SEGUNDO PASO:
Dar valores iniciales:
xa = 0
xb= 2
32
TERCER PASO: Aplicando la fórmula realizar las iteraciones necesarias:
𝑥𝑏−𝑥𝑎
Primera iteración: xc = xb-f (xb). = 2.0000
𝑓(𝑥𝑏)−𝑓(𝑥𝑎)
𝑥𝑏−𝑥𝑎
Error porcentual: |𝜀𝑝| = | | 100%=2.0000
xb
𝑥𝑏−𝑥𝑎
Segunda iteración: xc+1 = xb-f (xb). = 2.5849
𝑓(𝑥𝑏)−𝑓(𝑥𝑎)
𝑥𝑏−𝑥𝑎
Error porcentual: |𝜀𝑝| = | | 100%= 2.5849
xb
falsaposicion('cos(x)-2*x+6',0,2,0.0001)
i a b c f(a) f(b) f(c) |c-a|
33
5. MÉTODO DE PUNTO FIJO
f (x) = 0 ⇒ g(x) = x
puntofijo('((x+5)/2-x)^(1/2)',2,0.000001)
i x g(x)
0 2.0000000000 1.2247448714
1 1.2247448714 1.3739095910
2 1.3739095910 1.3464936704
3 1.3464936704 1.3515743283
4 1.3515743283 1.3506342347
5 1.3506342347 1.3508082331
6 1.3508082331 1.3507760301
7 1.3507760301 1.3507819902
8 1.3507819902 1.3507808871
9 1.3507808871 1.3507810912
34
GRÁFICA ELABORADO POR MATLAB
puntofijo('log(x)-(1/x)',1,0.000001)
i x g(x)
0 1.0000000000 -1.0000000000
1 -1.0000000000 1.0000000000
2 1.0000000000 1.1009854851
3 1.1009854851 0.3390518933
4 0.3390518933 0.1856246511
5 0.1856246511 0.6582388127
6 0.6582388127 0.5792700785
7 0.5792700785 0.4094772589
8 0.4094772589 0.4723865141
9 0.4723865141 0.5360766057
10 0.5360766057 0.4947690990
11 0.4947690990 0.4752471326
12 0.4752471326 0.4976181540
13 0.4976181540 0.5014488790
14 0.5014488790 0.4908775387
15 0.4908775387 0.4913579321
35
16 0.4913579321 0.4959203929
17 0.4959203929 0.4947561085
18 0.4947561085 0.4929935828
19 0.4929935828 0.4938710332
20 0.4938710332 0.4944639547
21 0.4944639547 0.4939549919
22 0.4939549919 0.4937999236
23 0.4937999236 0.4940559683
24 0.4940559683 0.4940709650
25 0.4940709650 0.4939552661
26 0.4939552661 0.4939726964
27 0.4939726964 0.4940199552
28 0.4940199552 0.4940024750
29 0.4940024750 0.4939853240
30 0.4939853240 0.4939965727
31 0.4939965727 0.4940017784
32 0.4940017784 0.4939957509
33 0.4939957509 0.4939947135
34 0.4939947135 0.4939975795
35 0.4939975795 0.4939974405
36 0.4939974405 0.4939962090
37 0.4939962090 0.4939965259
36
RESOLUCIÓN DE 10 EJERCICIOS CREADOS
MÉTODO DE LA BISECCION
%biseccion('2*exp(x)-cos(x+1)',0.5,1,0.00001)
function biseccion(f,a,b,tol)
f=inline(f);% inline convierte a f en una función que depende de x
n=ceil((log(b-a)-log(tol))/log(2));
% ceil toma el entero mayor cercano obtenido por la cota de error del
método
fprintf('\n it. a b x=(a+b)/2 f(x)
\n')
for i=1:n
x=(a+b)/2;
fprintf('%3.0f %10.10f %10.10f %10.10f %10.10f \n',i,a,b,x,f(x))
% muestra en cada paso los valores de: la iteración i, a, b, x y
f(x)
if f(a)*f(x)<0
b=x;
else
a=x;
37
end
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x)
ezplot(f)
grid on;
>> biseccion('2*exp(x)-cos(x+1)',0.5,1,0.0001)
38
y=fun(x);
plot(x,y);
grid on
hold on
fprintf(' i a b m f(a) f(m) error \n');
fprintf('%2i %4.5f %4.5f %4.5f %4.5f %4.5f %4.5f \n',i,a,b,m,fun(a),fun(m),error);
while error>e
m=(a+b)/2;
if fun(a)*fun(m)>0
a=m;
else
b=m;
end
error=abs(a-b);
i=i+1;
fprintf('%2i %4.5f %4.5f %4.5f %4.5f %4.5f %4.5f \n',i,a,b,m,fun(a),fun(m),error);
end
r=m;
plot(r,0,'*')
fprintf(' La raiz es: %4.5f\n',r);
>> r=biseccion(-2,0,0.001)
39
MÉTODO DE LA FALSA POSICIÓN
3. Hallar: 'exp(x/2)-log(x+1)
%falsaposicion('exp(x/2)-log(x+1)',1,2,0.01)
function falsaposicion(f,a,c,tol)
Fx=inline(f);% inline convierte a f en una función que depende de x
x=a;
Fa=eval(f);
x=c;
Fc=eval(f);
fprintf('\n i a b c F(a) F(b) F(c) |c-a| \n');
i=0;
while abs(c-a)>tol
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(f);
i=i+1;
fprintf('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<tol
break;
else
40
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb
end
end
end
fprintf('\n La aproximación de la raíz es: %.4f',b);
ezplot(f)
grid on;
>> falsaposicion('exp(x/2)-log(x+1)',1,2,0.01)
41
Fa=eval(f);
x=c;
Fc=eval(f);
fprintf('\n i a b c F(a) F(b) F(c) |c-a| \n');
i=0;
while abs(c-a)>tol
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(f);
i=i+1;
fprintf('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<tol
break;
else
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb
end
end
end
fprintf('\n La aproximación de la raíz es: %.4f',b);
ezplot(f)
grid on;
>> falsaposicion('exp(-x)-(x-1)',0.5,1,0.001)
42
MÉTODO DE NEWTON RAPHSON
5. Hallar : 2^(x-1)+(x+1)
%newton('2*exp(x-1)+(x+1)',0,0.00001)
function newton(f,x0,tol)
syms x;% convierte a x en una variable simbolica para poder derivar la función
df=diff(f,x); % deriva con respecto a x
f=inline(f); df=inline(char(df));
% inline convierte a f y su derivada df en una funciones que dependen de x
% char transforma a la derivada como una cadena de caracteres para poder
% definirla como función fprintf('\n i x f(x) \n')
i=0;
%fprintf('%2.0f %110.10f %10.10f \n',i,x0,f(x0))
x1=x0-f(x0)/df(x0);
while abs(x0-x1)>tol
i=i+1;% contador de iteraciones
fprintf('%2.0f %10.10f %10.10f \n',i,x1,f(x1))
x0=x1;
x1=x0-f(x0)/df(x0);
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)
ezplot(f)
grid on:
>> newton('2*exp(x-1)+(x+1)',0,0.00001)
it x error
1 -1.0000000000 0.2706705665
2 -1.2130139578 0.0057270684
3 -1.2177131255 0.0000024114
43
La aproximación de la raíz es: -1.2177151058
6. Hallar : x^(-x/3)-(x-1)
%newton('(x)*exp(-x/3)-(x-1)',0.5,0.0001)
function newton(f,x0,tol)
syms x;% convierte a x en una variable simbolica para poder derivar la función
df=diff(f,x); % deriva con respecto a x
f=inline(f); df=inline(char(df));
% inline convierte a f y su derivada df en una funciones que dependen de x
% char transforma a la derivada como una cadena de caracteres para poder
% definirla como función fprintf('\n i x f(x) \n')
i=0;
%fprintf('%2.0f %110.10f %10.10f \n',i,x0,f(x0))
x1=x0-f(x0)/df(x0);
while abs(x0-x1)>tol
i=i+1;% contador de iteraciones
fprintf('%2.0f %10.10f %10.10f \n',i,x1,f(x1))
x0=x1;
x1=x0-f(x0)/df(x0);
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)
ezplot(f)
grid on:
>> newton('(x)*exp(-x/3)-(x-1)',0.5,0.0001)
it x error
1 3.6338946610 -1.5516830209
2 2.1740735252 -0.1207910726
3 2.0346917035 -0.0020567503
4 2.0322335266 -0.0000006759
44
La aproximación de la raíz es: 2.0322327182
MÉTODO DE LA SECANTE
7. F(x)= 2-x.^2-cos(x)
Function r=secante(a,b,e)
error=abs(b-a);
x=a:0.01:b;
y=fun(x);
plot(x,y);
grid on
hold on
fprintf(' xn xn-1 xn+1 error \n');
while (error>=e)
xn=b-(b-a)*fun(b)/(fun(b)-fun(a));
error=abs(xn-b);
fprintf(' %4.5f %4.5f %4.5f %4.5f \n',a,b,xn,error);
a=b;
b=xn;
end
r=xn;
plot(r,0,'*')
fprintf(' La raiz es: %4.5f\n',r);
45
1.31881 1.32538 1.32562 0.00024
La raiz es: 1.32562
>> secante('cos(x)-0.5*x+1',0,1,1)
i a b r error
46
3 2.083990 1.716778 1.714104 0.155979
>> puntofijo('0.5*logx*(0.025+3.1500*10^(-2))',1,0.00001)
it. x g(x)
0 1.0000000000 0.0282500000
1 0.0282500000 0.0007980625
2 0.0007980625 0.0000225453
47
3 0.0000225453 0.0000006369
4 0.0000006369 0.0000000180
it. x g(x)
0 1.0000000000 1.5000000000
1 1.5000000000 1.7500000000
2 1.7500000000 1.8750000000
3 1.8750000000 1.9375000000
4 1.9375000000 1.9687500000
48
5 1.9687500000 1.9843750000
6 1.9843750000 1.9921875000
7 1.9921875000 1.9960937500
8 1.9960937500 1.9980468750
9 1.9980468750 1.9990234375
10 1.9990234375 1.9995117188
11 1.9995117188 1.9997558594
12 1.9997558594 1.9998779297
13 1.9998779297 1.9999389648
La aproximación del punto fijo es 1.9999389648
MÉTODO DE BISECCIÓN
0.8
limite inferior a: 0
0.6
0.2
error: 0.001 0
-0.2
funcion: e^x-2 -0.4
-0.6
-0.8
49
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Error using e
funcion: exp(x)-2
i a m b Error
-1.1
-1.2
MÉTODO DE BISECCIÓN
-1.3
-1.5
-1.7
-1.9
funcion: x^2-2 -2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
i a m b Error
50
4 1.1250000 1.3125000 1.5000000 0.143
x0=:3
Tol :0.001
it. x f(x)
1.4
1.3
1.2
1.1
0.9
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
5 30.645120 -25.487331
6 52.937936 -42.857232
7 146.731601 -118.707447
Método de la secante
Ingrese x(i-1): 4
51
Ingrese x(i): 5
error: 0.002
i f(i) error
1 5.0000000 1.000
2 -9.7435897 1.513
3 12.1990369 1.799
4 -37.0813819 1.329
5 18.7448483 2.978
6 39.5237001 0.526
7 12.5531004 2.149
8 9.3919179 0.337
9 5.1948708 0.808
10 3.1812266 0.633
11 1.8108574 0.757
12 1.0032504 0.805
13 0.5097330 0.968
14 0.2259804 1.256
15 0.0775315 1.915
16 0.0166307 3.662
17 0.0015274 9.888
18 0.0000331 45.189
19 0.0000001 491.041
20 0.0000000 22679.841
21 0.0000000 11159421.815
22 0.0000000 253105070886.832
23 0.0000000 2824506502661635100.000
24 0.0000000 714896918579315740000000000000.000
25 0.0000000 2019230995260042700000000000000000000000000000000.000
26 0.0000000
14435420164112495000000000000000000000000000000000000000000000000000000000
00000.000
52
27 0.0000000 Inf
28 0.0000000 NaN
MÉTODO DE LA SECANTE
Ingrese x(i-1): 0
80
Ingrese x(i): 1 70
60
error: 0.001 50
30
i f(i) error 20
10
1 1.0000000 1.000 0
-10
2 0.6666667 0.500 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
3 0.8000000 0.167
4 0.8181818 0.022
5 0.8164794 0.002
6 0.8164966 0.000
ans =0.8165
Ingrese x(i-1): -1 8
6
Ingrese x(i): 1
4
error: 0.0001 2
0
Ingrese la funciòn: 4*x^3+4*sin(x)
-2
i f(i) error -4
-6
1 1.0000000 1.000
-8
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
2 0.5000000 1.000
3 0.2556979 0.955
4 0.0589362 3.339
5 0.0036953 14.949
53
6 0.0000113 325.085
7 0.0000000 87607.540
8 0.0000000 9343872973.805
9 0.0000000 71717438083147162000.000
Ingrese x(i-1): -1 -1
-2
error: 0.001
-2.5
-4
1 1.0000000 1.000 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
2 Inf NaN
ans = Inf
1. METODO DE LA BISECCIÓN
Ejercicio N°1
𝒙
𝒇(𝒙) = 𝒍𝒏(𝒆−𝟓 ) + 𝒙𝟐
Primer paso: Graficar la función (como se apreciará al final del ejercicio elaborado por
el programa de Matlab) verificando con el criterio del teorema de Bolzano
Segundo paso: Le damos valores iniciales
El intervalo es 𝑎 = −1 , 𝑏 = 0
Tercer paso:
54
aplicando la formula determinar el número de iteraciones necesarias
ln(b−a)
𝜀
𝑖≥ = 10
ln2
Cuarto paso:
Realizar las iteraciones con la fórmula del punto medio
𝑎+𝑏
xi+1 = = −0.5000000000
2
𝑎+𝑏
xi+2 = = -0.7500000000
2
biseccion('log(exp(-5.^x))+x.^2',-1,0,0.001)
it. a b x=(a+b)/2 f(x)
1 -1.0000000000 0.0000000000 -0.5000000000 -0.1972135955
2 -1.0000000000 -0.5000000000 -0.7500000000 0.2634302438
3 -0.7500000000 -0.5000000000 -0.6250000000 0.0249091800
4 -0.6250000000 -0.5000000000 -0.5625000000 -0.0880107214
5 -0.6250000000 -0.5625000000 -0.5937500000 -0.0320408178
6 -0.6250000000 -0.5937500000 -0.6093750000 -0.0036913699
7 -0.6250000000 -0.6093750000 -0.6171875000 0.0105771457
8 -0.6171875000 -0.6093750000 -0.6132812500 0.0034349941
9 -0.6132812500 -0.6093750000 -0.6113281250 -0.0001301556
10 -0.6132812500 -0.6113281250 -0.6123046875 0.0016519266
La aproximación de la raíz es: -0.6123046875
55
Ejercicio N°2
biseccion('exp(-x)-log(x)',1,1.5,0.001)
it. a b x=(a+b)/2 f(x)
1 1.0000000000 1.5000000000 1.2500000000 0.0633612455
2 1.2500000000 1.5000000000 1.3750000000 -0.0656141353
3 1.2500000000 1.3750000000 1.3125000000 -0.0027873668
4 1.2500000000 1.3125000000 1.2812500000 0.0298538070
5 1.2812500000 1.3125000000 1.2968750000 0.0134272626
6 1.2968750000 1.3125000000 1.3046875000 0.0052937412
7 1.3046875000 1.3125000000 1.3085937500 0.0012466704
8 1.3085937500 1.3125000000 1.3105468750 -0.0007719731
9 1.3085937500 1.3105468750 1.3095703125 0.0002369419
La aproximación de la raíz es: 1.3095703125
56
GRÁFICA ELABORADO POR MATLAB EJERCICIO N°2
PRIMER PASO: Graficar la función (esta será mostrada al final del ejercicio)
𝑥𝑏−𝑥𝑎
Primera iteración: xc = xb-f (xb). 𝑓(𝑥𝑏)−𝑓(𝑥𝑎)
𝑥𝑏−𝑥𝑎
Error porcentual: |𝜀𝑝| = | | 100%
xb
𝑥𝑏−𝑥𝑎
Segunda iteración: xc+1 = xb-f (xb). 𝑓(𝑥𝑏)−𝑓(𝑥𝑎)
falsaposicion('exp(3-x)-x',0,5,0.0001)
57
1 0.0000 2.3984 2.5000 20.0855 -0.5732 -0.8513 2.5000
58
17 0.0000 2.2081 2.2082 20.0855 -0.0006 -0.0009 2.2082
La
59
EJERCICIO N°2
𝒇(𝒙) = 𝒆(𝟏−𝒙) − 𝒙𝟐
falsaposicion('exp(1-x)-x.^2',0,1.5,0.001)
I a b c F(a) F(b) F(c) |c-a|
60
6 1.0000 1.0000 1.5000 0.0000 0.0000 -1.6435 0.5000
61
3. METODODE LA SECANTE
EJERCICIO N°1
𝒇(𝒙) = 𝒆−𝒙 − 𝒙
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
SEGUNDO PASO:
𝑎=0
𝑏=1
𝑓(𝑥𝑖)(𝑥𝑖−1−𝑥𝑖)
Primera iteración: xi+1 = xi - 𝑓(𝑥𝑖−1)−𝑓(𝑥𝑖)
𝑓(𝑥𝑖)(𝑥𝑖−1−𝑥𝑖)
Segunda iteración: xi+2 = xi+1 - 𝑓(𝑥𝑖−1)−𝑓(𝑥𝑖)
secante('exp(-x)-x',0,1,0.001)
i a b r error
1 0.000000 1.000000 0.612700 63.212056
2 1.000000 0.612700 0.563838 8.665860
3 0.612700 0.563838 0.567170 0.587472
4 0.563838 0.567170 0.567143 0.004770
5 0.567170 0.567143 0.567143 0.000003
Se concluye que la aproximación a la raíz
es:
xa =0.5671
62
EJERCICIO 2
secante('log(pi*x.^2)*sin(x)',6,6.5,0.001)
i a b r error
1 6.000000 6.500000 6.278403 3.529516
2 6.500000 6.278403 6.283155 0.075638
3 6.278403 6.283155 6.283185 0.000479
Se concluye que la aproximación a la
raíz es: xa =6.2832
Ejercicio N°1
f (x) = 0 ⇒ g(x) = x
63
Aplicando el programa Matlab al ejercicio N°1
puntofijo('exp(1)+log10*(0.1204*10^(-3))',1,0.001)
it. x g(x)
0 1.0000000000 2.7184022285
1 2.7184022285 2.7186091241
La aproximación del punto fijo es
2.7186091241
Ejercicio 2.
puntofijo('log10*(3.56*2^(-2))+exp(-5)',0,0.001)
it. x g(x)
0 0.0000000000 0.0067379470
1 0.0067379470 0.0127347198
2 0.0127347198 0.0180718476
3 0.0180718476 0.0228218914
4 0.0228218914 0.0270494303
5 0.0270494303 0.0308119400
6 0.0308119400 0.0341605736
7 0.0341605736 0.0371408575
8 0.0371408575 0.0397933102
64
9 0.0397933102 0.0421539931
10 0.0421539931 0.0442550008
11 0.0442550008 0.0461248977
12 0.0461248977 0.0477891060
13 0.0477891060 0.0492702513
14 0.0492702513 0.0505884707
15 0.0505884707 0.0517616859
16 0.0517616859 0.0528058475
17 0.0528058475 0.0537351512
5. METODO DE NEWTON
RAPHSON
Ejercicio N°1
PRIMER PASO: Graficar la función (verificar con el criterio del teorema del Bolzano).
SEGUNDO PASO:
Derivar la función
𝑓(𝑥)
Primera iteración: xi+1= xi - 𝑓´(𝑥)
𝑓(𝑥)
Segunda iteración: xi+2= xi+1− 𝑓´(𝑥)
newton('sin(x)-exp(-2)',6,0.000001)
65
i x f(x)
1 6.4319554429 0.0128866823
2 6.4189248260 -0.0000122190
3 6.4189371584 -0.0000000000
La aproximación de la raíz es: 6.4189371584
Ejercicio N°2
newton('(exp(-x))+log(x)-3',19,0.00001)
I x f(x)
1 20.0556594018 -0.0014886197
2 20.0855146526 -0.0000011069
3 20.0855368852 -0.0000000000
66
RESOLUCIÓN DE 10 EJERCICIOS CREADOS
METODO DE LA BISECCION
Solución:
Aplicando el Programa de Matlab
%bisección('x^5-x+3',-2,-1,0.000001)
function biseccion(f,a,b,tol)
f=inline(f);% inline convierte a f en una función que depende de x
n=ceil((log(b-a)-log(tol))/log(2));
% ceil toma el entero mayor cercano obtenido por la cota de error del método
67
fprintf('\n it. a b x=(a+b)/2 f(x) \n')
for i=1:n
x=(a+b)/2;
fprintf('%3.0f %10.10f %10.10f %10.10f %10.10f \n',i,a,b,x,f(x))
% muestra en cada paso los valores de: la iteración i, a, b, x y f(x)
% la instrucción %10.10f significa dejar 10 espacios y colocar el número con 10 decimales
% la instrucción \n permite cambiar a una línea nueva
if f(a)*f(x)<0
b=x;
else
a=x;
end
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x)
>> biseccion('x^5-x+3',-2,-1,0.000001)
68
19 1.3412971497 1.3412933350 1.3412952423 0.0000259728
20 1.3412952423 1.3412933350 1.3412942886 0.0000114929
69
3 1.2500000000 1.0000000000 1.1250000000 5.3906250000
4 1.1250000000 1.0000000000 1.0625000000 5.1914062500
5 1.0625000000 1.0000000000 1.0312500000 5.0947265625
6 1.0312500000 1.0000000000 1.0156250000 5.0471191406
7 1.0156250000 1.0000000000 1.0078125000 5.0234985352
8 1.0078125000 1.0000000000 1.0039062500 5.0117340088
9 1.0039062500 1.0000000000 1.0019531250 5.0058631897
10 1.0019531250 1.0000000000 1.0009765625 5.0029306412
11 1.0009765625 1.0000000000 1.0004882813 5.0014650822
12 1.0004882813 1.0000000000 1.0002441406 5.0007324815
13 1.0002441406 1.0000000000 1.0001220703 5.0003662258
14 1.0001220703 1.0000000000 1.0000610352 5.0001831092
15 1.0000610352 1.0000000000 1.0000305176 5.0000915537
16 1.0000305176 1.0000000000 1.0000152588 5.0000457766
17 1.0000152588 1.0000000000 1.0000076294 5.0000228882
18 1.0000076294 1.0000000000 1.0000038147 5.0000114441
19 1.0000038147 1.0000000000 1.0000019073 5.0000057220
20 1.0000019073 1.0000000000 1.0000009537 5.0000028610
𝑓(𝑥) = √𝑥 −cos 𝑥
Solución:
Aplicando el Programa de matlab:
%falsaposicion('sqrt(x)-cos(x)',0,3,0.01)
function falsaposicion(f,a,c,tol)
Fx=inline(f);% inline convierte a f en una función que depende de x
x=a;
Fa=eval(f);
x=c;
70
Fc=eval(f);
fprintf('\n i a b c F(a) F(b) F(c) |c-a| \n');
i=0;
while abs(c-a)>tol
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(f);
i=i+1;
fprintf('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<tol
break;
else
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb;
end
end
end
fprintf('\n La aproximación de la raíz es: %.4f',b);
ezplot(Fx);%grafica de la funcion
grid on;
>> falsaposicion('sqrt(x)-cos(x)',0,3,0.01)
71
4. Usar el método de la falsa posición para aproximar la raíz de 𝑓(𝑥) = √𝑥 + 1 +cos 𝑥,
para el intervalo [0,1] y hasta que /ℇ/<1% (ℇ=0.0001)
𝑓(𝑥) = √𝑥 + 1 +cos 𝑥
Solución:
Programación:
%falsaposicion('sqrt(x+1)+(x)',0,1,0.0001)
function falsaposicion(f,a,c,tol)
Fx=inline(f);% inline convierte a f en una función que depende de x
x=a;
Fa=eval(f);
x=c;
Fc=eval(f);
fprintf('\n i a b c F(a) F(b) F(c) |c-a| \n');
i=0;
while abs(c-a)>tol
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(f);
i=i+1;
fprintf('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<tol
break;
else
if Fa*Fb<=0
72
c=b;
Fc=Fb;
else
a=b;
Fa=Fb;
end
end
end
fprintf('\n La aproximación de la raíz es: %.4f',b);
ezplot(Fx);%grafica de la funcion
grid on;
>> falsaposicion('sqrt(x+1)+(x)',0,1,0.0001)
73
METODO DE NEWTON RAPHSON
Solución:
Programación:
%newton('x^3-x-1',1,0.00001)
function newton(f,x0,tol)
syms x;% convierte a x en una variable simbolica para poder derivar la función
df=diff(f,x); % deriva con respecto a x
f=inline(f);
df=inline(char(df));
% inline convierte a f y su derivada df en una funciones que dependen de x
% char transforma a la derivada como una cadena de caracteres para poder
% definirla como función
fprintf('\n i x f(x) \n')
i=0;
%fprintf('%2.0f %110.10f %10.10f \n',i,x0,f(x0))
x1=x0-f(x0)/df(x0);
while abs(x0-x1)>tol
i=i+1;% contador de iteraciones
fprintf('%2.0f %10.10f %10.10f \n',i,x1,f(x1))
x0=x1;
x1=x0-f(x0)/df(x0);
74
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)
ezplot(df)
grid on;
newton('x^3-x-1',1,0.00001)
i x f(x)
1 1.5000000000 0.8750000000
2 1.3478260870 0.1006821731
3 1.3252003990 0.0020583619
4 1.3247181740 0.0000009244
𝑓(𝑥) = 𝑥 2 cos(𝑥) + 𝑥
Solución:
Programación:
%newton('x^2*cos(x)+x',2,0.00001)
function newton(f,x0,tol)
syms x;% convierte a x en una variable simbolica para poder derivar la función
df=diff(f,x); % deriva con respecto a x
f=inline(f);
75
df=inline(char(df));
% inline convierte a f y su derivada de en una funciones que dependen de x
% char transforma a la derivada como una cadena de caracteres para poder
% definirla como función
fprintf('\n i x f(x) \n')
i=0;
%fprintf('%2.0f %110.10f %10.10f \n',i,x0,f(x0))
x1=x0-f(x0)/df(x0);
while abs(x0-x1)>tol
i=i+1;% contador de iteraciones
fprintf('%2.0f %10.10f %10.10f \n',i,x1,f(x1))
x0=x1;
x1=x0-f(x0)/df(x0);
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)
ezplot(df)
grid on;
newton('x^2*cos(x)+x',2,0.00001)
i x f(x)
1 2.0779707199 -0.0193035963
2 2.0739432626 -0.0000498442
3 2.0739328092 -0.0000000003
76
METODO DE LA SECANTE
>> secante('x^2-5',4,6,1)
i a b r error
1 4.000000 6.000000 2.900000 106.896552
2 6.000000 2.900000 2.516854 15.223214
77
4 2.516854 2.270483 2.238086 1.447522
5 2.270483 2.238086 2.236083 0.089581
78
xa
ezplot(f);%grafica de la funcion
grid on;
>> secante('x^3+4-2',2,4,1)
i a b r error
1 2.000000 4.000000 1.642857 143.478261
2 4.000000 1.642857 1.388250 18.340189
3 1.642857 1.388250 0.711321 95.164975
4 1.388250 0.711321 0.021430 3219.204428
5 0.711321 0.021430 -3.812350 100.562133
6 0.021430 -3.812350 -0.116952 3159.756888
7 -3.812350 -0.116952 -0.250236 53.263321
8 -0.116952 -0.250236 19.048120 98.686296
9 -0.250236 -19.048120 -0.255633 7351.349920
10 19.048120 -0.255633 -0.261026 2.066010
11 -0.255633 -0.261026 10.161718 97.431281
12 -0.261026 -10.161718 -0.279729 3532.695273
13 10.161718 -0.279729 -0.298359 6.244010
14 -0.279729 -0.298359 -8.169250 96.347780
15 -0.298359 -8.169250 -0.326851 2399.380628
16 -8.169250 -0.326851 -0.355120 7.960415
17 -0.326851 -0.355120 -5.957247 94.038857
18 -0.355120 -5.957247 -0.406941 1363.910482
19 -5.957247 -0.406941 -0.457694 11.088885
20 -0.406941 -0.457694 -3.849801 88.111236
21 -0.457694 -3.849801 -0.571085 574.120515
22 -3.849801 -0.571085 -0.675650 15.476187
23 -0.571085 -0.675650 -2.123294 68.179165
24 -0.675650 -2.123294 -0.939978 125.887600
25 -2.123294 -0.939978 -1.098276 14.413341
26 -0.939978 -1.098276 -1.314554 16.452566
27 -1.098276 -1.314554 -1.252512 4.953391
79
28 -1.314554 -1.252512 -1.259608 0.563287
Solución:
Programación:
%puntofijo('1.14-2*log10*(0.020+3.1134*10^(-2))',1,0.000001)
function puntofijo(g,x0,tol)
g=inline(g);
fprintf('\n it. x g(x) \n')
i=0;
fprintf('%3.0f %10.10f %10.10f \n',i,x0,g(x0))
x1=g(x0);
while abs(x0-x1)>tol
i=i+1;
fprintf('%3.0f %10.10f %10.10f \n',i,x1,g(x1))
x0=x1;
x1=g(x0);
end
fprintf('\n La aproximación del punto fijo es %3.10f \n\n',x1)
80
ezplot(g)
grid on;
>> puntofijo('1.14-2*log10*(0.020+3.1134*10^(-2))',1,0.000001)
it x g(x)
0 1.0000000000 1.0377320000
1 1.0377320000 1.0338732238
2 1.0338732238 1.0342678531
3 1.0342678531 1.0342274952
4 1.0342274952 1.0342316225
5 1.0342316225 1.0342312004
10. Hallar las raíces de la ecuación 𝑓(𝑥) = 1.12 − 2log10(0.010 + 3.1034)10−2 donde
𝑥0 = 1 , 𝑥1 = 0 , es un valor inicial y con un error de 10−3. Para g(x) convergente y
divergente.
𝑓(𝑥) = 2𝑥 2 -x-4=0
Solución:
Programación:
%puntofijo('1.12-2*log10*(0.010+3.1034*10^(-2))',1,0.000001)
function puntofijo(g,x0,tol)
g=inline(g);
fprintf('\n it. x g(x) \n')
i=0;
81
fprintf('%3.0f %10.10f %10.10f \n',i,x0,g(x0))
x1=g(x0);
while abs(x0-x1)>tol
i=i+1;
fprintf('%3.0f %10.10f %10.10f \n',i,x1,g(x1))
x0=x1;
x1=g(x0);
end
fprintf('\n La aproximación del punto fijo es %3.10f \n\n',x1)
ezplot(g)
grid on;
>> puntofijo('1.12-2*log10*(0.010+3.1034*10^(-2))',1,0.000001)
it x g(x)
0 1.0000000000 1.0377320000
1 1.0377320000 1.0348189966
2 1.0348189966 1.0350744746
3 1.0350535080 1.0342274952
4 1.0342274952 1.0350552287
5 1.0350552287 1.0350550875
82
RESOLUCIÓN DE 10 EJERCICIOS CREADOS
%biseccion('x^3-7*x^2+14*x-6',1,3.2,0.01)
function biseccion(f,a,b,tol)
f=inline(f);% inline convierte a f en una función que depende de x
n=ceil((log(b-a)-log(tol))/log(2));
% ceil toma el entero mayor cercano obtenido por la cota de error del método
fprintf('\n it. a b x=(a+b)/2 f(x) \n')
for i=1:n
x=(a+b)/2;
fprintf('%3.0f %10.10f %10.10f %10.10f %10.10f \n',i,a,b,x,f(x))
% muestra en cada paso los valores de: la iteración i, a, b, x y f(x)
% la instrucción %10.10f significa dejar 10 espacios y colocar el número con 10 decimales
% la instrucción \n permite cambiar a una línea nueva
if f(a)*f(x)<0
b=x;
else
a=x;
end
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x)
83
>>biseccion ('x^3-7*x^2+14*x-6', 1,3.2, 0.01)
% biseccion('log(x^2)-(exp(x/2)*cos(2*x))',-5,6,0.000001)
function biseccion(f,a,b,tol)
f=inline(f);% inline convierte a f en una función que depende de x
n=ceil((log(b-a)-log(tol))/log(2));
% ceil toma el entero mayor cercano obtenido por la cota de error del método
fprintf('\n it. a b x=(a+b)/2 f(x) \n')
for i=1:n
x=(a+b)/2;
fprintf('%3.0f %10.10f %10.10f %10.10f %10.10f \n',i,a,b,x,f(x))
% muestra en cada paso los valores de: la iteración i, a, b, x y f(x)
% la instrucción %10.10f significa dejar 10 espacios y colocar el número con 10 decimales
% la instrucción \n permite cambiar a una línea nueva
if f(a)*f(x)<0
b=x;
else
a=x;
end
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x
84
>> biseccion('log(x^2)-(exp(x/2)*cos(2*x))',-5,6,0.000001)
85
24 -0.9196577072 -0.9196563959 -0.9196570516 0.0000010294
3. F(X) = x˄3-6x²+11x-6.1
% newton('x^3-6*x^2+11*x-6.1',0,0.000001)
function newton(f,x0,tol)
syms x;% convierte a x en una variable simbolica para poder derivar la función
df=diff(f,x); % deriva con respecto a x
f=inline(f);
df=inline(char(df));
% inline convierte a f y su derivada df en una funciones que dependen de x
% char transforma a la derivada como una cadena de caracteres para poder
% definirla como función
fprintf('\n i x f(x) \n')
i=0;
%fprintf('%2.0f %110.10f %10.10f \n',i,x0,f(x0))
x1=x0-f(x0)/df(x0);
while abs(x0-x1)>tol
i=i+1;% contador de iteraciones
fprintf('%2.0f %10.10f %10.10f \n',i,x1,f(x1))
x0=x1;
x1=x0-f(x0)/df(x0);
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)
ezplot(f)
grid on:
86
>> newton('x^3-6*x^2+11*x-6.1',0,0.000001)
i x f(x)
1 0.5545454545 -1.6745897821
2 0.8724240665 -0.4060551006
3 1.0167077718 -0.0674172413
4 1.0521795002 -0.0036670311
5 1.0543428242 -0.0000132972
6 1.0543507260 -0.0000000002
4. F(x) = x˄3+2x²+10x-20
% newton('x^3+2*x^2+10*x-20',0,0.000001)
function newton(f,x0,tol)
syms x;% convierte a x en una variable simbolica para poder derivar la función
df=diff(f,x); % deriva con respecto a x
f=inline(f);
df=inline(char(df));
% inline convierte a f y su derivada df en una funciones que dependen de x
% char transforma a la derivada como una cadena de caracteres para poder
% definirla como función
fprintf('\n i x f(x) \n')
i=0;
%fprintf('%2.0f %110.10f %10.10f \n',i,x0,f(x0))
x1=x0-f(x0)/df(x0);
87
while abs(x0-x1)>tol
i=i+1;% contador de iteraciones
fprintf('%2.0f %10.10f %10.10f \n',i,x1,f(x1))
x0=x1;
x1=x0-f(x0)/df(x0);
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)
ezplot(f)
grid on:
>> newton('x^3+2*x^2+10*x-20',0,0.000001)
I x f(x)
1 2.0000000000 16.0000000000
2 1.4666666667 2.1238518519
3 1.3715120138 0.0570866419
4 1.3688102226 0.0000446144
5 1.3688081078 0.0000000000
METODO DE LA SECANTE
5. Xlog(x)-10 = 0
88
f=inline(f);
error=100;
disp(' i a b r error ')
i=1;
while (error>tol)
r=b-f(b)*(b-a)/(f(b)-f(a));
error=abs((r-b)/r*100);
fprintf('%3.0f %4.6f %4.6f %4.6f %4.6f \n',i,a,b,r,error);
a=b;
b=r;
i=i+1;
end
xa=r;
disp('Se concluye que la aproximación a la raíz es :')
xa
ezplot(f);%grafica de la funcion
grid on;
>> secante('x*log(x)-10',0,1,1)
i a b r error
1 0.000000 1.000000 NaN NaN
89
6. F(x) = x²-4; x0=4, x1=3, error ≤1%
>> secante('x^2-4',4,3,1)
i a b r error
1 4.000000 3.000000 2.285714 31.250000
2 3.000000 2.285714 2.054054 11.278195
3 2.285714 2.054054 2.003559 2.520282
4 2.054054 2.003559 2.000047 0.175561
90
METODO DE LA FALSA POSICION
% falsaposicion('sin(x)-csc(x)+1',0.5,0.7,0.01)
function falsaposicion(f,a,c,tol)
Fx=inline(f);% inline convierte a f en una función que depende de x
x=a;
Fa=eval(f);
x=c;
Fc=eval(f);
fprintf('\n i a b c F(a) F(b) F(c) |c-a| \n');
i=0;
while abs(c-a)>tol
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(f);
i=i+1;
fprintf('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<tol
break;
else
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb;
end
end
end
fprintf('\n La aproximación de la raíz es: %.4f',b);
ezplot(Fx);%grafica de la funcion
grid on;
>> falsaposicion('sin(x)-csc(x)+1',0.5,0.7,0.01)
91
i a b c F(a) F(b) F(c) |c-a|
1 0.5000 0.6737 0.7000 -0.6064 0.0209 0.0919 0.2000
2 0.5000 0.6679 0.6737 -0.6064 0.0046 0.0209 0.1737
3 0.5000 0.6666 0.6679 -0.6064 0.0010 0.0046 0.1679
% falsaposicion('exp(x)-x',0,1,0.0001)
function falsaposicion(f,a,c,tol)
Fx=inline(f);% inline convierte a f en una función que depende de x
x=a;
Fa=eval(f);
x=c;
Fc=eval(f);
fprintf('\n i a b c F(a) F(b) F(c) |c-a| \n');
i=0;
while abs(c-a)>tol
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(f);
i=i+1;
fprintf('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<tol
break;
else
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb;
92
end
end
end
fprintf('\n La aproximación de la raíz es: %.4f',b);
ezplot(Fx);%grafica de la funcion
grid on;
>> falsaposicion('exp(x)-x',0,1,0.0001)
% puntofijo('(x/2)+(4/x)',1.5,0.000001)
function puntofijo(g,x0,tol)
g=inline(g);
fprintf('\n it. x g(x)\n')
i=0;
fprintf('%3.0f %10.10f %10.10f \n',i,x0,g(x0))
x1=g(x0);
while abs(x0-x1)>tol
i=i+1;
93
fprintf('%3.0f %10.10f %10.10f \n',i,x1,g(x1))
x0=x1;
x1=g(x0);
end
fprintf('\n La aproximación del punto fijo es %3.10f \n\n',x1)
ezplot(g);%grafica de la funcion
grid on;
>> puntofijo('(x/2)+(4/x)',1.5,0.000001)
it. x g(x)
0 1.5000000000 3.4166666667
1 3.4166666667 2.8790650407
2 2.8790650407 2.8288724427
3 2.8288724427 2.8284271598
4 2.8284271598 2.8284271247
% puntofijo('2+(x/2)+-((x^2)/4)',1,0.000001)
function puntofijo(g,x0,tol)
g=inline(g);
fprintf('\n it. x g(x)\n')
94
i=0;
fprintf('%3.0f %10.10f %10.10f \n',i,x0,g(x0))
x1=g(x0);
while abs(x0-x1)>tol
i=i+1;
fprintf('%3.0f %10.10f %10.10f \n',i,x1,g(x1))
x0=x1;
x1=g(x0);
end
fprintf('\n La aproximación del punto fijo es %3.10f \n\n',x1)
ezplot(g);%grafica de la funcion
grid on;
>> puntofijo('2+(x/2)+-((x^2)/4)',1,0.000001)
it. x g(x)
0 1.0000000000 2.2500000000
1 2.2500000000 1.8593750000
2 1.8593750000 2.0653686523
3 2.0653686523 1.9662474087
4 1.9662474087 2.0165914863
5 2.0165914863 1.9916354375
6 1.9916354375 2.0041647898
7 2.0041647898 1.9979132687
8 1.9979132687 2.0010422770
9 2.0010422770 1.9994785899
10 1.9994785899 2.0002606371
11 2.0002606371 1.9998696645
12 1.9998696645 2.0000651635
13 2.0000651635 1.9999674172
14 1.9999674172 2.0000162911
15 2.0000162911 1.9999918544
16 1.9999918544 2.0000040728
95
17 2.0000040728 1.9999979636
18 1.9999979636 2.0000010182
19 2.0000010182 1.9999994909
20 1.9999994909 2.0000002546
it x G(x)
0 0.7000000000 0.7648421873
96
1 0.7648421873 0.7214916396
2 0.7214916396 0.7508213288
3 0.7508213288 0.7311287726
4 0.7311287726 0.7444211836
5 0.7444211836 0.7354802004
6 0.7354802004 0.7415086517
7 0.7415086517 0.7374504532
8 0.7374504532 0.7401852854
9 0.7401852854 0.7383436104
10 0.7383436104 0.7395844287
11 0.7395844287 0.7387487097
12 0.7387487097 0.7393117103
13 0.7393117103 0.7389324892
14 0.7389324892 0.7391879475
15 0.7391879475 0.7390158724
16 0.7390158724 0.7391317864
17 0.7391317864 0.7390537063
18 0.7390537063 0.7391063024
19 0.7391063024 0.7390708732
20 0.7390708732 0.7390947388
21 0.7390947388 0.7390786627
22 0.7390786627 0.7390894918
23 0.7390894918 0.7390821972
24 0.7390821972 0.7390871109
25 0.7390871109 0.7390838010
26 0.7390838010 0.7390860306
97
27 0.7390860306 0.7390845287 La
28 0.7390845287 0.7390855404
29 0.7390855404 0.7390848589
2. >> puntofijo('x^3-x^2-x-1',1,0.000000001)
it. x g(x)
0 1.0000000000 -2.0000000000
1 -2.0000000000 -11.0000000000
2 -11.0000000000 -1442.0000000000
3 -1442.0000000000 -3000520811.0000000000
4 -3000520811.0000000000 -27014064347341273000000000000.0000000000
5 -27014064347341273000000000000.0000000000 -
197137747526925310000000000000000000000000000000000000000000000000000000
00000000000000.0000000000
6-
197137747526925310000000000000000000000000000000000000000000000000000000
00000000000000.0000000000 -
766142174779028050000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000.0000000000
98
7-
766142174779028050000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000.0000000000 -Inf
8 -Inf NaN
METODO DE BISECCION
1. >> biseccion('cos(x)-x',0,pi/2,0.000001)
99
10 0.7363107782 0.7393787398 0.7378447590 0 .0020753365
2. >> biseccion('x^4-x^2+2',0,1,0.000001)
100
7 0.9843750000 1.0000000000 0.9921875000 1.9846782722
METODO DE SECANTE
1. >> secante('x^3-exp(-x)',-1,2,0.01)
101
i a b r error
2. >> secante('x+log(x)-5',0,1,0.01)
i a b r error
1 0.000000 1.000000 1.000000 0.000000
102
METODO DE NEWTON RAPHSON
1. >> newton('(x-2)+exp(x)',0.3,0.0001)
i x f(x)
1 0.4490052046 0.0157580161
2 0.4428659239 0.0000294657
2.
>> 1000000*exp(x)+(453000/x)*( exp(x)-1)-156400
10^(-3)
it x0 x1 x1-x0
1 1.000000000 -0.053284974 1.053284974
103
4 -2.121768318 -2.949638477 0.827870159
i error
104
6 0,5 0,666257 0,666243 -0,606404 0,000050 0,000011 0,000011
7 0,5 0,666243 0,666240 -0,606404 0,000011 0,000002 0,000002
X= 0.666243
Error= 2*10-6
1. Sea la función donde x є [0,3] resolver por el método de falsa posición
>> falsaposicion('sqrt(x)-cos(x),x,037)
x F(x)
-1 6.278
0 2 F(0)xf(1)<0
1 -0.105
2 -0.638
3 -0.041 F(3)xf(4)<0
4 0.793
5 0.972
6 0.284 F(6)xf(7)<0
7 -0.655
8 -0.988
9 0.411 F(9)xf(10)<0
10 0.544
PARTE III
Resolución de ejercicios del libro RICARDO JAVIER HUANCO
ANCORI, terminado en numeraciones 4 y 9
105
4. Usando un procedimiento gráfico encontrar el punto de intersección de las gráficas y= 𝑥 3 -
3𝑥 2 - 5x+3 = 0 con y = 10 - 0.4𝑥 2
9. Usar el método de la bisección y realizar 4 iteraciones con el fin de hallar una raiz de la
ecuación 2x + ln(x + 4) = 0, en el intervalo [-1,0]. Llenar la tabla paso a paso:
biseccion('2*x+log(x+4)',-1,0,0.000001)
i a b x=(a+b)/2 f(x)
14. usar el método de la bisección para completar la tabla, haga tantas iteraciones como sea
necesario en el intervalo [-1.7,-1.3] para aproximar a la raíz hallar una raíz de la ecuación
f(x) = x + ln(5 + 0.2x) con un error menor que 0.01 en el intervalo.
biseccion('x+log(5+0.2*x)',-1.7,-1.3,0.000001)
i a b x=(a+b)/2 f(x)
106
1 -1.7000000000 -1.3000000000 -1.5000000000 0.0475625087
107
Página 22-23
EJERCICIO 19
Escribir los comandos en Matlab que permitan calcular el valor de W para los siguientes
valores de X, Y, Z donde Z es la medida en grados sexagesimales de un ángulo; luego
Solución:
EJERCICIO 24
Solución:
x= 2.5:0.001:3.5;
y= (log(4- abs(x)))./(x-4);
plot(x,y), grid
108
EJERCICIO 29
Solución:
x= -0.5:0.0001:0;
y=(2*x+sqrt(1-abs(x)))./(1-x.^2);
plot(x,y), grid
Página 68-70
EJERCICIO 1
109
Usando un procedimiento gráfico, hallar la raíz de la ecuación 𝟎. 𝟐𝒙 + 𝒍𝒏(𝟓 + 𝟎. 𝟏𝒙) =
𝟎.
Resolución:
Con un acercamiento más profundo podemos ver que la raíz es -7.263 con un error de
0.005.
EJERCICIO 2
110
Graficamos la función y podemos dar una aproximación a la raíz, en este caso estaría
aproximado a -0.8. Este método tiene muy poca precisión y exactitud.
EJERCICIO 3
Encontrar un intervalo [𝒂, 𝒃] de longitud menor que uno 𝒃 − 𝒂 < 𝟏 que contenga una
111
EJERCICIO 4
EJERCICIO 11
Usar el método de la bisección y realice 4 iteraciones con el fin de hallar una raíz de la
ecuación𝐱 + 𝐥𝐧 (𝐱 + 𝟓) = 𝟎, en el intervalo [-1;0]. Llenar la siguiente tabla, registrando
cada paso:
Iteración A b M F(a)F(b) |b-a|/2
1 -1 0 -0.5 0.3878 0.5
2 -1 -0.5 -0.75 0.26921 0.25
3 -1 -0.75 -0.875 0.20939 0.125
4 -1 -0.875 -0.9375 0.1793 0.0625
112
EJERCICIO 13
Hallar una raíz de la ecuación x3 - 5x - 18 = 0 con dos decimales exactos usando el
método de la bisección. Usar un método analítico y no gráfico.
𝑰𝒏𝒕𝒆𝒓𝒗𝒂𝒍𝒐 𝒅𝒆 𝟑 − 𝟒
𝐴𝑝𝑙𝑖𝑐𝑎𝑚𝑜𝑠 𝑙𝑎 𝑓𝑜𝑟𝑚𝑢𝑙𝑎 𝑑𝑒𝑙 𝑝𝑢𝑛𝑡𝑜 𝑚𝑒𝑑𝑖𝑜:
𝒂+𝒃
𝒙𝒊+𝟏 =
𝟐
Iteraccion a b Xi+1
1 3 4 3.5
2 3 3.5 3.25
3 3 3.25 3.125
4 3.125 3.25 3.1875
5 3.125 3.1875 3.1562
Según las iteraciones podemos ver que la raíz esta entre 3.18 y 3.15
113
ELABORADO POR: Sihuayro Apaza CintyaYanet
1. Ejercicio 34: Escribir una función: función s=exponencial (x, n) que calcule en forma
eficiente:
𝑥2 𝑥3 𝑥𝑛
1+𝑥+ + + ⋯+
2! 3! 𝑛!
𝑥2 𝑥3 𝑥𝑛
1+𝑥+ + + ⋯+
2! 3! 𝑛!
Como tenemos una exponencial en un denominador, multiplicamos toda la ecuación por ésta
para que desaparezca el denominador:
5 𝑥
4𝑒 𝑥 . 𝑒 𝑥 − . 𝑒 + 𝑒 𝑥 . 𝑒 𝑥 = 0. 𝑒 𝑥
𝑒𝑥
4𝑒 2𝑥 − 5 + 𝑒 2𝑥 = 0
5𝑒 2𝑥 = 5
5
𝑒 2𝑥 = = 1 = 𝑒0
5
Por tanto:
2𝑥 = 0 2𝑥 = 0
2. Ejercicio 39: Una ecuación o relación de atenuación es una expresión matemática que
describe la variación de parámetros de movimiento del terreno (usualmente,
aceleración, velocidad o desplazamiento) con la distancia entre una fuente sísmica y
un sitio en particular. La siguiente es una de las muchas ecuaciones de atenuación de
114
la aceleración que han sido desarrolladas. Es la llamada ecuación de Campbell y
Bozorgnia, la cual es del año 1994, desarrollada para magnitud de sismos entre 4.7 y
8.1:
𝑙𝑛𝑃𝐻𝐴 = −3.512 + 0.904𝑀𝑤
Solución
1
(252𝑥+1
2 ) . 1(2−𝑥 ) = 5−1
115
1
((52 )2𝑥+1
2 ) . 1(2−𝑥 ) = 5−1
1
((52 )2𝑥+1
2 ) . 1(2−𝑥 ) = 5−1
1
(52𝑥+1 ) . 1(2−𝑥 ) = 5−1
2𝑥+1
5( 2−𝑥 ) = 5−1
2𝑥 + 1
= −1
2−𝑥
La resolvemos:
2x + 1 = x -2 x = -3
La asíntota horizontal pasa por el valor que está a la derecha de la potencia, en este
caso no aparece número alguno.
116
Esta ecuación no tiene solución, ya que una potencia de base positiva nunca es
igual a cero.
No tiene cero.
y = 30+2
y = 32
y=9
Dominio: (La proyección de su gráfica cubre todo el eje de las "x")
Imagen: (La proyección de su gráfica cubre el eje "y" por encima de y = – 25, que no se
incluye)
Cero: x0 = 2.
PAG. 45-48
a) puntofijo('1.07143*x+1.42857*(x^0.1*x)',25,0.000001)
it. x g(x)
117
0 25.0000000000 76.0617600618
1 76.0617600618 249.0603233105
2 249.0603233105 884.6345196460
3 884.6345196460 3438.6408193225
13. Suponga que el precio de un producto f(x) depende del tiempo x en el que se
lo ofrece al mercado con la siguiente relación f(x)= 25*exp (-0.1x), e ≤ 12, en
donde x es tiempo en meses. Se desea determinar el dia en el que el precio
sube a 80.
a) Evalue con x en meses hasta que localice una raíz real (cambio de signo) y
trace la forma aproximada de f(x)
b) Calcule la respuesta (mes) con e=10˄-4. Exprese esta respuesta en días
(1mes= 30 dias)
c) Encuentre el dia en el cual el precio será máximo, e=10˄-4
118
ELABORADO POR: Solis Chambi Nicole E
16.1 comandos
X = [2 3 -1]
Y = [4 -1 5]
Z = [2 4 6]
W = ((X.*Y)./((X.*X)+(Y.*Y)))+(log(Z).*log(Z))
X=
2 3 -1
Y=
4 -1 5
Z=
2 4 6
W=
0.8805 1.6218 3.0181
21. Escribir los comandos que permitan graficar la función f(x)= √16 − 𝑥 2 en el dominio
adecuado, hacer un bosquejo de su gráfica.
21.1 grafico
119
Dominio de la función: -4≤x≤4
21.2 comandos:
X = [-4 -3 -2 -1 0 1 2 3 4];
Y = sqrt(16-X.*X);
X = linspace(-4, 4);
Y = sqrt(16 - X.*X);
plot(X,Y)
√(9−𝑥 2 )
26. Dada la función f(x)= 𝑥 2 +1
a. Determinar su dominio
a.1 -3≤x≤3
b. Escribir los comandos Matlab que permitan graficarlo
b.1 comandos
X = linspace(-3, 3);
X1 = X.*X;
Y = sqrt(9-(X1))./(X1 + 1);
plot(X,Y)
120
PARTE VI
Resolución de ejercicios complementarios por integrante del libro de
Steven C. Chapra
ELABORADO POR: Ccahua Ccahua Mariela
biseccion('0.5*x^2+2.5*x+4.5',5,10,0.000001)
i a b x=(a+b)/2 f(x)
121
5.2 Determine las raíces reales de f(x) = 5x3 – 5x2 + 6x – 2
a) Gráficamente
b) Utilizando el método de bisección para localizar la raíz más pequeña. Use los valores
iniciales xi = 0 y xu = 1 iterando hasta que el error estimado εa se encuentre debajo de εs =
10%.
biseccion('5*x^3-5*x^2+6*x-2',0,1,0.000001)
i a b x=(a+b)/2 f(x)
122
12 0.4179687500 0.4184570313 0.4182128906 0.0004986351
5.4 Calcule las raíces reales de f(x) = –12 – 21x + 18𝑥 2 – 2.75𝑥 3 :
a) Gráficamente
b) Empleando el método de la falsa posición con un valor εs correspondiente a tres cifras
significativas para determinar la raíz más pequeña.
falsaposicion('-12-21*x+18*x^2-2.75*x^3',0,1,0.001)
123
3 0.1701 -0.2758 -2.0870 -7.8933 -4.7803 135.2192 1.9168
124
b) Empleando tres iteraciones en el método de bisección con los valores iniciales
xi = 0.5 y xu = 2.
biseccion('log(x^2)-0.7',0.5,2,0.01)
i a b x=(a+b)/2 f(x)
c) Usando tres iteraciones del método de la falsa posición, con los mismos valores iniciales
de b).
falsaposicion('log(x^2)-0.7',0.5,2,0.01)
i a b c f(a) f(b) f(c) |c-a|
125
GRÁFICA
falsaposicion('x^3*5-80',2,5,2.5)
i a b c f(a) f(b) f(c) |c-a|
126
6.4 Determine las raíces reales de f(x) = –1 + 5.5x – 4𝑥 2 + 0.5𝑥 3
a) En forma gráfica.
b) con el método de Newton-Raphson dentro de εs = 0.01%.
newton('-1+5.5*x-4*x^2+0.5*x^3',0,0.0001)
f x f(x)
1 0.1818181818 -0.1292261458
2 0.2133749197 -0.0036960089
3 0.2143321141 -0.0000033712
127
6.8 Determine la raíz real de 𝑥 3 5 = 80, con el método de la secante modificado dentro de εs =
0.1%, con el uso de una elección inicial de x0 = 3.5 y xu = 0.01.
secante('x^3.5-80',3.5,0.01,0.0001)
i a b r error
128
ELABORADO POR: Chavez Cruz Alex Edwin
6.8 Determine la raíz real de x3.5 = 80, con el método de la secante modificado
dentro de es = 0.1%, con el uso de una elección inicial de x0 = 3.5 y d = 0.01.
an=input('ingrese el pto incial=');
bn=input('ingrese el punto final=');
tol=input('ingrese la TOL=');
iter=input('ingrese el numerod de iter=');
x=0:0.5:10;
y=x.^(3.5)-80;
plot(x,y)
yan=f(an);
ybn=f(bn);
if yan==0
fprintf('Xi es raiz\n\n');
else
if ybn==0
fprintf('Xs es raiz\n\n');
else
if yan*ybn<0
xn=an-(f(an)*(an-bn))/(f(an)-f(bn));
yn=f(xn);
error=tol+1;
Cont=0;
end
end
end
disp('cont xn f(xn) error')
cont=0;
while error>tol
if yan*yn<0
bn=xn;
ybn=yn;
else
an=xn;
yan=yn;
end
xm=xn;
xn=an-(f(an)*(an-bn))/(f(an)-f(bn));
yn=f(xn);
error=abs(xn-xm)/xn;
cont=cont+1;
fprintf('%02d %10.5f %10.5f %10.5f\n',cont,xn,yn,error)
end
fprintf('%02d %10.5f %10.5f %10.5f\n',cont,xn,yn,error)
129
5.1 Determine las raíces reales de f(x) = –0.5x2 + 2.5x + 4.5:
an=input('ingrese el pto incial=');
bn=input('ingrese el punto final=');
tol=input('ingrese la TOL=');
iter=input('ingrese el numerod de iter=');
x=0:0.5:10;
y=x.^(3.5)-80;
plot(x,y)
yan=f(an);
ybn=f(bn);
if yan==0
fprintf('Xi es raiz\n\n');
else
130
if ybn==0
fprintf('Xs es raiz\n\n');
else
if yan*ybn<0
xn=an-(f(an)*(an-bn))/(f(an)-f(bn));
yn=f(xn);
error=tol+1;
Cont=0;
end
end
end
disp('cont xn f(xn) error')
cont=0;
while error>tol
if yan*yn<0
bn=xn;
ybn=yn;
else
an=xn;
yan=yn;
end
xm=xn;
xn=an-(f(an)*(an-bn))/(f(an)-f(bn));
yn=f(xn);
error=abs(xn-xm)/xn;
cont=cont+1;
fprintf('%02d %10.5f %10.5f %10.5f\n',cont,xn,yn,error)
end
fprintf('%02d %10.5f %10.5f %10.5f\n',cont,xn,yn,error)
131
5.4 Calcule las raíces reales de f(x) = –12 – 21x + 18x2 – 2.75x3:
an=input('ingrese el pto incial=');
bn=input('ingrese el punto final=');
tol=input('ingrese la TOL=');
x=-10:0.5:10;
y=-2*x.^6-1.5*x.^4+10*x+2;
plot(x,y)
yan=f(an);
ybn=f(bn);
if yan==0
fprintf('Xi es raiz\n\n');
else
if ybn==0
fprintf('Xs es raiz\n\n');
else
if yan*ybn<0
xn=(an+bn)/2;
yn=f(xn);
error=tol+1;
Cont=0;
end
end
end
disp('cont xn f(xn) error')
cont=0;
while error>tol
if yan*yn<0
bn=xn;
ybn=yn;
else
an=xn;
yan=yn;
end
xm=xn;
xn=(an+bn)/2;
yn=f(xn);
error=abs(xn-xm)/xn;
cont=cont+1;
fprintf('%02d %10.5f %10.5f %10.5f\n',cont,xn,yn,error)
end
fprintf('%02d %10.5f %10.5f %10.5f\n',cont,xn,yn,error)
132
5.2 Determine las raíces reales de f(x) = 5x3 – 5x2 + 6x – 2:
5.3 Determine las raíces reales de f(x) = −25 1 82x − 90x2 + 44x3 – 8x4 + 0.7x5:
x0=input('ingrese el valor inicial=');
tol=input('\ningrese la tolerancia que desea=');
error=tol+1;
cont=0;
x=0:0.5:10;
y1=2*((sin(sqrt(x))))-x;
plot(x,y1)
hold on
y2=(sin(x/2)).^-2;
plot(x,y2)
disp('cont xn f(xn) g(x0) error')
133
while error>tol
xn=g(x0);
yn=f(xn);
error=abs((xn-x0)/xn);
cont=cont+1;
x0=xn;
fprintf('%02d %10.6f %10.6f %10.6f %10.6f\n',cont,xn,yn,g(x0),error)
end
Ejercicio 6.3
x1=input('ingrese el valor inicial=');
tol=input('ingrese la tol=');
r=tol+1;
cont=0;
x=-10:0.5:10;
y=-1+5.5*x-4*x.^2+0.5*x.^3;
plot(x,y)
disp('cont xn f(xn) error')
while r>tol
a=f(x1);
134
b=df(x1);
xn=x1-a/b;
r=abs((x1-xn)/xn);
x1=xn;
cont=cont+1;
fun=f(xn);
fprintf('%02d %10.6f %10.6f %10.6f \n',cont,xn,fun,r)
end
135
6.12 Determine las raíces de las siguientes ecuaciones no lineales simultáneas, por
medio de los métodos de a) iteración de punto fijo, y b) Newton-Raphson:
y = – x2 + x + 0.75
y + 5xy = x2
Ejercicio 6.6
x0=input('ingrese xo=');
136
x1=input('\ningrese x1=');
Tol=input('\ningrese la tolerancia=');
x=-10:0.5:10;
y=-12-21*x+18*x.^2-2.4*x.^3;
plot(x,y)
y0=f(x0);
y1=f(x1);
d=(y1-y0);
e=Tol+1;
cont=0;
while e>Tol
xn= x1-((y1*(x1-x0))/(d));
e=abs((xn-x1)/xn);
x0=x1;
y0=y1;
y1=f(xn);
x1=xn;
d=(y1-y0);
cont=cont+1;
fprintf('%02d %10.6f %10.6f %10.6f \n',cont,xn,y1,e)
end
137
Ejercicios
function y=grafica31
x=-1:0.05:3
f=sqrt(x+1)./(x-3);
plot(x,f,'r')
5.3 Determine las raíces reales de f(x) = −25 1 82x − 90x2 + 44x3 – 8x4 + 0.7x5:
function y=graficas36
x=-5:0.05:5;
y1=3+x.*exp(-x);
y2=2;
f=y1.*(x<2)+y2.*(x>=2);
plot(x,f,'r')
138
ELABORADO POR: Sihuayro Apaza CintyaYanet
Pág. 140
EJRCICIOS (5.10, 5.21)
5.10 Encuentre la raíz positiva de f(x) = 𝑥 4 – 8𝑥 3 –35𝑥 2 + 450x–1001, utilizando el
método de la falsa posición. Tome como valores iniciales a xl = 4.5 y xu = 6, y
ejecute cinco iteraciones. Calcule los errores tanto aproximado como verdadero, con
base en el hecho de que la raíz es 5.60979. Emplee una gráfica para explicar sus
resultados y hacer el cálculo dentro de un es = 1.0%.
SOLUCION
PASO 1: Iteraciones:
Iteración 1:
f(x) = 𝑥 4 – 8𝑥 3 –35𝑥 2 + 450x–1001
f(x) = f(4.5) = 4.54 – 8(4.5)3–35(4.5)2 + 450(4.5)–1001 = -3.6875
f(x) = f(6) = 64 – 8(6)3–35(6)2 + 450(6)–1001 = 7
f(x) = -1.00147404
f(x) = 𝑥 7(4.5−6)
𝑟1=6 ( )= 5.01754
−3.6875−7
Iteración 2:
𝑥2=5.01754 f(x) = -1
𝑥4=6 f(x) = 7
139
Fc=eval(f);
fprintf('\n i a b c F(a) F(b) F(c) |c-a| \n');
i=0;
while abs(c-a)>tol
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(f);
i=i+1;
fprintf('\n %2.0f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n',i,a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<tol
break;
else
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb;
end
end
end
fprintf('\n La aproximación de la raíz es: %.4f',b);
ezplot(Fx);%grafica de la funcion
grid on;
>> falsaposicion('x^4-8*(x^3)-35*(x^2)+450*x-1001',4.5,6,0.0001)
140
8 5.5487 5.5749 6.0000 -0.4325 0.2630 7.0000 0.4513
9 5.5749 5.5903 6.0000 -0.2630 -0.2630 7.0000 0.4251
10 5.5903 5.5991 6.0000 -0.0858 -0.1524 7.0000 0.4097
11 5.5991 5.6039 6.0000 -0.1524 -0.0475 7.0000 0.4009
12 5.6039 5.6066 6.0000 -0.0475 -0.0261 7.0000 0.3961
13 5.6066 5.6080 6.0000 -0.0261 -0.0143 7.0000 0.3934
14 5.6080 5.6088 6.0000 -0.0143 -0.0078 7.0000 0.3920
15 5.6088 5.6093 6.0000 -0.0078 -0.0042 7.0000 0.3912
16 5.6093 5.6095 6.0000 -0.0042 -0.0023 7.0000 0.3907
17 5.6095 5.6096 6.0000 -0.0023 0.0012 7.0000 0.3905
18 5.6096 5.6097 6.0000 -0.0012 -0.0007 7.0000 0.3904
𝐸 5.4426372−5.35701
𝑎= =1.57 %
5.4426372
𝐸 5.60979−5.4426372
𝑟= 5.60979 =2.98 %
5.21 Desarrolle un subprograma para el método de la falsa posición que minimice las
evaluaciones de la función en forma similar a la figura 5.11. Determine el número de
evaluaciones de la función (n) para el total de iteraciones. Pruebe el programa por
medio de la duplicación del ejemplo 5.6.
Solución
141
Programación aplicando el Matlab:
FUNCTION Bisect(xl, xu, es, imax, xr, iter, ea)
iter = 0
fl = f(xl)
DO
xrold = xr
xr = (xl + xu) / 2
fr = f(xr)
iter = iter + 1
lF xr ≠ 0 THEN
ea = ABS((xr – xrold) / xr) * 100
END IF
test = fl * fr
IF test < 0 THEN
xu = xr
ELSE IF test > 0 THEN
xl = xr
fl = fr
ELSE
ea = 0
END IF
IF ea < es OR iter ≥ imax EXIT
END DO
Bisect = xr
END Bisect
>> newton('x^3-6*x^2+11*x-6',0.3,0.1)
it x f(x)
1 0.7189048240 -0.8214444402
2 0.9282639314 -0.1592794861
143
1.973 − 1.9720
ℇ=
1.973
ℇ= 0.001 %
f(x) = 𝑥 3 – 2𝑥 2 – 4x + 8 x=1. 2
2.048 1.6571
𝑥1 = 1.2 − = 1.6571 ℇ = 1.8370 − 1.6571 = 27.58 %
−4.48
0.4249 1.6571
𝑥2 = 1.6571 − = 1.5370 ℇ = 1.8370 − =9.79 %
−2.3402 1.8370
Programación
>> newton('x^3-2*x^2-4*x+8',0.3,0.00001)
144
it x f(x)
1 1.6482758621 0.4513277297
2 1.8330445502 0.1068427522
3 1.9183807646 0.0261030755
4 1.9596198844 0.0064563730
5 1.9799134187 0.0016057786
6 1.9899821177 0.0004004265
7 1.9949973549 0.0000999806
8 1.9975002445 0.0000249795
9 1.9987505132 0.0000062429
10 1.9993753542 0.0000015605
11 1.9996877015 0.0000003901
12 1.9998438568 0.0000000975
13 1.9999219299 0.0000000244
14 1.9999609654 0.0000000061
15 1.9999804828 0.0000000015
f(x) = 𝑥 3 – 2𝑥 2 – 4x + 8
145
f(x) = 3𝑥 2 – 4x – 4 m= 2 x= 1.2
2.048 2.1143
𝑥1 = 1.2 − −4.48 = 1.6571 ℇ = 1.2 − 2.1143 = 43.24 %
0.4249 1.6571
𝑥2 = 1.6571 − −2.3402 =2.0016 ℇ = 1.8370 − 1.8370 = 5.63 %
0.00001
X = 2.0016 - 2( )−2
0.0125
2.0016
ℇ=2−( ) = 0.08 %
2
it x f(x)
1 4.7833937228 30.0966615251
146
2 4.5623555954 11.1917519539
3 4.3364233664 4.1656063237
4 4.1050479439 1.5521218477
5 3.1093978728 0.0303886745
6 2.8370884388 0.0114350288
7 2.5517448166 0.0043193019
8 1.5786948632 0.0002425680
9 1.1895679062 0.0000062429
10 1.9993753542 0.0000390620
11 1.9996877015 0.0000003901
12 0.7371186399 0.0000000975
13 -0.8347241133 0.0000144976
14 0.4979496384 0.0000266821
15 -0.1916736776 0.0000135364
16 -2.3055750390 0.0012934954
17 -1.9642823354 0.0002077030
18 -0.2079996057 0.0000134352
19 -2.4482507073 0.0034599477
20 -1.7530265026 0.0000900524
21 -0.2840492236 0.0000130492
22 -3.4138705771 0.0058817119
147
6.23 a) Aplique el método de Newton-Raphson a la función f(x)= tanh (x2 – 9) para
evaluar su raíz real conocida en x = 3. Use un valor inicial de x0 = 3.2 y haga un
mínimo de cuatro iteraciones.
b) ¿Converge el método a su raíz real? Bosqueja la gráfica con los resultados para
cada iteración que obtenga.
Solucion
f(x) = tanh(𝑥 2 − 9)
PASO 1:
f(x) = [sech^2(𝑥 2 − 9)](2𝑥)
x= 3.1
PASO 2: realizar las iteraciones
𝑓(𝑥1)
𝑥=𝑥−
𝑓′(𝑥)
i X j+1
1 2.9753
2 3.2266
3 2.5774
4 7.9865
148
6.24 El polinomio f(x) = 0.00744 – 0.284𝑥 3 + 3.355𝑥 2 – 12.183x + 5 , tiene una raíz
real entre 15 y 20. Aplique el método de Newton-Raphson a dicha.
Solucion
PASO 1:
f(x) = 0.0074𝑥 4 – 0.284𝑥 3 + 3.355𝑥 2 – 12.183x + 5
f’(x) = 0.0296𝑥 3 – 0.852𝑥 2 +6.71x -12.183
i X j+1
1 9.0767
2 -4.01014
3 -3.2726
>> newton('0.0074*x^4-0.284*x^3+3.355*x^2-12.183*+5',0.3,0.00001)
it x f(x)
1 31.5942322083 1704.7778811744
2 25.8160382268 575.6331451484
3 20.7965466136 219.8848819004
4 14.9004157331 109.2091250728
5 2.4082380095 6.2921110478
6 2.8370884388 -45.1749879838
7 5.4874638436 -0.1065746612
8 5.4941013878 0.0000006987
149
La aproximación de la raíz es: 5.4941013442
a) Gráficamente
150
b) Utilizando el método de bisección para localizar la raíz más pequeña. Use los valores
iniciales xi = 0 y xu = 1 iterando hasta que el error estimado Ea se encuentre debajo de Es
= 10%.
= −2
=4
𝑓(𝑎) + 𝑓(𝑏)
2
0+1
𝑐= = 0.5
2
151
−2 + 4
𝑓(𝑐) = =1
2
TABLA 1
1 0 0.5 1 -2 1 4 1
2 0.5 0.75 1 0.375 2.1875 4 2.1875
3 0.75 0.875 1 1.79688 2.89844 4 2.89844
4 0.875 0.9375 1 2.77148 3.38574 4 3.38574
5 0.9375 0.96875 1 3.35034 3.67517 4 3.67517
6 0.96875 0.98437 1 3.66586 3.83293 4 3.83293
Calcule las raíces reales de f(x) = -12 -21x + 18x2 -2.75x3 :
a) Gráficamente
SOLUCION
POR FORMULA
152
f(x) = -12 -21x + 18x2 -2.75x3 Puntos de intersección: (0,0.5)
Interaccion = 1
Interaccion = 2
Interaccion = 3
TABLA 1
153
0 11.67291 0.5 -12 - -18.34375 -
2,178.420852 2,178.420852
0 11.93570 11.67291 -12 -2,374.37306 - -
2,178.420852 2,374.37306
0 11.93968 11.93570 -12 -2,377.42548 -2,374.37306 -
2,377.42548
𝟐
Encuentre la raíz positiva más pequeña de la función (x está en radianes) 𝒙𝟐 |𝒄𝒐𝒔 √𝒙| =
𝟓 usando el método de la falsa posición. Para localizar el intervalo en donde se
encuentra la raíz, grafique primero esta función para valores de x entre 0 y 5. Realice el
cálculo hasta que εs sea menor que εs = 1%. Compruebe su respuesta final
sustituyéndola en la función original.
UTILIZANDO MAT LAB
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int c=0;ciclos;
float Xr,Er,Xr_1=0,error=0.01,a=0,b=5;
int main(){
system("cls");
154
printf("Este programa calcula la raiz positiva mas pequeña de \n\t x^2*|cos(x^-
0.5)| = 5\n");
printf("Por el metodo de la falsa pocision.\ny el metodo grafico con
GNUPLOT\n");
system("gnuplot config.gp");
FILE *ap;
ap=fopen("datos.txt","w");
fprintf(ap,"\nC\tXr\t Er");
pide_datos();
do{
Xr=((a*f(b)-b*f(a))/(f(b)-f(a)));
Er=fabs((Xr-Xr_1)/Xr);
Xr_1=Xr;
c++;
if(f(a)*f(Xr)<0)
b=Xr;
else
a=Xr;
fprintf(ap,"\n%d\t%f\t%f",c,Xr,Er);
printf("\nXr = %f",Xr);
fprintf(ap,"\n\nXr = %f",Xr);
fprintf(ap,"\nEr = %f",Er);
fclose(ap);
fflush(ap);
ope();
printf("\n\n");
system("pause");
Usamos el método de la falsa posición y esperamos a que arroje los resultados lo
cual tarda un total de 6 iteraciones y cuando se sustituye se determina que la raíz
encontrada esta próxima al cero pero podría acercarse más con más cifras
significativas en la tolerancia. En este caso sustituyendo Xr la función regresa un
valor de -0.05 unidades.
155
iteraciones Xi-1 f(Xi-1) Xi f(Xi) Xi+1 f(Xi+1)
0 5 -9,5 6,5 5,3125 5,96202532 -2,4485132
1 6,5 5,3125 5,96202532 -2,4485132 6,13175034 -0,33106175
2 5,96202532 -2,4485132 6,13175034 -0,33106175 6,1582867 0,0266967
3 6,13175034 -0,33106175 6,1582867 0,0266967 6,1563065 -0,00025398
4 6,1582867 0,0266967 6,1563065 -0,00025398 6,15632516 -1,9164E-07
5 6,1563065 -0,00025398 6,15632516 -1,9164E-07 6,15632517 1,3927E-12
6 6,15632516 -1,9164E-07 6,15632517 1,3927E-12 6,15632517 0
a) En forma gráfica.
156
La raíz más grande según el grafico es: 3.345
1ra iteración:
𝑥𝑖 = 3.5
𝑓(3.5) = 0.60625
𝑓(3.5) = 4.5125
𝑓(𝑥0 )
𝑥𝑖+1 = 𝑥1 = 𝑥0 −
𝑓´(𝑥0 )
0.60625
𝑥1 = 3.5 −
4.5125
𝑥1 = 3.36565
157
2da Iteración:
𝑥𝑖+1 = 𝑥1 = 3.36565
𝑓(3.36565) = 4.5125
𝑓(3.36565) = 1.53566
𝑓´(3.36565) = 3.46899
𝑥2 = 2.92297
3ra Iteración:
𝑥2 = 2.92297
𝑓(2.92297) = 5.46633
𝑓´(2.92297) = 0.75865
𝑥3 = −4.28237
1ra Iteración:
𝑓(3.5) = −2.54375
3 2
𝑓(2.5) = 0.95(2.5) – 5.9(2.5) + 10.9(2.5) – 6
𝑓(2.5) = −0.78125
𝑓(𝑥𝑗 )(𝑥𝑗 − 𝑥𝑗−1 )
𝑥𝑗+1 = 𝑥𝑗 −
𝑓(𝑥𝑗 ) − 𝑓(𝑥𝑗−1 )
(−2.54375) ∗ (3.5 − 2.5)
𝑥2 = 3.5 −
(−2.54375) − (−0.78125)
𝑥2 = 2.05674
2da Iteración:
𝑥2 = 2.05674 𝑥1 = 3.5
𝑓(3.5) = −2.54375
𝑓(2.05674) = 15.45730
𝑥3 = 2.05674
d) Por medio del método de la secante modificado (tres iteraciones, xi = 3.5, d = 0.01).
5.5 Localice la primera raíz no trivial de sen x = x^2 , donde x está en radianes. Use una
técnica gráfica y bisección con un intervalo inicial de 0.5 a 1. Haga el cálculo hasta que Ea
158
sea menor que Es = 2%. Realice también una prueba de error sustituyendo la respuesta final
en la ecuación original.
Grafica
Método de la Bisección:
fx=senx-x2
N Xl Xu Xr F(x)f(Xr) Ea %
1 0.5 1 0.75 + -
Va=0.890625
Prueba Error
Sen 0.96875 = 1
0.890625 = 1
=17.58%
159
donde g = 9.8 m/s2. Para un paracaidista con coeficiente de arrastre de c = 15 kg/s, calcule la
masa m de modo que la velocidad sea v = 35 m/s en t = 9s. Utilice el método de la falsa
posición para determinar m a un nivel de Es = 0.1%.
𝑐
(𝑚𝑔)
V= ( ∗ (1 − 𝑒 −(𝑚)𝑡 )
𝑐
La ecuación diferencial es
ma-cv=0
𝑑𝑣 𝑐
( 𝑑𝑡 ) − (𝑚)v =0
- condiciones iniciales
vo = 0
𝑑𝑣
ao = ( 𝑑𝑡 )o = g
La ecuación planteada es
𝑐
(𝑚𝑔)
V= ( ∗ (1 − 𝑒 −(𝑚)𝑡 )
𝑐
15
(𝑚9.8)
v=( ∗ (1 − 𝑒 −( 𝑚 )9 ) = 35
15
−135
15
m * (1 − 𝑒 −( )
𝑚 ) = 35 ∗ 9.8
15 kg/s * 9 s = 135 kg
así que el exponente queda adimensional con m en kg
−135
f(m) = m * (1 − 𝑒 −( )
𝑚 ) − 53.57 = 0
160
Para m1 = 50
f(50) = -6.93027
Para m2 = 60
f(60) = 0.10604
Como hay cambio de signo, podemos establecer que hay una raíz intermedia
Pendiente de la secante
entre f(50) y f(60)
Pend1 = (f(60) - f(50))/(60-50)
Pend1 = (0.10604 - (-6.93027))/10
Pend1 = (7.03632)/10
Pend1 = 0.70363
Comandos:
function [y] = f(x)
y=0.6533333333333*x*(1-(2.71828182846)^(-135/x))-35;
end
Raíz aproximada = 59
m f(m)
54 -2.61
56 -1.69
58 -0.80
60 0.068
Raíz aproximada = 60
161
xl=58 xu=60
(0.068)(58−60)
xr1=60- =59.81420765
−0.8+0.068
(−0.0115)(58−59.81)
xr1=59.814207- =59.84079423
−0.8+0.0115
59.84079423−59.81420765
Ea= (100%)=0.044%
59.84079423
Iteración xl xu xr Ea
1 58 60 59.81420765 -
5.14 Se carga una viga de la manera que se aprecia en la figura P5.14. Emplee el método de
bisección para resolver la posición de la viga donde no hay momento.
Figura: P5.14
Fuente: Métodos Cerrados
Creación de la función.
function [y] = f(x)
y=12-10*x^2-185*x+1650;
end
MATLAB
162
function [c,iter] = bissec(a,b,e)
iter=1;
while abs(b-a) > e & iter<1000
c=(a+b)/2;
if f(a)*f(c) > 0
a=c;
else
b=c;
end
iter=iter+1;
end
i xl xu xr a
1 2.5 3 2.75 -----
2 2.5 2.75 2.625 4.761
3 2.5 2.625 2.5625 2.439
4 2.5625 2.625 2.59375 1.204
5 2.59375 2.625 2.609375 0.598
6 2.59375 2.609375 2.6015625 0.300
7 2.3015625 2.609375 2.60546875 0.149
8 2.60546875 2.609375 2.607421875 0.074
9 2.607421875 2.609375 2.608398438 0.0374
10 2.608398438 2.609375 2.608886719 0.018
11 2.608398438 2.608886719 2.608642579 0.009
2.5+3
xr= = 2.75
2
2.625−275
Ea= ∗ 100 = 4.761
2.625
2.5+2.75
xr= = 2.625
2
2.5625−2.625
Ea= ∗ 100 = 2.439
2.5625
2.5+2.625
xr= = 2.5625
2
2.59375−2.5625
Ea= ∗ 100 = 1.204
2.59375
2.5625+2.625
xr= = 2.59375
2
2.6093−2.59375
Ea= ∗ 100 = 0.598
2.6093
2.59375+2.625
xr= = 2.609375
2
163
2.6015625−2.59375
Ea= ∗ 100 = 0.300
2.6015625
2.59375+2.609375
xr= = 2.6015625
2
2.60546875−2.6015625
Ea= ∗ 100 = 0.149
2.60546875
2.6015625+2.609375
xr= = 2.60546875
2
2.607421875−2.60546875
Ea= ∗ 100 = 0.074
2.607421875
2.60546875+2.609375
xr= = 2.607421875
2
2.608398438−2.607421875
Ea= ∗ 100 = 0.0374
2.608398438
2.607421875+2.609375
xr= = 2.608398438
2
2.608886719−2.608398438
Ea= ∗ 100 = 0.018
2.608886719
2.608398438+2.609375
xr= = 2.608886719
2
2.608642579−2.608886719
Ea= ∗ 100 = 0.009
2.608642579
2.608886719+2.609375
xr= = 2.608642579
2
5.15 Por un canal trapezoidal fluye agua a una tasa de Q=20 m3 /s. La profundidad crítica y
para dicho canal satisface la ecuación
𝑄2
0=1-𝑔𝐴3
Resuelva para la profundidad crítica con el uso de los métodos a) gráfico, b) bisección y.
a) Gráfico
3
(𝑦 2 −6𝑦)
f(y)=40.774- 8𝑦+24
164
dominio: -49.90973 < 𝑥 < 46.9478047
b) Bisección
N Xl Xu Xr fxf(Xr) Ea %
5.16 Suponga que el lector que está diseñando un tanque esférico de almacenamiento de agua
para un poblado pequeño de un país en desarrollo. El volumen del líquido que puede contener
se calcula con.
[3𝑅−ℎ]
V =𝜋ℎ2 3
Donde v =volumen [m^3], h = profundidad del agua en el tanque [m], y R= radio del tanque
[m].
165
(3𝑟−ℎ)
V = 𝜋 ∗ ℎ2 ∗ 3
3 *30 = 𝜋 ∗ ℎ2 ∗ (9 − 1)
90= 9 ∗ π ∗ ℎ2 − π ∗ ℎ3
- π ∗ ℎ3 + 9 ∗ π ∗ ℎ2 − 90 = 0
F(h)= π ∗ ℎ30 − 9 ∗ π ∗ ℎ2 + 90
Si R=3m ¿a que profundidad debe llenarse el tanque de modo que contenga 30m^2?
V=A*H
𝜋
A= ∗ (6)2
4
A= 28.274334 m2
𝑉
H= 𝐴
3.2808
H= 1.061033* 1
H=3.481037 pies
𝑓(𝐻)
Hn+1 =H0 -𝑓`(𝐻)
Derivando f(h)
F(h)= 3 ∗ π ∗ ℎ2 − 18 ∗ π ∗ ℎ
Tolerancia 0.0001
resultados (iteraciones) con el valor inicial 3.481037
1º iteración:1.954312 pies
166
2º iteración: 2.927587 pies
3º iteración: 2.026906 pies
4º iteración: 2.026891 pies
5º iteración: 2.026921 pies
(x-4)2 + (y-4)2 =5
X2 +y2=16
Tomo x = 2 ; y=4
Iteración # 0
167
=4
Iteración #1
= 0.2031
iteración #2
= 0.0054
168
Luego reemplazo en la ecuación los valores obtenidos:
Iteración
0 1.7500
169
El determinante es: (1.6) (1)-(-0.0279) (1)=1.6279
= 0.24
0.5998
= 1.2366
1.1990
x =-0.3989
y= 0.8007
170
6.15 El balance de masa de un contaminante de un lago bien mezclado se expresa asi:
𝑑𝑐
V=𝑑𝑡 = 𝑊 − 𝑄𝑐 − 𝑘𝑉√𝑐
Dados los valores de parámetros v=1*106 m3 ,Q = 1 × 105 m3/ a˜no y W = 1 × 106 g/ano˜ y k
= 0.25m0.5/ano. ˜ Use su programa para encontrar la concentración en el estado estacionario,
cuando la derivada respecto al tiempo es cero, a través de los tres métodos. Emplee como x0
= 3.75g/m3 y justifique que ´este es una buena selección de punto inicial. ¿Cuál método
converge más rápido? ¿Por qué?
𝑊−𝑘𝑉√𝑐 𝑊−𝑘𝑉√𝑐
𝑓(𝑐) = −𝑐 =0 𝑔(𝑐) =
𝑄 𝑄
𝑐0 = 4
c F(c)
0 16
1 11.96
2 8.24
3 4.84
4 1.76
5 -1
6 -3.44
7 -5.56
8 -7.36
9 -8.84
10 -10
Evaluando a este valor mediante iteraciones de punto fijo tenemos:
𝑐 = 4.62571702 𝑔/𝑚3
171
1 5 4.40983006 0.2 continua
2 4.40983006 4.75010116 0.1338354 continua
3 4.75010116 4.5513183 0.0716345 continua
4 4.5513183 4.66654527 0.04367589 continua
5 4.66654527 4.599453 0.02469213 continua
6 4.599453 4.63841616 0.01458701 continua
7 4.63841616 4.61575437 0.0084001 continua
8 4.61575437 4.62892331 0.00490966 continua
9 4.62892331 4.62126681 0.00284493 continua
10 4.62126681 4.6271702 0.0016568 continua
11 4.6271702 4.62312997 0.00096206 raiz
>> biseccion('',1,2,0.01)
it. a b x=(a+b)/2
172
2 1.5000000000 2.0000000000 1.7500000000
a) En forma grafica
>> newton('0.95*x^3-5.9*x^2+10.9*x-6',3.5,0.0001)
i x f(x)
1 3.3656509695 0.0712486657
2 3.3451122758 0.0015492393
3 3.3446454317 0.0000007918
173
c) Con el método de la secante ( 3 iteraciones,Xi-1= 2.5 y Xi= 3.5)
>> secante('0.95*x^3-5.9*x^2+10.9*x-6',2.5,3.5,0.001)
i a b r error
>> puntofijo('0.95*x^3-5.9*x^2+10.9*x-6',3.5,0.01)
it. x g(x)
0 3.5000000000 0.6062500000
1 0.6062500000 -1.3486759399
2 -1.3486759399 -33.7627214717
3 -33.7627214717 -43662.0547409802
174
en donde se encuentra la raíz, grafique primero esta función para valores de
x entre 0 y 5. Realice el calculo hasta que error a sea menor que Ex= 1%.
Compruebe su respuesta final sustituyéndola en la función original.
>> falsaposicion('x^2*abs(cos(sqrt(x)))-5',0,5,0.01)
175
14 3.7453 3.7453 5.0000 -0.0000 -0.0000 10.4318 1.2547
18. F(x) = sen(x)+cos(1+x²)-1 donde x esta en radianes. Para localizar la raíz use
4 iteraciones del método de la secante con valores iniciales de:
a) Xi-1=1 y Xi=3
>> secante('sin(x)+cos(1+x^2)-1',1,3,1)
i a b r error
176
7 0.944691 0.000913 -9.206533 100.009916
b) Xi-1=1.5 y Xi=2.5
>> secante('sin(x)+cos(1+x^2)-1',1.5,2.5,0.01)
i a b r error
c) Xi-1=1.5 y Xi=2.25
>> secante('sin(x)+cos(1+x^2)-1',1.5,2.25,0.01)
177
i a b r error
>> secante('((sqrt(x+1)^2-16)+2)',0.5,3,1)
i a b r error
178
ELABORADO POR: Baca Charca Diego Vladimir
a) Gráficamente
b) Empleando tres iteraciones en el método de bisección con los valores iniciales xl = 0.5 y xu = 2. c)
Usando tres iteraciones del método de la falsa posición, con los mismos valores iniciales de b).
biseccion('log(x^2)-0.7',0.5,2,0.001)
falsaposicion('log(x^2)-0.7',0.5,2,0.001)
179
Ejercicio: 5.8 Calcule la raíz cuadrada positiva de 18 usando el método de la falsa posición con error =
0.5%. Emplee como valores iniciales xl = 4 y xu = 5.
falsaposicion('sqrt(18)-x',4,5,0.005)
a) Con el método de la falsa posición dentro de error = 2.5%. Haga elecciones iniciales de 2.0 a 5.0.
Ejercicio: 5.12 Dada f(x) = –2x^6 – 1.5x^4 + 10x + 2 Use el método de la bisección para determinar el
máximo de esta función. Haga elecciones iniciales de xl = 0 y xu = 1, y realice iteraciones hasta que el
error relativo aproximado sea menor que 5%
180
biseccion('-2*x^6-15*x^4+10*x+2',0,1,0.05)
Ejercicio propuesto:
a) Empleando tres iteraciones en el método de la secante con los valores iniciales xi =0.5 y xu=2
secante('log(x^2)-0.7',0.5,2,1)
i a b r error
1 0.500000 2.000000 1.628707 22.796761
2 2.000000 1.628707 1.379588 18.057484
3 1.628707 1.379588 1.421930 2.977780
4 1.379588 1.421930 1.419108 0.198921
Se concluye que la aproximación a la raíz es: xa = 1.4191
181
Ejercicio propuesto: Dada f(x) = –2x^6 – 1.5x^4 + 10x + 2 Use el método de la falsa posición para
determinar el máximo de esta función. Haga elecciones iniciales de xl = 0 y xu = 1, y realice
iteraciones hasta que el error relativo aproximado sea menor que 5%
falsaposicion('-2*x^6-15*x^4+10*x+2',0,1,0.001)
i a b c F(a) F(b) F(c) |c-a|
Ejercicio propuesto:
Determine la raíz real de ln x^2 = 0.7:
b) Empleando tres iteraciones en el método de newton raphson con los valores iniciales x = 2.
newton('log(x^2)-0.7',2,0.000001)
i x f(x)
1 1.3137056389 -0.1542962483
2 1.4150555646 -0.0056624028
3 1.4190618719 -0.0000080006
4 1.4190675486 -0.0000000000
La aproximación de la raíz es: 1.4190675486
182