Está en la página 1de 16

INSTITUTO POLITÉCNICO NACIONAL

Unidad profesional Interdisciplinaria en Ingenieria y Tecnologias Avanzadas

Métodos numéricos

4EV1

Resolución de ejercicios

Integrantes:

Angeles Monroy Christian


Aguilar Solis Avril Livier
Cordoba Rosario Alejandro
Rene Gonzalez Garduño
1. Los tres términos distintos de cero de la serie de Maclaurin para la función arco tangente son
𝑥− ( )𝑥 + ( )𝑥 .
1
3
3 1
5
5
Calcule el error absoluto y el error relativo en las siguientes
aproximaciones de π cuando el polinomio en lugar del arco tangente:

(
a) 𝑝 = 4 arctan 𝑎𝑟𝑐𝑡𝑎𝑛 ( )
1
2
+ arctan 𝑎𝑟𝑐𝑡𝑎𝑛 ( ))1
3

𝑝 = 3. 141592

Usando el polinomio para el arco tangente:

1 3 1 5
arctan 𝑎𝑟𝑐𝑡𝑎𝑛 ( ) ( ) ( )( ) ( )( )
1
2
=
1
2

1
3 2
+
1
5 2

1 3 1 5
arctan 𝑎𝑟𝑐𝑡𝑎𝑛 ( ) = ( ) − ( )( ) + ( )( )
1
3
1
3
1
3 3
1
5 3

Sustituyendo:

𝑝 = 4
*
((( ) − ( )( ) + ( )( ) ) + (( ) − ( )( ) + ( )( ) ))
1
2
1
3
1 3
2
1
5
1 5
2
1
3
1
3
1 3
3
1
5
1 5
3

*
𝑝 = 3. 145576

Para calcular el error absoluto:

|ρ − 𝑝𝑥| = |3. 141592 − 3. 145576|


|ρ − 𝑝𝑥| = 0. 003983
|ρ − 𝑝𝑥| = 0. 3983𝑥10−2
Para calcular el error relativo:
|ρ−𝑝𝑥| = |3.141592−3.145576|
|ρ| |3.141592|

|ρ−𝑝𝑥| = 0. 001267
|ρ|

|ρ−𝑝𝑥| = 0. 1267𝑥10−2
|ρ|

b) 𝑝 = ( )
1
5
− 4 arctan 𝑎𝑟𝑐𝑡𝑎𝑛 ( ) 1
239

𝑝 = 3. 141592
Usando el polinomio para el arco tangente:
1 3 1 5
arctan 𝑎𝑟𝑐𝑡𝑎𝑛 ( ) = ( ) − ( )( ) + ( )( )
1
5
1
5
1
3 5
1
5 5

1 3 1 5
arctan 𝑎𝑟𝑐𝑡𝑎𝑛 ( ) = ( ) − ( )( ) + ( )( )
1
239
1
239
1
3 239
1
5 239

Sustituyendo:
*
𝑝 = 4 ((( 1
5 ) − ( )( ) + ( )( ) ) + (( ) − ( )( ) + ( )( ) ))
1
3
1 3
5
1
5
1 5
5
1
239
1
3
1 3
239
1
5
1 5
239

*
𝑝 = 3. 141621
Para calcular el error absoluto:

|ρ − 𝑝𝑥| = |3. 141592 − 3. 141621|


|ρ − 𝑝𝑥| = 0. 000028
|ρ − 𝑝𝑥| = 0. 28𝑥10−4
Para calcular el error relativo:
|ρ−𝑝𝑥| = |3.141592−3.141621|
|ρ| |3.141592|

|ρ−𝑝𝑥| = 0. 0000090
|ρ|

|ρ−𝑝𝑥| = 0. 903𝑥10−5
|ρ|

2. Use la aritmética de redondeo de cuatro dígitos y las fórmulas para encontrar las aproximaciones
más precisas a las raíces de las siguientes ecuaciones cuadráticas. Calcular el error relativo.
a) ( )𝑥 + ( )𝑥 − ( )𝑥 =0
1
3
2 123
4
1
16
2
b) 1. 002 𝑥 + 11. 01 𝑥 − 0. 01265 𝑥 =0

La forma más conocida para calcular las raíces de una ecuación cuadrática es por fórmula general.
Pero no tiene la precisión requerida en el cálculo de las raíces reales, para coeficientes numéricos que
están expresados en forma decimal. Para el cálculo de las raíces y verificar la efectividad de ambas
fórmulas se empleó el siguiente código usando python.
Fórmula cuadrática x1= 92.24467187957315 x2= 0.0054203705191013035

Fórmula cuadrática ajustada x1= 92.24467187958952 x2=0.005420370519102265


(a)

Fórmula cuadrática x1= -0.00114907565991116 x2= -10.986874876435897

Fórmula cuadrática ajustada x1= -0.0011490756599111666 x2=-10.98687487643596


(b)

Las raíces obtenidas mediante ambas fórmulas muestran resultados muy similares, ya que se puede
observar que difieren en la décima cifra después del punto en el caso de la primera raíz y en la
segunda 15 posiciones después del punto decimal.

PARA X1 Y X2 de (a):
2.1.Redondeando a 4 cifras se tiene:

x1*=92.24 x2*=0.005

2.2.Realizando el cálculo del error absoluto se tiene:

x1 x1* Error absoluto

x1= 92.2446718795731 x1*= 92.24 0.0046718795731

x2= 0.0054203705191013035 x2*=0.005 0.0004203705191013035

2.3.Realizando el cálculo del error relativo con x1 y x1* se tiene:

x1 x1* Error relativo

x1= 92.2446718795731 x1*= 92.24 5.0646817182280336e-05

x2= 0.0054203705191013035 x2*=0.005 6.876*10^-5

PARA X1 Y X2 de (b):
2.1.Redondeando a 4 cifras se tiene:

x1*=0.001 x2*=10.98
2.2. Realizando el cálculo del error absoluto se tiene:

x1 x1* Error absoluto

x1= -0.00114907565991116 x1*=0.001 0.00014907565991116654

x2= -10.986874876435897 x2*=10.9 0.086874876435897

2.3.Realizando el cálculo del error relativo con x1 y x1* se tiene:

x1 x1* Error relativo

x1= -0.00114907565991116 x1*=0.001 6.257 *10^−4

x2= -10.986874876435897 x2*=10.9 6.584 *10^−5

Para el cálculo de las raíces y verificar la efectividad de ambas fórmulas se empleó el siguiente código
en python.
import math Se tienen como datos de entrada los
a=float(input("\nDigite a.....")) coeficientes.
b=float(input("\nDigite b....."))
c=float(input("\nDigite c....."))

def fcuadratica(): Función para calcular las raíces por


x1=(-b+math.sqrt((b**2)-(4*a*c)))/(2*a) fórmula cuadrática.
x2=(-b-math.sqrt((b**2)-(4*a*c)))/(2*a)
return x1,x2

def facuadratica(): Función para calcular las raíces por


xa1=(-2*c)/(b+math.sqrt((b**2)-(4*a*c))) fórmula cuadrática alternativa.
xa2=(-2*c)/(b-math.sqrt((b**2)-(4*a*c)))
return xa1,xa2

def eRela(): Cálculo error relativo er=(xn-xn*)/xn


x_0=float(input("\nDigite (xn)....."))
x_1=float(input("\nDigite (xn*)....."))
er=(abs(x_0-x_1))/abs(x_0)
E=er
return E
def eAbs(): Cálculo de error absoluto.
v=float(input("\nDigite valor aproximado
presente....."))
aprox=float(input("\nDigite valor aproximado
anterior....."))
ea=abs(v-aprox)
return ea

print("\n~~~~~FORMULA CUADRATICA~~~~") Llamada a la función para cálculo de


x1 , x2=fcuadratica() raíces por fórmula cuadrática.
print("\nx1=",x1 )
print("\nx2=",x2 )

print("\n~~~~~FORMULA CUADRATICA AJUSTADA~~~~") Llamada a la función para cálculo de


xa1 , xa2=facuadratica() raíces por fórmula cuadrática ajustada.
print("\nx1=",xa1 )
print("\nx2=",xa2 )

print("\nError absoluto..",eAbs(),"\n") Cálculo error abs y relativo


print("\nError relativo..",eRela(),"\n")

3. Usa el formato de coma flotante de 64 bits para encontrar el equivalente decimal de los siguientes
números en punto flotante de la máquina.

a) 1 10000001010 10010011000...0

𝑠 𝑐−1023
Según la fórmula: (− 1) ∗ 2 ∗ (1 + 𝑓), donde:
S= signo: 1 bit
C= Exponente: 11 bits
f= Mantisa: 52 bits

​ Al sustituir con los valores del problema tenemos:

S= 1
C = (1 ∗ 2¹⁰) + (0 ∗ 2⁹) + (0 ∗ 2⁸) +... + 0 ∗ 2⁴ + 1 ∗ 2³ + 0 ∗ 2² + 1 ∗ 2¹ + (0 ∗ 2⁰)
= (1 ∗ 2¹⁰) + (1 ∗ 2³) + (1 ∗ 2¹)= 1034
−1
(
f= 1 ∗ 2 ) + (1 ∗ 2−4) + (1 ∗ 2−7) + (1 ∗ 2−8) = 0. 57421875
​ Sustituyendo en la fórmula con los valores obtenidos:

1 1034−1023
(− 1 ) ∗ 2 ∗ (1 + 0. 57421875) =− 3224. 0

b) 0 01111111111 01010011000...1

​ Al sustituir con los valores del problema tenemos:

S= 0
C = (0 ∗ 2¹⁰) + (1 ∗ 2⁹) + (1 ∗ 2⁸) +... + 1 ∗ 2⁴ + 1 ∗ 2³ + 1 ∗ 2² + 1 ∗ 2¹ + (1 ∗ 2⁰)
𝐶 = (1 ∗ 2¹⁰) + (1 ∗ 2³) + (1 ∗ 2¹)= 1023

−2
(
f= 1 ∗ 2 ) + (1 ∗ 2−4) + (1 ∗ 2−7) + (1 ∗ 2−8) + (2−52) = 0. 3242187500000002
​ Sustituyendo en la fórmula con los valores obtenidos:

0 1023−1023
(− 1 ) ∗ 2 ∗ (1 + 0. 3242187500000002) = 1. 3242187500000002

4.
𝑥 𝑥
a)Dibuja las gráficas de 𝑦 = 𝑒 − 2; 𝑦 = 𝑐𝑜𝑠 𝑒 − 2 . ( )
−5
b) Usa el método de la bisectriz para encontrar una aproximación con una precisión de 10 para
𝑥 𝑥
(
evaluar en [0.5,1.5] con 𝑒 − 2 = 𝑐𝑜𝑠 𝑒 − 2 . )
Para utilizar el método de la bisectriz, primero debemos encontrar una función que tenga una raíz en
el intervalo [0.5,1.5]. Podemos reorganizar la ecuación dada como:
e^x - 2 - cos(e^x - 2) = 0
Definamos una función f(x) como:
f(x) = e^x - 2 - cos(e^x - 2)
Esta función tiene una raíz en el intervalo [0.5,1.5]. Ahora podemos utilizar el método de la bisectriz
para encontrar una aproximación de la raíz con una precisión de ε = 0.01.
El método de la bisectriz implica los siguientes pasos:
1. Encontrar el punto medio c del intervalo [a, b].
2. Evaluar f(c).
3. Si f(c) es igual a cero o la aproximación es suficientemente precisa, detenerse.
4. Si f(c) tiene el mismo signo que f(a), establecer a = c. De lo contrario, establecer b = c.
5. Repetir los pasos 1-4 hasta que se alcance la precisión deseada.
Empezamos con el intervalo [0.5,1.5]:
a = 0.5 b = 1.5 ε = 0.01
En cada iteración, encontramos el punto medio c del intervalo:
c = (a + b) / 2
Y evaluamos f(c):
f(c) = e^c - 2 - cos(e^c - 2)
Si f(c) es igual a cero o la aproximación es suficientemente precisa (es decir, |f(c)| < ε), detenemos el
algoritmo y regresamos c como nuestra aproximación de la raíz. De lo contrario, actualizamos el
intervalo [a, b] de la siguiente manera:
Si f(c) tiene el mismo signo que f(a), establecemos a = c. De lo contrario, establecemos b = c.
Repetimos los pasos 1-4 hasta que se alcance la precisión deseada.
Aquí está el código Python para implementar el método de la bisectriz:
import math

def f(x):
return math.exp(x) - 2 - math.cos(math.exp(x) - 2)

a = 0.5
b = 1.5
ε = 0.01

while True:
c = (a + b) / 2
if abs(f(c)) < ε:
break
elif f(c) * f(a) > 0:
a=c
else:
b=c

print(f"La aproximación de la raíz es: {c:.5f}")

La salida del programa es:


La aproximación de la raíz es: 1.02264

Por lo tanto, una aproximación de la raíz con una precisión de ε = 0.01 es 1.02264, evaluando en [0.5,
1.5] la función e^x -2 = cos(e^x -2).

5.

En este problema se plantea encontrar la altura h de profundidad a la que está la superficie del
líquido. Para esto, se proporcionan los siguientes parámetros:

● L (longitud del canal) = 10 ft


● r (radio del semicírculo) = 1 ft
● V (volumen de agua en el canal) = 12.4 ft^3
● h (altura de profundidad a la que se encuentra la superficie de agua)

● Sustituyendo los datos en la ecuación se tiene :


2 1/2
12. 4 = 10 [ 0. 5𝑝𝑖− 𝑎𝑟𝑐𝑠𝑖𝑛(𝑥) − 𝑥(1 − 𝑥 ) ]
● El parámetro de interés es h=x, pero despejarlo es complicado, entonces se resta a ambos
lados de la ecuación V.
2 1/2
0 = 10 [ 0. 5𝑝𝑖− 𝑎𝑟𝑐𝑠𝑖𝑛(𝑥) − 𝑥(1 − 𝑥 ) ] − 12. 4

● Para que la ecuación sea igual a cero, se tiene que encontrar el valor de x (h) que verifica esto.
Entonces se tiene la función:
2 1/2
𝑓(𝑥) = 5 𝑝𝑖 − 12. 4− 10𝑎𝑟𝑐𝑠𝑖𝑛(𝑥) − 10𝑥(1 − 𝑥 )

● Se grafica la expresión para ubicar un intervalo que encierre a la raíz.

Graf 1.

Graf 2.
● La función tiene un dominio de (-1,1), como se observa en la gráfica 1. A partir de la gráfica 2,
se establece un primer intervalo con a = 0.152 y b=0.193.

● Ya establecido el intervalo se tiene que el método de la falsa posición puede resultar de


utilidad en este caso, ya que la función tiene una sola raíz y es continua en el intervalo abierto
de -1 a 1.

● El método de la posición falsa consiste en establecer intervalos, con los valores de y en esos
intervalos se tiene una recta que une los puntos y corta la gráfica cerca de la raíz; a partir de
esto se establece el nuevo intervalo cambiando el lim sup o inf del intervalo, para nuevamente
hacer otra aproximación. El ejercicio pide una precisión de 0.01 ft. En la siguiente tabla se
muestra el código empleado:

import numpy as np Se establece la función de interés.

def f(x):
return 5*np.pi-12.4-(10*(np.arcsin(x)))-10*x*(np.sqrt(1-x))

a=eval(input("Lim izq (a) :")) Los parámetros de entrada son:


b=eval(input("Lim der (b):")) a (límite inferior)
tol=eval(input("Tolerancia :")) b (límite superior)
tol (tolerancia de error)

t=abs(b-a)
Para t se tiene la distancia de
intervalo (incremento).

while not(t<=tol): Con un while se evalúan los


fa=f(a) valores del intervalo en la función,
fb=f(b) con estos se aplica la fórmula de
h=(b-fb*(a-b))/(fa-fb) la falsa posición. En el if se evalúa
fh=f(h) la raíz obtenida y la aproximación.
cuando la aproximación es mayor
i=fa*fh a 0 se calcula t.
if i>0: De lo contrario se establece que la
t=abs(h-a) raíz encontrada es h.
a=h
else:
t=abs(b-h)
b=h

Se tiene que la raíz es aproximadamente 0.176814388744621642.


Método de bisección.
import numpy as np

def f(x):
return 5*np.pi-12.4-(10*(np.arcsin(x)))-10*x*(np.sqrt(1-x))
a=eval(input("Lim izq (a) :"))
b=eval(input("Lim der (b):"))
tol=eval(input("Tolerancia :"))
n=0
if (f(a)*f(b) >= 0):
print("Seleccione otro intervalo")
else:
print("iteración","raíz")
while(abs(b-a)>=tol):
p=(a+b)*0.5
prod=f(a)*f(p)
if (prod > 0):
a=p
n+=1
else:
b=p
n+=1
print(n,p)
print("Raiz",p)

Contrastando con el método de bisección se tiene una raíz aproximada de 0.1765.

Entonces se comparando estos resultados se tiene que difieren en menos de 0.01 ft. Sustituyendo X
(raíz aproximada) se verifica que aproximadamente es cero. f(x)=0.000012000026.

6.
Use manipulaciones algebraicas para mostrar que cada función tiene un punto fijo en P precisamente
4 2
cuando 𝑓(𝑝) = 0 donde 𝑓(𝑥) = 𝑥 + 2𝑥 − 𝑥 − 3
2 1∕4
(
a) 𝑔1(𝑥) = 3 + 𝑥 − 2𝑥 )
𝑥 = 𝑔1(𝑥)

2 1∕4
(
𝑔1(𝑥) = 3 + 𝑥 − 2𝑥 )
2 1∕4
(
𝑥 = 3 + 𝑥 − 2𝑥 )
4 2
𝑥 = 3 + 𝑥 − 2𝑥
4 2
𝑥 + 2𝑥 − 𝑥 − 3 = 0
1

( )
4 2
𝑥+3−𝑥
b) 𝑔2(𝑥) = 2

𝑥 = 𝑔2(𝑥)
1

( )
4 2
𝑥+3−𝑥
𝑔2(𝑥) = 2

( )
4 2
𝑥+3−𝑥
𝑥= 2

4
2 𝑥+3−𝑥
𝑥 = 2

4 2
𝑥 + 2𝑥 − 𝑥 − 3 = 0
1

( )
2
𝑥+3
c) 𝑔3(𝑥) = 2
𝑥 +2

𝑥 = 𝑔3(𝑥)
1

( )
2
𝑥+3
𝑔3(𝑥) = 2
𝑥 +2
1

𝑥 =( )
2
𝑥+3
2
𝑥 +2

2 𝑥+3
𝑥 = 2
𝑥 +2

4 2
𝑥 + 2𝑥 − 𝑥 − 3 = 0
4 2
3𝑥 +2𝑥 +3
d) 𝑔4(𝑥) = 3
4𝑥 +4𝑥−1

𝑥 = 𝑔4(𝑥)

4 2
3𝑥 +2𝑥 +3
𝑔4(𝑥) = 3
4𝑥 +4𝑥−1

4 2
3𝑥 +2𝑥 +3
𝑥= 3
4𝑥 +4𝑥−1

4 2
𝑥 + 2𝑥 − 𝑥 − 3 = 0
Todas las respuestas entran en un punto fijo.

7.
1
𝑔´(𝑥) = 4
cos 𝑐𝑜𝑠 𝑥 /2

g es continuo y existe en el intervalo [0, 2𝜋]


. De igual forma es 0 cuando 𝑥 = 𝜋
1
𝑔(0) = 𝑔(2𝜋) = 𝜋 ≤ 𝑔(𝑥) = ≤𝑔(𝜋) = 𝜋 + 2

1
y |𝑔´(𝑥)| ≤ 4

para 0≤𝑥≤2𝜋
.
El teorema de unique fixed point nos dice que p existe en [0, 2𝜋]
1
. Con 𝑘 = 4

y 𝑝0  =  𝜋

𝑝 1
1 = 𝜋+ 2

| |
Segun el corolario 2.5 𝑝𝑛 − 𝑝 ≤ 𝑘𝑛1 − 𝑘 𝑝1 − 𝑝0 = | |
𝑛
𝑘𝑛
1−𝑘 |𝑝1 − 𝑝0|  =   23  ( 14 )
Con 𝑛≥4 
𝑝3 = 3. 626996

Y tiene una exactitud de 0.01.

8.
Para 𝑝0 =− 1

y 𝑝1 = 0

, obtenemos que 𝑝17 =− 0. 04065850

Y para 𝑝0 = 0
y 𝑝1 = 1

obtenemos 𝑝9=0.9623984

Para 𝑝0= −1

y 𝑝1= 0

, obtenemos 𝑝5 =− 0. 04065929

a)
Para 𝑝0 = 0

y 𝑝1 = 1

, obtenemos 𝑝12  =− 0. 04065929

Para 𝑝0 =− 0. 5

obtenemos que 𝑝5 =− 0. 04065929

Y para 𝑝0 = 0. 5

obtenemos que 𝑝21 = 0. 9623989

9.
Segun los datos del problema podemos obtener que r = 1.25cm, luego reescribimos la ecuacion para
obener el volumen del cilindro 𝑣  = 𝑎 · ℎ 
1000
de la siguiente forma: ℎ  =  
(𝜋𝑟2)
Sustituimos r y obtenemos ℎ = 254. 6479089𝑐𝑚 
2
Ahora definimos una funcion para el volumen 𝑉(𝑟, ℎ) = 2𝜋𝑟 + 2𝜋𝑟ℎ
Necesitamos encontrar un intervalo [a,b] tal que B(a) y B(b) tengan signos opuestos. Dado que
queremos minimizar A(r,h), podemos comenzar con un intervalo que contenga el valor de h que da el
valor máximo posible de A(r,h), que ocurre cuando la lata es un cilindro sin material sobrante utilizado
para sellar. En este caso, h = 1000 / (πr^2) = 254.6479089 cm, por lo que podemos elegir un intervalo
que incluya este valor, como [200, 300].
Luego podemos usar el método de la bisectriz para encontrar la raíz de B(h) dentro del intervalo [a,b].
En cada paso, evaluamos B(h) en el punto medio del intervalo y ajustamos el intervalo en función de si
cambia el signo de B(h). Repetimos este proceso hasta obtener un valor de h que minimice A(r,h)
dentro de la tolerancia deseada.
Despues de correr el codigo obtenemos que el material mínimo es 573. 64895𝑐𝑚2 
10.
La suma de dos números es 20. Si a cada número se le suma su raíz cuadrada, el producto de las 2
−4
sumas es 155.5. Determine los 2 números con una precisión de 10 .

Sean X y Y dos números que pertenecen a los reales. Tenemos el siguiente sistema de ecuaciones:

𝑥 + 𝑦 = 20
(𝑥 + √𝑥)(𝑦 + √𝑦) = 155. 5

​ Método de sustitución

𝑥 + 𝑦 = 20 → 𝑦 = 20 − 𝑥 Podemos sustituir esta expresión en la segunda


ecuación y simplificar:

(𝑥 + √𝑥)(20 − 𝑥 + √(20 − 𝑥)) = 155. 5

2
20𝑥 + (√(20 − 𝑥) − 𝑥√(20 − 𝑥)) + 𝑥√𝑥 − 𝑥 = 155. 5

​ Despejando la ecuación anterior, tenemos:

2 2
𝑥 − (20 + √(20 − 𝑥))𝑥 + (√(20 − 𝑥)) + 155. 5 − 20𝑥 = 0

​ Utilizando el método de la bisectriz, definimos una función f(x) que devuelve el lado izquierdo
de la ecuación anterior y encontramos dos valores a y b que encierran la solución:

2 2
𝑓(𝑥) = 𝑥 − (20 + √(20 − 𝑥))𝑥 + (√(20 − 𝑥)) + 155. 5 − 20𝑥

𝑓(𝑎) = 𝑓(0) ≈ 135. 5 , 𝑓(𝑏) = 𝑓(16) ≈− 9. 9

Como f(a) y f(b) tienen signos opuestos, sabemos que hay al menos una solución en el intervalo [a, b].
Podemos encontrar la solución utilizando el método de la bisectriz, que consiste en dividir el intervalo
a la mitad y evaluar la función en el punto medio. Dependiendo del signo del resultado, podemos
determinar en qué mitad del intervalo se encuentra la solución. Repitiendo este proceso varias veces,
podemos encontrar la solución con la precisión deseada.
Aplicando este método, encontramos que x ≈ 6.5904. Sustituyendo este valor en la primera ecuación,
podemos encontrar el valor de y:
y ≈ 13.4096
Por lo tanto, los dos números son aproximadamente 6.5904 y 13.4096.
REFERENCIAS.
Steve C. Chapra, Raymond P. Canales.. (2006). Métodos numéricos para ingenieros. México: McGRAW-
HILL/INTERAMERICANA EDITORES, S.A. DE C.V.

También podría gustarte