metodos numericos
DESCRIPTION
tareaTRANSCRIPT
UNIVERSIDAD POLITÉCNICA DE TULANCINGO
“MÉTODOS NUMÉRICOS”
EVIDENCIA DE APRENDIZAJE
UNIDAD DE APRENDIZAJE: INTEGRACIÓN Y DIFERENCIACIÓN NUMÉRICA,
MÉTODOS NUMÉRICOS PARA LA SOLUCIÓN DE ECUACIONES DIFERENECIALES
NOMBRE DEL ALUMNO:Ezequiel Pastor Mendoza GRUPO:______H551____
FECHA DE ENTREGA: 19-04-16
Instrucciones: Resuelve los siguientes ejercicios y realice la comprobación de los resultados
usando los algoritmos desarrollados en Matlab
1. Calcule las aproximaciones por diferencias hacia delante y hacia atrás y aproximaciones por
diferencia central para la primera derivada de y = cos x, en x = p/4, con el uso de un valor de h
= p/12. Estime el error absoluto.
2. Repita el problema 23.1, pero para y = log x evaluada en x= 25 con h = 2.
3. Use aproximaciones por diferencias centradas para estimar las derivadas primera y segunda
de y = ex en x = 2 para h = 0.1.
4. Calcule las aproximaciones por diferencia central de primer orden para cada una de las
funciones siguientes en la ubicación y con el tamaño de paso que se especifica:
UNIVERSIDAD POLITÉCNICA DE TULANCINGO
“MÉTODOS NUMÉRICOS”
EVIDENCIA DE APRENDIZAJE
UNIDAD DE APRENDIZAJE: INTEGRACIÓN Y DIFERENCIACIÓN NUMÉRICA,
MÉTODOS NUMÉRICOS PARA LA SOLUCIÓN DE ECUACIONES DIFERENECIALES
NOMBRE DEL ALUMNO:Ezequiel Pastor Mendoza GRUPO:______H551____
FECHA DE ENTREGA: 19-04-16
5. Usar las formulas cerradas Newton-Cotes (regla del trapecio, regla del trapecio de aplicación
múltiple, regla de Simpson 1/3, regla de Simpson 3/8 de aplicación múltiple) para evaluar las
siguientes integrales con n = 4 y h=0.1.
Compare sus resultados con las soluciones analíticas.
6. Usando el método de Euler mejorado y RK4 obtener la solución de las siguientes ecuaciones
diferenciales, considere h=0.1, en el intervalo de x=0 a 1. Además realice una gráfica en Matlab
donde se observe la solución exacta y aproximada.
Compare sus resultados con las soluciones analíticas
EJERCICIO 1
(Hacia delante)
𝐹′(𝑥) = −𝐅(𝐗𝐢 + 𝟐) + 𝟒𝐅(𝐗𝐢 + 𝟏) − 𝟑𝐅(𝐗𝐢)
2ℎ
𝑥𝑖 =𝜋
4 = 0.7071
𝑥𝑖 + 1 =𝜋
3 = 0.5
𝑥𝑖 + 2 =5𝜋
12 = 0.2588
𝐹′(𝑥) = −(𝟎. 𝟐𝟓𝟖𝟖) + 𝟒(𝟎. 𝟓) − 𝟑(𝟎. 𝟕𝟎𝟕𝟏)
2(𝜋
12)
𝐹′(𝑥) = −0.7260
(Hacia atrás)
𝐹′(𝑥) = 𝟑𝐅(𝐗𝐢) − 𝟒𝐅(𝐗𝐢 − 𝟏) + 𝐅(𝐗𝐢 − 𝟐)
2ℎ
Xi = 𝜋
4 = 0.7071
Xi-1 = 𝜋
6 = 0.8660
Xi-2 = 𝜋
12 = 0.9659
𝐹′(𝑥) = 𝟑(𝟎. 𝟕𝟎𝟕𝟏) − 𝟒(𝟎. 𝟖𝟔𝟔𝟎) + (𝟎. 𝟗𝟔𝟓𝟗)
2(𝜋
12)
𝐹′(𝑥) = −0.7201
(En medio)
𝐹′(𝑥) = −𝐅(𝐗𝐢 + 𝟐) + 𝟖𝐅(𝐗𝐢 + 𝟏) − 𝟖𝐅(𝐗𝐢 − 𝟏) + 𝐅(𝐗𝐢 − 𝟐)
12ℎ
𝑥𝑖 + 1 =𝜋
3 = 0.5
𝑥𝑖 + 2 =5𝜋
12 = 0.2588 𝐹′(𝑥) = 𝑥 =
−0.2588+8(0.5)−8(0.8660)+0.9659
π
Xi-1 = 𝜋
6 = 0.8660
Xi-2 = 𝜋
12 = 0.9659 𝐹′(𝑥) = −0.7069
Ejercicio 2
Repita el problema 23.1, pero para y = log x evaluada en x= 25 con h = 2.
𝑦 = 𝑙𝑜𝑔𝑥 𝑥 = 25 ℎ = 2
Hacia delante:
𝑓′(𝑥𝑖)= −𝑓(𝑥𝑖+2) + 4𝑓(𝑥𝑖+1) − 3𝑓(𝑥𝑖)
2ℎ
ℎ = 2
𝑥𝑖 = 25
𝑥𝑖+1 = 𝑥𝑖 + ℎ = 27
𝑥𝑖+2 = 29
𝑓(𝑥𝑖+2) = 29 = log(29) = 1.46
𝑓(𝑥𝑖+1) = 27 = log(27) = 1.43
𝑓(𝑥𝑖) = 25 = log(25) = 1.39
=−1.46 + 4(1.43) − 3(1.39)
2(2)
= 0.0225
Hacia atrás:
𝑓′(𝑥𝑖) =3𝑓(𝑥𝑖) − 4𝑓(𝑥𝑖−1) + 𝑓(𝑥𝑖−2)
2ℎ
𝑥𝑖 = 25
𝑥𝑖−1 = 𝑥𝑖 − ℎ = 23
𝑥𝑖−2 = 𝑥𝑖 − 2ℎ = 21
𝑓(𝑥𝑖) = 1.39
𝑓(𝑥𝑖−1) = log(23) = 1.36
𝑓(𝑥𝑖−2) = log(21) = 1.32
𝑓(𝑥𝑖) = 1.39
=3(1.39) − 4(1.36) + 1.32
2(2)
= 0.0125
Centrada:
𝑓′(𝑥𝑖) =−𝑓(𝑥𝑖+2) + 8𝑓(𝑥𝑖+1) − 8𝑓(𝑥𝑖−1) + 𝑓(𝑥𝑖−2)
12ℎ
𝑥𝑖 = 25
𝑥𝑖−2 = 𝑥𝑖 − 2ℎ = 21
𝑥𝑖−1 = 𝑥𝑖 − ℎ = 23
𝑥𝑖+1 = 𝑥𝑖 + ℎ = 27
𝑥𝑖+2 = 29
𝑓(𝑥𝑖+2) = log(29) = 1.46
𝑓(𝑥𝑖+1) = log(27) = 1.43
𝑓(𝑥𝑖−1) = log(23) = 1.36
𝑓(𝑥𝑖−2) = log(21) = 1.32
=−1.46 + 8(1.43) − 8(1.36) + 1.32
12(2)
=0.42
24= 0.0175
n=1:18; h=10.^(-n); a=1; x=a+h; valorfn=exp(x); numerador=valorfn-exp(a); Dn=numerador./h; format long disp([' Incremento Numerador Aproximación']) disp([h' numerador' Dn']) t=[0 0.02 0.04 0.06 0.08 0.1]; q=[100 81.87 67.03 54.88 44.93 36.76]; plot(t,q) %Posición de instante a estudiar en el vector t num=3; num1=num+1; num2=num-1; %Diferencia progresiva disp('Diferencia progresiva') difProgresiva=(q(num1)-q(num))/(t(num1)-t(num)) disp('Diferencia regresiva') difRegresiva=(q(num)-q(num2))/(t(num)-t(num2)) disp('Diferencia central') difCentral=(q(num1)-q(num2))/(t(num1)-t(num2)) %Calculo de Q'(t) syms x derivada=subs(diff(exp(4.6053-10.055*x)),t(num)) %Ajuste a una función exponencial coeficientes=polyfit(t,log(q),1) %coeficientes es un vector con los coeficientes de la recta %Si coeficientes=(m n) entonces la recta es log(q)=m*t+n
ye=exp(coeficientes(1)*t+coeficientes(2)); plot(t,ye,'g') %Comparación diferencias=[difProgresiva difRegresiva difCentral]; porcentaje=abs((diferencias-derivada)/derivada)*100; disp('-------------------------------------') disp('Comparación') titulos=['Progresiva Regresiva Central'] disp([ diferencias ; porcentaje])
Ejercicio 3
Use aproximaciones por diferencias centradas para estimar las derivadas primera y segunda de
𝑦 = 𝑒𝑥 𝑒𝑛 𝑥 = 2 𝑝𝑎𝑟𝑎 ℎ = 0.1
ℎ = 0.1 𝑓(𝑋𝑖 + 1) = 𝑒(2.1) = 8.1661
Xi=2 𝑓(𝑋𝑖 + 2) = 𝑒(2.2) = 9.0250
Xi+1=2.1 𝑓(𝑋𝑖) = 𝑒(2) = 7.3890
Xi-1=1.9 𝑓(𝑋𝑖 − 1) = 𝑒(1.9) = 6.6858
Xi+2=2.2 𝑓(𝑋𝑖 − 2) = 𝑒(1.8) = 6.0496
Xi-2=1.8
Primera derivada
𝑓′(𝑋𝑖) =−9.1250 + 8(8.1661) − 8(6.6858) + 6.0496
12(0.1)
𝑓´(𝑋𝑖) =−9.0250 + 65.3288 − 53.4864 + 6.0496
1.2
𝑓´(𝑋𝑖) =8.867
1.2= 𝟕. 𝟑𝟖𝟗𝟏 𝑒𝑟𝑟𝑜𝑟 = 𝑒(0.1) = 1.1051
Segunda derivada
𝑓´´(𝑋𝑖) =−9.0250 + 16(8.1661) − 30(7.3890) + 16(6.6858) − 6.0496
12(0.1)2
𝑓′′(𝑋𝑖) =−9.0250 + 130.6576 − 221.67 + 106.9728 − 6.0496
12(0.01)
𝑓′′(𝑋𝑖) =0.8858
0.12= 𝟕. 𝟑𝟖𝟏𝟔𝟔𝟔
Ejercicio 4
Calcular las aproximaciones por diferencia central de primer orden.
A) 𝒚 = 𝒙𝟑 + 𝟒𝒙 − 𝟏𝟓 𝒙 = 𝟎 𝒚 𝒉 = 𝟎. 𝟐𝟓
Xi+1 = 0+0.25 = 0.25, Xi+2 = 0.25 + 0.25 = 0.5, Xi-1 = -0.25, Xi-2 = -0.5.
𝒇(𝒙𝒊 + 𝟏) = (𝟎. 𝟓)𝟑 + 𝟒(𝟎. 𝟓) − 𝟏𝟓 = . 𝟏𝟑. 𝟗𝟒
𝒇(𝒙𝒊 + 𝟐) = (−𝟎. 𝟓)𝟑 + 𝟒(−𝟎. 𝟓) − 𝟏𝟓 = −𝟏𝟐. 𝟖𝟕
𝒇(𝒙𝒊 − 𝟏) = (−𝟎. 𝟐𝟓)𝟑 + 𝟒(−𝟎. 𝟐𝟓) − 𝟏𝟓 = −𝟏𝟒 − 𝟎. 𝟏
𝒇(𝒙𝒊 − 𝟐) = (−𝟎. 𝟓)𝟑 + 𝟒(−𝟎. 𝟓) − 𝟏𝟓 = −𝟏𝟕. 𝟏𝟐
𝒇′(𝒙𝒊) =−𝒇(−𝟏𝟐. 𝟖𝟕) + 𝟖𝒇(−𝟏𝟑. 𝟗𝟒) − 𝟖𝒇(−𝟏𝟒. 𝟎𝟏) − 𝟏𝟕. 𝟏𝟐
𝟏𝟐(𝟎. 𝟐𝟓)= −𝟏𝟖. 𝟎𝟏
B) 𝒚 = 𝒙𝟐 + 𝒄𝒐𝒔𝒙 𝒙 = 𝟎 𝒚 𝒉 = 𝟎. 𝟏
(𝒙𝒊 + 𝟏) = 𝟎. 𝟒 + 𝟎. 𝟏 = 𝟎. 𝟓, (𝒙𝒊 + 𝟐) = 𝟎. 𝟓 + 𝟎. 𝟏 = 𝟎. 𝟔,
(𝒙𝒊 − 𝟏) = 𝟎. 𝟒 − 𝟎. = 𝟎. 𝟑, 𝒙𝒊 − 𝟐 = 𝟎. 𝟑 − 𝟎. 𝟏 = 𝟎. 𝟐
𝒇(𝒙𝒊 + 𝟏) = (𝟎. 𝟓)𝟐 + 𝒄𝒐𝒔(𝟎. 𝟓) = 𝟏. 𝟐𝟒
𝒇(𝒙𝒊 + 𝟐) = (𝟎. 𝟔)𝟐 + 𝒄𝒐𝒔(𝟎. 𝟔) = 1.35
𝒇(𝒙𝒊 − 𝟏) = (𝟎. 𝟑)𝟐 + 𝒄𝒐𝒔(𝟎. 𝟑) = 𝟏. 𝟎𝟖𝟗
𝒇(𝒙𝒊 − 𝟐) = (𝟎. 𝟐)𝟐 + 𝒄𝒐𝒔(𝟎. 𝟐) = 𝟏. 𝟎𝟑
𝒇′(𝒙) =−𝒇(𝟏. 𝟑𝟓) + 𝟖𝒇(𝟏. 𝟐𝟒) − 𝟖(𝟏. 𝟎𝟖) + 𝒇(𝟏. 𝟎𝟑)
𝟏𝟐(𝟎. 𝟏)= 𝟎. 𝟕𝟖
C) 𝒚 = 𝐭𝐚𝐧 (𝐱
𝟑) 𝒙 = 𝟑 𝒚 𝒉 = 𝟎. 𝟓
𝒙𝒊 = 𝟑, (𝒙𝒊 + 𝟏) = 𝟑 + 𝟎. 𝟓 = 𝟑. 𝟓, (𝒙𝒊 + 𝟐) = 𝟑. 𝟓 + 𝟎. 𝟓 = 𝟒, ( 𝒙𝒊 − 𝟏) = 𝟑 −
𝟎. 𝟓 = 𝟐. 𝟓, (𝒙𝒊 − 𝟐) = 𝟐. 𝟓 − 𝟎. 𝟓 = 𝟐
𝒇(𝒙𝒊) = 𝒕𝒂𝒏 (𝟑
𝟑) = 𝟎. 𝟎𝟏𝟕
𝒇(𝒙𝒊 + 𝟏) = 𝒕𝒂𝒏 (𝟑.𝟓
𝟑) = 𝟎. 𝟎𝟐𝟎
𝒇(𝒙𝒊 + 𝟐) = 𝒕𝒂𝒏 (𝟒
𝟒) = 𝟎. 𝟐𝟑
𝒇(𝒙𝒊 − 𝟏) = 𝒕𝒂𝒏 (𝟐.𝟓
𝟑) = 𝟎. 𝟎𝟏𝟒
𝒇(𝒙𝒊 − 𝟐) = 𝒕𝒂𝒏 (𝟐
𝟑) = 𝟎. 𝟎𝟏𝟏
𝒇′(𝒙) = −𝒇(𝟎. 𝟎𝟐𝟑) + 𝟖𝒇(𝟎. 𝟎𝟐𝟎) − 𝟖𝒇(𝟎. 𝟎𝟏𝟒) + 𝒇(𝟎. 𝟎𝟏𝟏)
𝟏𝟐(𝟎. 𝟓)= 𝟎. 𝟎𝟐𝟔
D) 𝒚 = 𝒔𝒊𝒏(𝟎.𝟓√𝐱)
𝐱 𝒙 = 𝟏 𝒚 𝒉 = 𝟎. 𝟐
𝒙𝒊 = 𝟏, ( 𝒙𝒊 + 𝟏) = 𝟏 + 𝟎. 𝟐 = 𝟏. 𝟎𝟐, (𝒙𝒊 + 𝟐) = 𝟏. 𝟐 + 𝟎. 𝟐 = 𝟏. 𝟒,
(𝒙𝒊 − 𝟏) = 𝟏 − 𝟏. 𝟎𝟐 = 𝟎. 𝟖, (𝒙𝒊 − 𝟐) = 𝟎. 𝟖 − 𝟎. 𝟐 = 𝟎. 𝟔
𝒇(𝒙𝒊 + 𝟏) = 𝒔𝒆𝒏 𝟎. 𝟓 ∗ √𝟏. 𝟐
𝟏. 𝟐= 𝟎. 𝟎𝟎𝟕𝟗
𝒇(𝒙𝒊 + 𝟐) = 𝒔𝒆𝒏𝟎. 𝟓 ∗ √𝟏. 𝟒
𝟏. 𝟒= 𝟎. 𝟎𝟎𝟕𝟑
𝒇(𝒙𝒊 − 𝟏) = 𝒔𝒆𝒏𝟎. 𝟓 ∗ √𝟎. 𝟖
𝟎. 𝟖= 𝟎. 𝟎𝟎𝟗𝟕
𝒇(𝒙𝒊 − 𝟐) = 𝒔𝒆𝒏𝟎. 𝟓 ∗ √𝟎. 𝟔
𝟎. 𝟔 = 𝟎. 𝟎𝟏𝟏
𝒇′(𝒙𝒊) =−𝒇(𝟎. 𝟎𝟎𝟕𝟑) + 𝟖𝒇(𝟎. 𝟎𝟎𝟕𝟗) − 𝟖𝒇(𝟎. 𝟎𝟎𝟗𝟕) + 𝒇(𝟎. 𝟎𝟏𝟏)
𝟏𝟐(𝟎. 𝟐)= −𝟎. 𝟎𝟎𝟐𝟓
E) 𝒚 = 𝒆𝒙 + 𝒙 𝒙 = 𝟐 𝒚 𝒉 = 𝟎. 𝟐
𝒙𝒊 = 𝟐, (𝒙𝒊 + 𝟏) = 𝟐 + 𝟎. 𝟐 = 𝟐. 𝟐, (𝒙𝒊 + 𝟐) = 𝟐. 𝟐 + 𝟎. 𝟐 = 𝟐. 𝟒
(𝒙𝒊 − 𝟏) = 𝟐 − 𝟎. 𝟐 = 𝟏. 𝟖, (𝒙𝒊 − 𝟐) = 𝟏. 𝟖 − 𝟎. 𝟐 = 𝟏. 𝟔
𝒇(𝒙𝒊 + 𝟏) = 𝒆𝟐. 𝟐 + 𝟐. 𝟐 = 𝟏𝟏. 𝟐𝟐
𝒇(𝒙𝒊 + 𝟐) = 𝒆𝟐.𝟐 + 𝟐. 𝟒 = 𝟏𝟑. 𝟒𝟐
𝒇(𝒙𝒊 − 𝟐) = 𝒆𝟏.𝟖 + 𝟏. 𝟖 = 𝟕. 𝟖𝟒
𝒇(𝒙𝒊 − 𝟏) = 𝒆𝟏.𝟔 + 𝟏. 𝟔 = 𝟔. 𝟓𝟓
𝒇(𝒙𝒊 + 𝟐) =−𝒇(𝟏𝟑. 𝟒𝟐) + 𝟖𝒇(𝟏𝟏. 𝟐𝟐) − 𝟖𝒇(𝟕. 𝟖𝟒) + 𝟔. 𝟓𝟓
𝟏𝟐(𝟎. 𝟐)= 𝟏𝟔. 𝟑𝟒
Código en Matlab.
clc; clear all; fprintf('Programa para efectuar la derivacion de un set de datos\n\n'); fprintf('El programa le brindará la 1ª,2ª,3ª y 4ª derivada\n\n');
fprintf('Ingrese datos de variable independiente:\n');
fprintf('(RECUERDE QUE ESTOS DATOS DEBEN SER REGULARMENTE ESPACIADOS\n');
x=input('Ej.[0 1 2 3 4 5 6 7 8 9 10])');
n=length(x);
e=0;
for i=1:n-3%este bucle verificará que el tamaño de paso sea el mismo
if (x(1,i+1)-x(1,i))~=(x(1,i+2)-x(1,i+1))
e=e+1;
break;
end
end if e>0,error ('Los datos deben ser igualmente espaciados');end
fprintf('Ingrese datos de la variable dependiente: \n');
y=input('(Ej.[1.4 2.1 3.3 4.8 6.8 6.6 8.6 7.5 8.9 10.9 10])');
h=x(1,2)-x(1,1);
n=length(x);
pridrv=zeros(1,n); %Desde el segundo dato hasta el penúltimo, Direncias finitas centradas
for i=2:n-1
pridrv(1,i)=(y(1,i+1)-y(1,i-1))/(2.*h);
end %Ahora Desarrollaremos la segunda derivada
segdrv=zeros(1,n);
if n<3
fprintf('No se puede calcular la segunda derivada con solo 2 datos\n');
else
segdrv(1,1)=(y(1,3)-2.*y(1,2)+y(1,1))/h.^2;
for i=2:n-1
segdrv(1,i)=(y(1,i+1)-2.*y(1,i)+y(1,i-1))/h.^2;
end
segdrv(1,n)=(y(1,n)-2.*y(1,n-1)+y(1,n-2))/h.^2;
fprintf('Las segundas derivadas para los datos ingresados son,
respectivamente: \n');
disp(segdrv);
end
%Tercera derivada:
if n<5
if n<4
fprintf('No se puede hallar la tercera derivada con menos de 4 datos\n');
else
fprintf('Con cuatro datos solo podemos hallar terceras derivadas en los
extremos');
fprintf('\n');
exterdrv=zeros(1,2);
exterdrv(1,1)=(y(1,4)-3.*y(1,3)+3.*y(1,2)-y(1,1))/h.^3;
exterdrv(1,2)=(y(1,n)-3.*y(1,n-1)+3.*y(1,n-2)-y(1,n-3))/h.^3;
fprintf('Estas son: ');
disp(exterdrv);
end
else
terdrv=zeros(1,n);
terdrv(1,1)=(y(1,4)-3.*y(1,3)+3.*y(1,2)-y(1,1))/h.^3;
terdrv(1,2)=(y(1,5)-3.*y(1,4)+3.*y(1,3)-y(1,2))/h.^3;
for i=3:n-2
terdrv(1,i)=(y(1,i+2)-2.*y(1,i+1)+2.*y(1,i-1)-y(1,i-2))/(2*h.^3);
end
terdrv(1,n-1)=(y(1,n-1)-3.*y(1,n-2)+3.*y(1,n-3)-y(1,n-4))/h.^3;
terdrv(1,n)=(y(1,n)-3.*y(1,n-1)+3.*y(1,n-2)-y(1,n-3))/h.^3;
fprintf('Las terceras derivadas para los datos ingresados son,
respectivamente: \n');
disp(terdrv);
end
%Cuarta derivada
if n<6
if n<5
fprintf('No se puede hallar la cuarta derivada con menos de 5 datos\n');
else
fprintf('Con cinco datos solo podemos hallar cuartas derivadas en los
extremos\n');
excuadrv(1,1)=(y(1,5)-4.*y(1,4)+6.*y(1,3)-4.*y(1,2)+y(1))/h.^4;
excuadrv(1,2)=(y(1,n)-4.*y(1,n-1)+6.*y(1,n-2)-4.*y(1,n-3)+y(n-4))/h.^4;
fprintf('Estas son:');
disp(excuadrv);
end
else
cuadrv=zeros(1,n);
cuadrv(1,1)=(y(1,5)-4.*y(1,4)+6.*y(1,3)-4.*y(1,2)+y(1))/h.^4;
cuadrv(1,2)=(y(1,6)-4.*y(1,5)+6.*y(1,4)-4.*y(1,3)+y(2))/h.^4;
for i=3:n-2
cuadrv(1,i)=(y(1,i+2)-4.*y(1,i+1)+6.*y(1,i)-4.*y(1,i-1)+y(1,i-2))/h.^4;
end
cuadrv(1,n)=(y(1,n)-4.*y(1,n-1)+6.*y(1,n-2)-4.*y(1,n-3)+y(n-4))/h.^4;
cuadrv(1,n-1)=(y(1,n-1)-4.*y(1,n-2)+6.*y(1,n-3)-4.*y(1,n-4)+y(n-5))/h.^4;
fprintf('Las cuartas derivadas para los datos ingresados son,
respectivamente: \n');
disp(cuadrv);
end
Ejercicio 5
1) f(x)=1-e^-2x = (x+(1/2)e^-2x) evaluado 4,0 =3.000167731
METODO DEL TRAPECIO
a=0 b=4
f(x)=1-e^-2x
f(x)=(b-a)(f(a)+f(b))
2
f(x)=(4-0)(0+0.99966) = 4(0.49983) =1.999
2
METODO DEL TRAPECIO APLICACIÓN MULTIPLE
f(x)=1-e^-2x
a=0 b=4 n=4 h=0.1
I=(b-a)(f(xo)+2 ∑(f(x1)+f(x2)+f(x3))+f(xn)
2n
x0=0 f(xo)=0
x1=0.1 f(x1)=1.1812
x2=0.2 f(x2)=0.3296
x3=0.3 f(x3)=0.4511
x4=0.4 f(x4)=0.5506
I=(4-0)(0+2 ∑(1.1812+0.3296+0.4511)+0.5506
2n
I=4(4.4744) =2.2372
8
METODO DE SIMPSON 1/3
f(x)=1-e^-2x
xo=0 x1=2 x2=4
I=(b-a)(f(xo)+4 f(x1)+f(x2)
6
I=(4-0)(0+4(0.9816)+0.9996 = 3.284
6
METODO DE SIMPSON 3/8 APLICACIÓN MULTIPLE
f(x)=1-e^-2x n=4
xo=0 x1=1 x2=2 x3=3 x4=4
I=(b-a)(f(xo)+4∑ (f(x1)+f(x2)+f(x3))+f(x4)
3n
I=(4-0)(0+4∑ (0.8646+0.9816+0.9975)+0.9996 =4.1248
12
2) f(x)=6+3cos x =6x+sen x evaluado de pi medios a 0= 12.4987
METODO DEL TRAPECIO
a=0 b=1.5708
f(x)=6+3cos x
f(x)=(b-a)(f(a)+f(b))
2
f(x)=(1.5708-0)(9+8.9990) = 1.5798(8.9995) =14.21
2
METODO DEL TRAPECIO APLICACIÓN MULTIPLE
f(x)=6+3cos x
a=0 b=1.5708 n=4 h=0.1
I=(b-a)(f(xo)+2 ∑(f(x1)+f(x2)+f(x3))+f(xn)
2n
x0=0 f(xo)=9
x1=0.1 f(x1)=8.9999
x2=0.2 f(x2)=8.9999
x3=0.3 f(x3)=8.9999
x4=0.4 f(x4)=8.9999
I=(1.5708-0)(9+2 ∑(8.999+8.9999+8.9999)+8.9999
2n
I=1.5708(71.9993) =14.1370
8
METODO DE SIMPSON 1/3
f(x)=6+3cos x
xo=0 x1=0.7854 x2=1.5708
I=(b-a)(f(xo)+4 f(x1)+f(x2)
6
I=(1.5708-0)(9+4(8.9997)+8.9990 = 14.1366
6
METODO DE SIMPSON 3/8 APLICACIÓN MULTIPLE
f(x)=6+3cos x n=4
xo=0 x1=0.3927 x2=0.7854 x3=1.1781 x4=1.5708
I=(b-a)(f(xo)+4∑ (f(x1)+f(x2)+f(x3))+f(x4)
3n
I=(1.5708-0)(9+4∑ (8.9999+8.9997+8.9994)+8.9990 =16.4927
12
3) f(x)=(x+2/x)^2 =((x^2)+(4/x^2)+4)dx=8.33
METODO DEL TRAPECIO
a=1 b=2
f(x)=(x+2/x)^2
f(x)=(b-a)(f(a)+f(b))
2
f(x)=(2-1)(9+9) = 1(9) =9
2
METODO DEL TRAPECIO APLICACIÓN MULTIPLE
f(x)= (x+2/x)^2
a=1 b=2 n=4 h=0.1
I=(b-a)(f(xo)+2 ∑(f(x1)+f(x2)+f(x3))+f(xn)
2n
x0=1 f(xo)=9
x1=1.1 f(x1)=7.9421
x2=1.2 f(x2)=8.2177
x3=1.3 f(x3)=8.0568
x4=1.4 f(x4)=8.0008
I=(2-1)(9+2 ∑(7.9421+8.2177+8.0568)+8.0008
2n
I=1(65.434) =8.1792
8
METODO DE SIMPSON 1/3
f(x)= (x+2/x)^2
xo=1 x1=1.5 x2=2
I=(b-a)(f(xo)+4 f(x1)+f(x2)
6
I=(2-1)(9+4(8.0277)+9 = 8.3518
6
METODO DE SIMPSON 3/8 APLICACIÓN MULTIPLE
f(x)= (x+2/x)^2 n=4
xo=1 x1=1.25 x2=1.5 x3=1.75 x4=2
I=(b-a)(f(xo)+4∑ (f(x1)+f(x2)+f(x3))+f(x4)
3n
I=(2-1)(9+4∑ (8.1225+8.0277+8.3686)+9 =9.6729
12
4) f(x)=(x^2)(e^x) =((x^2)(e^x))-((e^x)2x)=60.24
METODO DEL TRAPECIO
a=0 b=3
f(x)=(x^2)(e^x)
f(x)=(b-a)(f(a)+f(b))
2
f(x)=(3-0)(0+60.25) = 1(30.1283) =90.3849
2
METODO DEL TRAPECIO APLICACIÓN MULTIPLE
f(x)= (x^2 )(e^x)
a=0 b=3 n=4 h=0.1
I=(b-a)(f(xo)+2 ∑(f(x1)+f(x2)+f(x3))+f(xn)
2n
x0=0 f(xo)=0
x1=0.1 f(x1)=0.0110
x2=0.2 f(x2)=0.0488
x3=0.3 f(x3)=0.1214
x4=0.4 f(x4)=0.2386
I=(3-0)(0+2 ∑(0.0110+0.0488+0.1214)+0.2386
2n
I=1(65.434) =0.9753
8
METODO DE SIMPSON 1/3
f(x)= (x^2 )(e^x)
xo=0 x1=1.5 x2=3
I=(b-a)(f(xo)+4 f(x1)+f(x2)
6
I=(3-0)(0+4(10.0838)+60.25 = 50.2926
6
METODO DE SIMPSON 3/8 APLICACIÓN MULTIPLE
f(x)= (x^2 )(e^x) n=4
xo=0 x1=0.75 x2=1.5 x3=2.25 x4=3
I=(b-a)(f(xo)+4∑ (f(x1)+f(x2)+f(x3))+f(x4)
3n
I=(3-0)(0+4∑ (1.1908+10.0838+48.0316)+60.25 =74.3687
12
Ejercicio 6
Usando el método de Euler mejorado y RK4 obtener la solución de las siguientes ecuaciones diferenciales, considere h=0.1, en el intervalo de x=0 a 1. Además realice una gráfica en Matlab donde se observe la solución exacta y aproximada.
a) y’= x, y(0)=1
b) 𝑑𝑦
𝑑𝑥= 𝑦𝑥2 − 1.1𝑦 , y(0)=1
c) 𝑑𝑦
𝑑𝑥= (1 + 2𝑥)√𝑦 , y(0)=1
Método de Euler mejorado
a) y’= x, y(0)=1 𝑋0= 0 𝑌0= 1 h= 0.1
Formula
𝑌𝑛+1 = 𝑌𝑛 +ℎ(𝑓(𝑋𝑛, 𝑌𝑛) + 𝑓(𝑋𝑛+1, 𝑌𝑛+1
∗ ))
2
𝑌𝑛+1∗ = 𝑌𝑛 + ℎ 𝑓(𝑋𝑛, 𝑌𝑛)
𝑋1= 0.1 , 𝑋2= 0.2, 𝑋3= 0.3, 𝑋4= 0.4, 𝑋5= 0.5, 𝑋6= 0.6, 𝑋7= 0.7, 𝑋8= 0.8, 𝑋9= 0.9,
𝑋10=1
y’= x
n=0
𝑌1∗ = 𝑌0 + ℎ 𝑓(𝑋0, 𝑌0) = 𝑌1
∗ = 1 + 0.1 (0) = 𝑌1∗= 1
𝑌1 = 𝑌0 +ℎ(𝑓(𝑋0,𝑌0)+𝑓(𝑋1,𝑌1
∗))
2 = 1 +
0.1(0.1(0)+(0.1))
2 = 1+0.005= 1.005
n=1
𝑌2 = 𝑌1 +ℎ(𝑓(𝑋1,𝑌1)+𝑓(𝑋2,𝑌2
∗))
2 = 1.005 +
0.1(0.1+(0.2))
2 = 1.005+0.015= 1.02
n=2
𝑌3 = 𝑌2 +ℎ(𝑓(𝑋2,𝑌2)+𝑓(𝑋3,𝑌3
∗))
2 = 1.02 +
0.1(0.2+(0.3))
2 = 1.02+0.025= 1.045
n=3
𝑌4 = 𝑌3 +ℎ(𝑓(𝑋3,𝑌3)+𝑓(𝑋4,𝑌4
∗))
2 = 1.045 +
0.1(0.3+(0.4))
2 = 1.08
n=4
𝑌5 = 𝑌4 +ℎ(𝑓(𝑋4,𝑌4)+𝑓(𝑋5,𝑌5
∗))
2 = 1.08 +
0.1(0.4+(0.5))
2 =1.125
n=5
𝑌6 = 𝑌0 +ℎ(𝑓(𝑋5,𝑌5)+𝑓(𝑋6,𝑌6
∗))
2 = 1.125 +
0.1(0.5+(0.6))
2 = 1.18
n=6
𝑌7 = 𝑌6 +ℎ(𝑓(𝑋6,𝑌6)+𝑓(𝑋7,𝑌7
∗))
2 = 1.18 +
0.1(0.6+(0.7))
2 = 1.245
n=7
𝑌8 = 𝑌7 +ℎ(𝑓(𝑋7,𝑌7)+𝑓(𝑋8,𝑌8
∗))
2 = 1.245 +
0.1(0.7+(0.8))
2 = 1.32
n=8
𝑌9 = 𝑌8 +ℎ(𝑓(𝑋8,𝑌8)+𝑓(𝑋9,𝑌9
∗))
2 = 1.32 +
0.1(0.8+(0.9))
2 = 1.405
n=9
𝑌10 = 𝑌9 +ℎ(𝑓(𝑋9,𝑌9)+𝑓(𝑋10,𝑌10
∗ ))
2 = 1.405 +
0.1(0.8+(0.9))
2 = 1.5
Respuesta Exacta y’= x, X=0
𝑑𝑦
𝑑𝑥= 𝑥 Y=1
dy= x dx 1=02
2+ 𝑐
∫ 𝑑𝑦 = ∫ 𝑥 𝑑𝑥 1= 0+ c
Y = 𝑥2
2+ 𝑐 1=c
Y = 𝒙𝟐
𝟐+ 𝟏
X=0.1 𝑌1 = 0.12
2+ 1 = 1.005
X=0.2 𝑌2 = 0.22
2+ 1 = 1.02
X=0.3 𝑌3 = 0.32
2+ 1 = 1.045
X=0.4 𝑌4 = 0.42
2+ 1 = 1.08
X=0.5 𝑌5 = 0.52
2+ 1 = 1.125
X=0.6 𝑌6 = 0.62
2+ 1 = 1.18
X=0.7 𝑌7 = 0.72
2+ 1 = 1.245
X=0.8 𝑌1 = 0.82
2+ 1 = 1.32
X=0.9 𝑌1 = 0.92
2+ 1 = 1.405
X=1 𝑌1 = 12
2+ 1 = 1.5
Método de Runge – Kutta 4
a) y’= x, y(0)=1 𝑋0= 0 𝑌0= 1 h= 0.1
Formula
𝑌𝑛+1 = 𝑌𝑛 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)
𝑘1 = 𝑓(𝑋𝑛, 𝑌𝑛)
𝑘2 = 𝑓 (𝑋𝑛 +1
2ℎ, 𝑌𝑛 +
1
2ℎ𝑘1)
𝑘3 = 𝑓 (𝑋𝑛 +1
2ℎ, 𝑌𝑛 +
1
2ℎ𝑘2)
𝑘4 = 𝑓(𝑋𝑛 + ℎ, 𝑌𝑛 + ℎ𝑘3)
n=0
𝑘1 = 𝑓(𝑋0, 𝑌0) = (0)=0
𝑘2 = 𝑓 (𝑋0 +1
2ℎ, 𝑌0 +
1
2ℎ𝑘1)= (0+1/2(0.1)1)=0.05
𝑘3 = 𝑓 (𝑋0 +1
2ℎ, 𝑌0 +
1
2ℎ𝑘2) =(0+1/2(0.1)1)=0.05
𝑘4 = 𝑓(𝑋0 + ℎ, 𝑌0 + ℎ𝑘3) =(0+0.1)=0.1
𝑌1 = 𝑌0 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1+0.1/6(0+2(0.05)+2(0.05)+0.1)
𝑌1 =1+0.0166(0+0.1+0.1+0.1)= 1.0049
n=1
𝑘1 = 𝑓(𝑋1, 𝑌1) = (0.1)=0.1
𝑘2 = 𝑓 (𝑋1 +1
2ℎ, 𝑌1 +
1
2ℎ𝑘1)= (0.1+1/2(0.1))=0.15
𝑘3 = 𝑓 (𝑋1 +1
2ℎ, 𝑌1 +
1
2ℎ𝑘2) =(0.1+1/2(0.1))=0.15
𝑘4 = 𝑓(𝑋1 + ℎ, 𝑌1 + ℎ𝑘3) =(0.1+0.1)=0.2
𝑌2 = 𝑌1 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.0049+0.1/6(0.1+2(0.15)+2(0.15)+0.2)
𝑌2 =1.0049+0.0166(0+0.3+0.3+0.2)= 1.018 n=2
𝑘1 = 𝑓(𝑋2, 𝑌2) = (0.2)=0.2
𝑘2 = 𝑓 (𝑋2 +1
2ℎ, 𝑌2 +
1
2ℎ𝑘1)= (0.2+1/2(0.1))=0.25
𝑘3 = 𝑓 (𝑋2 +1
2ℎ, 𝑌2 +
1
2ℎ𝑘2) =(0.2+1/2(0.1))=0.25
𝑘4 = 𝑓(𝑋2 + ℎ, 𝑌2 + ℎ𝑘3) =(0.2+0.1)=0.3
𝑌3 = 𝑌3 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.018+0.1/6(0.2+2(0.25)+2(0.25)+0.3)
𝑌3 =1.018+0.0166(0+0.5+0.5+0.3)= 1.04 n=3
𝑘1 = 𝑓(𝑋3, 𝑌3) = (0.3)=0.3
𝑘2 = 𝑓 (𝑋3 +1
2ℎ, 𝑌3 +
1
2ℎ𝑘1)= (0.3+1/2(0.1))=0.35
𝑘3 = 𝑓 (𝑋3 +1
2ℎ, 𝑌3 +
1
2ℎ𝑘2) =(0.3+1/2(0.1))=0.35
𝑘4 = 𝑓(𝑋3 + ℎ, 𝑌3 + ℎ𝑘3) =(0.3+0.1)=0.4
𝑌4 = 𝑌3 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.04+0.1/6(0.3+2(0.35)+2(0.35)+0.4)
𝑌4 =1.04+0.0166(0+0.7+0.7+0.4)= 1.06 n=4
𝑘1 = 𝑓(𝑋4, 𝑌4) = (0.4)=0.4
𝑘2 = 𝑓 (𝑋4 +1
2ℎ, 𝑌4 +
1
2ℎ𝑘1)= (0.4+1/2(0.1))=0.45
𝑘3 = 𝑓 (𝑋4 +1
2ℎ, 𝑌4 +
1
2ℎ𝑘2) =(0.1+1/2(0.1))=0.45
𝑘4 = 𝑓(𝑋4 + ℎ, 𝑌4 + ℎ𝑘3) =(0.4+0.1)=0.5
𝑌5 = 𝑌4 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.06+0.1/6(0.4+2(0.45)+2(0.45)+0.5)
𝑌5 =1.06+0.0166(0+0.9+0.9+0.5)= 1.09 n=5
𝑘1 = 𝑓(𝑋5, 𝑌5) = (0.5)=0.5
𝑘2 = 𝑓 (𝑋5 +1
2ℎ, 𝑌5 +
1
2ℎ𝑘1)= (0.5+1/2(0.1))=0.55
𝑘3 = 𝑓 (𝑋5 +1
2ℎ, 𝑌5 +
1
2ℎ𝑘2) =(0.5+1/2(0.1))=0.55
𝑘4 = 𝑓(𝑋5 + ℎ, 𝑌5 + ℎ𝑘3) =(0.5+0.1)=0.7
𝑌6 = 𝑌5 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.09+0.1/6(0.5+2(0.55)+2(0.55)+0.7)
𝑌6 =1.09+0.0166(0.5+1.1+1.1+0.7)= 1.13 n=6
𝑘1 = 𝑓(𝑋6, 𝑌6) = (0.6)=0.6
𝑘2 = 𝑓 (𝑋6 +1
2ℎ, 𝑌6 +
1
2ℎ𝑘1)= (0.6+1/2(0.1))=0.65
𝑘3 = 𝑓 (𝑋6 +1
2ℎ, 𝑌6 +
1
2ℎ𝑘2) =(0.6+1/2(0.1))=0.65
𝑘4 = 𝑓(𝑋6 + ℎ, 𝑌6 + ℎ𝑘3) =(0.6+0.1)=0.7
𝑌7 = 𝑌1 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.13+0.1/6(0.6+2(0.65)+2(0.65)+0.7)
𝑌7 =1.13+0.0166(0.6+1.3+1.3+0.8)= 1.18 n=7
𝑘1 = 𝑓(𝑋7, 𝑌7) = (0.7)=0.7
𝑘2 = 𝑓 (𝑋7 +1
2ℎ, 𝑌7 +
1
2ℎ𝑘1)= (0.7+1/2(0.1))=0.75
𝑘3 = 𝑓 (𝑋7 +1
2ℎ, 𝑌7 +
1
2ℎ𝑘2) =(0.7+1/2(0.1))=0.75
𝑘4 = 𝑓(𝑋7 + ℎ, 𝑌7 + ℎ𝑘3) =(0.7+0.1)=0.8
𝑌8 = 𝑌1 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.18+0.1/6(0.7+2(0.75)+2(0.75)+0.8)
𝑌8 =1.18+0.0166(0.7+1.5+1.5+0.8)= 1.25 n=8
𝑘1 = 𝑓(𝑋8, 𝑌8) = (0.8)=0.8
𝑘2 = 𝑓 (𝑋8 +1
2ℎ, 𝑌8 +
1
2ℎ𝑘1)= (0.8+1/2(0.1))=0.85
𝑘3 = 𝑓 (𝑋8 +1
2ℎ, 𝑌8 +
1
2ℎ𝑘2) =(0.8+1/2(0.1))=0.85
𝑘4 = 𝑓(𝑋8 + ℎ, 𝑌8 + ℎ𝑘3) =(0.8+0.1)=0.9
𝑌9 = 𝑌9 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.25+0.1/6(0.8+2(0.85)+2(0.85)+0.9)
𝑌2 =1.25+0.0166(0.8+1.7+1.7+0.9)= 1.33 n=9
𝑘1 = 𝑓(𝑋9, 𝑌9) = (0.9)=0.9
𝑘2 = 𝑓 (𝑋9 +1
2ℎ, 𝑌9 +
1
2ℎ𝑘1)= (0.9+1/2(0.1))=0.95
𝑘3 = 𝑓 (𝑋9 +1
2ℎ, 𝑌9 +
1
2ℎ𝑘2) =(0.9+1/2(0.1))=0.95
𝑘4 = 𝑓(𝑋9 + ℎ, 𝑌9 + ℎ𝑘3) =(0.9+0.1)=1
𝑌10 = 𝑌9 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.33+0.1/6(0.9+2(0.95)+2(0.95)+1)
𝑌10 =1.33+0.0166(0.9+1.9+1.9+1)= 1.42
Metodo de Euler Mejorado
b) 𝑑𝑦
𝑑𝑥= 𝑦𝑥2 − 1.1𝑦 , y(0)=1 1 𝑋0= 0 𝑌0= 1 h= 0.1
N=0
𝑌1∗ = 𝑌0 + ℎ 𝑓(𝑋0, 𝑌0) = 𝑌1
∗ = 1 + 0.1((0) − 1.1( 1)) = 0.89
𝑌1 = 𝑌0 +ℎ(𝑓(𝑋0,𝑌0)+𝑓(𝑋1,𝑌1
∗))
2 = 1 +
0.1(0(0)−1.1(0.1))
2 = 1+0.005= 1.005
n=1
𝑌2∗ = 𝑌1 + ℎ 𝑓(𝑋1, 𝑌1)= = 1.005 + 0.1((0.01) − 1.1( 1.005)) = 0.9
𝑌2 = 𝑌1 +ℎ(𝑓(𝑋1,𝑌1)+𝑓(𝑋2,𝑌2
∗))
2 = 1.005 +
0.1(0.1+(0.2))
2 = 1.005+0.015= 1.02
n=2
𝑌3∗ = 𝑌2 + ℎ 𝑓(𝑋2, 𝑌2)= 𝑌3
∗ = 1.02 + 0.1((0.2) − 1.1( 1.02)) = 1.005
𝑌3 = 𝑌3 +ℎ(𝑓(𝑋2,𝑌2)+𝑓(𝑋3,𝑌3
∗))
2 = 1.02 +
0.1(0.2+(0.3))
2 = 1.02+0.025= 1.045
n=3
𝑌4∗ = 𝑌3 + ℎ 𝑓(𝑋3, 𝑌3) = 𝑌4
∗ = 1.045 + 0.1((0.3) − 1.1( 1.045)) = 1.156
𝑌4 = 𝑌4 +ℎ(𝑓(𝑋3,𝑌3)+𝑓(𝑋4,𝑌4
∗))
2 = 1.045 +
0.1(0.3+(1.156))
2 = 1.11+0.125= 1.355
n=4
𝑌5∗ = 𝑌4 + ℎ 𝑓(𝑋4, 𝑌4) = 𝑌5
∗ = 1.355 + 0.1((0.4) − 1.1( 1.355)) = 1.255
𝑌5 = 𝑌5 +ℎ(𝑓(𝑋4,𝑌4)+𝑓(𝑋5,𝑌5
∗))
2 = 1.355 +
0.1(0.4+(1.255))
2 = 1.25+0.125= 1.455
n=5
𝑌6∗ = 𝑌5 + ℎ 𝑓(𝑋5, 𝑌5) = 𝑌6
∗ = 1.455 + 0.1((0) − 1.1( 1.455)) = 1.354
𝑌6 = 𝑌6 +ℎ(𝑓(𝑋5,𝑌5)+𝑓(𝑋6,𝑌6
∗))
2 = 1.455 +
0.1(0.5+(1.354))
2 = 1.30+0.15= 1.555
n=6
𝑌7∗ = 𝑌6 + ℎ 𝑓(𝑋6, 𝑌6) = 𝑌7
∗ = 1.55 + 0.1((0.6) − 1.1( 1.55)) = 1.456
𝑌7 = 𝑌6 +ℎ(𝑓(𝑋6,𝑌6)+𝑓(𝑋7,𝑌7
∗))
2 = 1.55 +
0.1(0.6+(1.456))
2 = 1.55+0.125= 1.645
n=7
𝑌8∗ = 𝑌7 + ℎ 𝑓(𝑋7, 𝑌7) = 𝑌8
∗ = 1.645 + 0.1((0.7) − 1.1( 1.645)) = 1.575
𝑌8 = 𝑌7 +ℎ(𝑓(𝑋7,𝑌7)+𝑓(𝑋8,𝑌8
∗))
2= 1.645 +
0.1(0.7+(1.575))
2 = 1.645+0.155= 1755
Método de Euler mejorado
c) 𝑑𝑦
𝑑𝑥= (1 + 2𝑥)√𝑦 , y(0)=1 𝑋0= 0 𝑌0= 1 h= 0.1
Formula
𝑌𝑛+1 = 𝑌𝑛 +ℎ(𝑓(𝑋𝑛, 𝑌𝑛) + 𝑓(𝑋𝑛+1, 𝑌𝑛+1
∗ ))
2
𝑌𝑛+1∗ = 𝑌𝑛 + ℎ 𝑓(𝑋𝑛, 𝑌𝑛)
𝑋1= 0.1 , 𝑋2= 0.2, 𝑋3= 0.3, 𝑋4= 0.4, 𝑋5= 0.5, 𝑋6= 0.6, 𝑋7= 0.7, 𝑋8= 0.8, 𝑋9= 0.9,
𝑋10=1 𝑑𝑦
𝑑𝑥= (1 + 2𝑥)√𝑦
n=0
𝑌1∗ = 𝑌0 + ℎ 𝑓(𝑋0, 𝑌0) = 𝑌1
∗ = 1 + 0.1 (1 + 2(0)) = 𝑌1∗= 1.1
𝑌1 = 𝑌0 +ℎ(𝑓(𝑋0,𝑌0)+𝑓(𝑋1,𝑌1
∗))
2 = 1 +
0.1(1+2(0)+(1+2(0.1)(√1.1))
2 =1.111
n=1
𝑌2∗ = 𝑌1 + ℎ 𝑓(𝑋1, 𝑌1) =𝑌1
∗ = 1.111 + 0.1 (1 + 2(0.1)(√1.11) = 1.12
𝑌2 = 𝑌1 +ℎ(𝑓(𝑋1,𝑌1)+𝑓(𝑋2,𝑌2
∗))
2 = 1.11 +
0.1(1+2(0.1)(√1.11+(1+2(0.1)(√1.12))
2 =1.23
n=2
𝑌3∗ = 𝑌2 + ℎ 𝑓(𝑋2, 𝑌2) =𝑌3
∗ = 1.23 + 0.1 (1 + 2(0.2)(√1.23) = 1.37
𝑌3 = 𝑌2 +ℎ(𝑓(𝑋2,𝑌2)+𝑓(𝑋3,𝑌3
∗))
2 = 1.23 +
0.1(1+2(0.2)(√1.23+(1+2(0.3)(√1.37))
2 =1.38
n=3
𝑌4∗ = 𝑌3 + ℎ 𝑓(𝑋3, 𝑌3) =𝑌3
∗ = 1.38 + 0.1 (1 + 2(0.3)(√1.38) = 1.55
𝑌4 = 𝑌3 +ℎ(𝑓(𝑋3,𝑌3)+𝑓(𝑋4,𝑌4
∗))
2 = 1.38 +
0.1(1+2(0.3)(√1.38+(1+2(0.4)(√1.55))
2 =1.56
n=4
𝑌5∗ = 𝑌4 + ℎ 𝑓(𝑋4, 𝑌4) =𝑌5
∗ = 1.56 + 0.1 (1 + 2(0.4)(√1.56) = 1.75
𝑌5 = 𝑌4 +ℎ(𝑓(𝑋4,𝑌4)+𝑓(𝑋5,𝑌5
∗))
2 = 1.56 +
0.1(1+2(0.4)(√1.56+(1+2(0.5)(√1.75))
2 =1.79
n=5
𝑌6∗ = 𝑌5 + ℎ 𝑓(𝑋5, 𝑌5) =𝑌6
∗ = 1.79 + 0.1 (1 + 2(0.5)(√1.79) = 2.02
𝑌6 = 𝑌5 +ℎ(𝑓(𝑋5,𝑌5)+𝑓(𝑋6,𝑌6
∗))
2 = 1.79 +
0.1(1+2(0.5)(√1.79+(1+2(0.6)(√2.02))
2 =2.04
Respuesta Exacta
𝑑𝑦
𝑑𝑥= (1 + 2𝑥)√𝑦 X= 0 y=1
dy= (1 + 2𝑥)√𝑦𝑑𝑥 Y = (𝑒𝑥+𝑥2+𝑐)2
𝑑𝑦
√𝑦= (1 + 2𝑥)𝑑𝑥 1 = (𝑒0+12+𝑐)
2
∫𝑑𝑦
√𝑦= ∫(1 + 2𝑥) 𝑑𝑥
Y = (𝑒𝑥+𝑥2+𝑐)2 0=c
Y = (𝑒𝑥+𝑦2)
2
X=0.1 𝑌1 = (𝑒0.1+0.12)
2 = 1.245
X=0.2 𝑌2 = (𝑒0.2+0.22)
2 = 1.27
X=0.3 𝑌3 (𝑒0.3+0.32)
2= 1.47
X=0.4 𝑌4 = (𝑒0.4+0.42)
2= 1.75
X=0.5 𝑌5 = (𝑒0.5+0.52)
2= 2.11
X=0.6 𝑌6 = (𝑒0.6+0.62)
2= 2.61
X=0.7 𝑌7 = (𝑒0.7+0.72)
2= 3.28
X=0.8 𝑌1 = (𝑒0.8+0.82)
2 = 4.22
X=0.9 𝑌1 (𝑒0.9+0.92)
2= 5.52
X=1 𝑌1 (𝑒1+12)
2= 7.38
Método de Runge – Kutta 4
c) 𝑑𝑦
𝑑𝑥= (1 + 2𝑥)√𝑦, y(0)=1 𝑋0= 0 𝑌0= 1 h= 0.1
Formula
𝑌𝑛+1 = 𝑌𝑛 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)
𝑘1 = 𝑓(𝑋𝑛, 𝑌𝑛)
𝑘2 = 𝑓 (𝑋𝑛 +1
2ℎ, 𝑌𝑛 +
1
2ℎ𝑘1)
𝑘3 = 𝑓 (𝑋𝑛 +1
2ℎ, 𝑌𝑛 +
1
2ℎ𝑘2)
𝑘4 = 𝑓(𝑋𝑛 + ℎ, 𝑌𝑛 + ℎ𝑘3)
n=0
𝑘1 = 𝑓(𝑋0, 𝑌0) = (1+2(0))(√1)=1
𝑘2 = 𝑓 (𝑋0 +1
2ℎ, 𝑌0 +
1
2ℎ𝑘1)= (1+2(0))( +1/2(0.1)) (√1)1/2(1)=1.0025
𝑘3 = 𝑓 (𝑋0 +1
2ℎ, 𝑌0 +
1
2ℎ𝑘2) = (1+2(0))( +1/2(0.1)) (√1)1/2(1.002)=1.02
𝑘4 = 𝑓(𝑋0 + ℎ, 𝑌0 + ℎ𝑘3) =(1+2(0)+0.1(1)+0.1(1.02)=1.21
𝑌1 = 𝑌0 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1+0.1/6(1+2(1.0025)+2(1.02)+1.21)
𝑌1 =1+0.0166(1+2.005+2.04+1.21)= 1.104
n=1
𝑘1 = 𝑓(𝑋1, 𝑌1) = (1+2(0.1)(sqrt1.10)=1.248
𝑘2 = 𝑓 (𝑋1 +1
2ℎ, 𝑌1 +
1
2ℎ𝑘1)=(1+2(0.1)+1/2(0.1) (√1. 14)1/2(1.24)=0.82
𝑘3 = 𝑓 (𝑋1 +1
2ℎ, 𝑌1 +
1
2ℎ𝑘2)=(1+2(0.1)+1/2(0.1) (√1. 14)1/2(0.82)=0.54
𝑘4 = 𝑓(𝑋1 + ℎ, 𝑌1 + ℎ𝑘3) =(1+2(0.1)+0.1(sqrt1.14)0.1(1.02)=1.21
𝑌2 = 𝑌1 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.0049+0.1/6(0.1+2(0.15)+2(0.15)+0.2)
𝑌2 =1.0049+0.0166(0+0.3+0.3+0.2)= 1.018 n=2
𝑘1 = 𝑓(𝑋2, 𝑌2) = (0.2)=0.2
𝑘2 = 𝑓 (𝑋2 +1
2ℎ, 𝑌2 +
1
2ℎ𝑘1)= (0.2+1/2(0.1))=0.25
𝑘3 = 𝑓 (𝑋2 +1
2ℎ, 𝑌2 +
1
2ℎ𝑘2) =(0.2+1/2(0.1))=0.25
𝑘4 = 𝑓(𝑋2 + ℎ, 𝑌2 + ℎ𝑘3) =(0.2+0.1)=0.3
𝑌3 = 𝑌3 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.018+0.1/6(0.2+2(0.25)+2(0.25)+0.3)
𝑌3 =1.018+0.0166(0+0.5+0.5+0.3)= 1.04 n=3
𝑘1 = 𝑓(𝑋3, 𝑌3) = (0.3)=0.3
𝑘2 = 𝑓 (𝑋3 +1
2ℎ, 𝑌3 +
1
2ℎ𝑘1)= (0.3+1/2(0.1))=0.35
𝑘3 = 𝑓 (𝑋3 +1
2ℎ, 𝑌3 +
1
2ℎ𝑘2) =(0.3+1/2(0.1))=0.35
𝑘4 = 𝑓(𝑋3 + ℎ, 𝑌3 + ℎ𝑘3) =(0.3+0.1)=0.4
𝑌4 = 𝑌3 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.04+0.1/6(0.3+2(0.35)+2(0.35)+0.4)
𝑌4 =1.04+0.0166(0+0.7+0.7+0.4)= 1.06 n=4
𝑘1 = 𝑓(𝑋4, 𝑌4) = (0.4)=0.4
𝑘2 = 𝑓 (𝑋4 +1
2ℎ, 𝑌4 +
1
2ℎ𝑘1)= (0.4+1/2(0.1))=0.45
𝑘3 = 𝑓 (𝑋4 +1
2ℎ, 𝑌4 +
1
2ℎ𝑘2) =(0.1+1/2(0.1))=0.45
𝑘4 = 𝑓(𝑋4 + ℎ, 𝑌4 + ℎ𝑘3) =(0.4+0.1)=0.5
𝑌5 = 𝑌4 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.06+0.1/6(0.4+2(0.45)+2(0.45)+0.5)
𝑌5 =1.06+0.0166(0+0.9+0.9+0.5)= 1.09 n=5
𝑘1 = 𝑓(𝑋5, 𝑌5) = (0.5)=0.5
𝑘2 = 𝑓 (𝑋5 +1
2ℎ, 𝑌5 +
1
2ℎ𝑘1)= (0.5+1/2(0.1))=0.55
𝑘3 = 𝑓 (𝑋5 +1
2ℎ, 𝑌5 +
1
2ℎ𝑘2) =(0.5+1/2(0.1))=0.55
𝑘4 = 𝑓(𝑋5 + ℎ, 𝑌5 + ℎ𝑘3) =(0.5+0.1)=0.7
𝑌6 = 𝑌5 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.09+0.1/6(0.5+2(0.55)+2(0.55)+0.7)
𝑌6 =1.09+0.0166(0.5+1.1+1.1+0.7)= 1.13 n=6
𝑘1 = 𝑓(𝑋6, 𝑌6) = (0.6)=0.6
𝑘2 = 𝑓 (𝑋6 +1
2ℎ, 𝑌6 +
1
2ℎ𝑘1)= (0.6+1/2(0.1))=0.65
𝑘3 = 𝑓 (𝑋6 +1
2ℎ, 𝑌6 +
1
2ℎ𝑘2) =(0.6+1/2(0.1))=0.65
𝑘4 = 𝑓(𝑋6 + ℎ, 𝑌6 + ℎ𝑘3) =(0.6+0.1)=0.7
𝑌7 = 𝑌1 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.13+0.1/6(0.6+2(0.65)+2(0.65)+0.7)
𝑌7 =1.13+0.0166(0.6+1.3+1.3+0.8)= 1.18 n=7
𝑘1 = 𝑓(𝑋7, 𝑌7) = (0.7)=0.7
𝑘2 = 𝑓 (𝑋7 +1
2ℎ, 𝑌7 +
1
2ℎ𝑘1)= (0.7+1/2(0.1))=0.75
𝑘3 = 𝑓 (𝑋7 +1
2ℎ, 𝑌7 +
1
2ℎ𝑘2) =(0.7+1/2(0.1))=0.75
𝑘4 = 𝑓(𝑋7 + ℎ, 𝑌7 + ℎ𝑘3) =(0.7+0.1)=0.8
𝑌8 = 𝑌1 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.18+0.1/6(0.7+2(0.75)+2(0.75)+0.8)
𝑌8 =1.18+0.0166(0.7+1.5+1.5+0.8)= 1.25 n=8
𝑘1 = 𝑓(𝑋8, 𝑌8) = (0.8)=0.8
𝑘2 = 𝑓 (𝑋8 +1
2ℎ, 𝑌8 +
1
2ℎ𝑘1)= (0.8+1/2(0.1))=0.85
𝑘3 = 𝑓 (𝑋8 +1
2ℎ, 𝑌8 +
1
2ℎ𝑘2) =(0.8+1/2(0.1))=0.85
𝑘4 = 𝑓(𝑋8 + ℎ, 𝑌8 + ℎ𝑘3) =(0.8+0.1)=0.9
𝑌9 = 𝑌9 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.25+0.1/6(0.8+2(0.85)+2(0.85)+0.9)
𝑌2 =1.25+0.0166(0.8+1.7+1.7+0.9)= 1.33
n=9
𝑘1 = 𝑓(𝑋9, 𝑌9) = (0.9)=0.9
𝑘2 = 𝑓 (𝑋9 +1
2ℎ, 𝑌9 +
1
2ℎ𝑘1)= (0.9+1/2(0.1))=0.95
𝑘3 = 𝑓 (𝑋9 +1
2ℎ, 𝑌9 +
1
2ℎ𝑘2) =(0.9+1/2(0.1))=0.95
𝑘4 = 𝑓(𝑋9 + ℎ, 𝑌9 + ℎ𝑘3) =(0.9+0.1)=1
𝑌10 = 𝑌9 +ℎ
6(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)=1.33+0.1/6(0.9+2(0.95)+2(0.95)+1)
𝑌10 =1.33+0.0166(0.9+1.9+1.9+1)= 1.42 Codigo matlab
Euler
function [t,x] =euler(f,t0,tf,x0,n)
h=(tf-t0)/n;
t=t0:h:tf;
x=zeros(n+1,1); %reserva memoria para n+1 elementos del vector x
x(1)=x0;
for i=1:n
x(i+1)=x(i)+f(t(i),x(i))*h;
end
end
tf=input('tiempo final, tf: ');
n=input('número de pasos, n: ');
f=@(t,x) cos(t);
%condiciones iniciales
t0=0;
x0=0;
[t,x]=euler(f,t0,tf,x0,n);
hold on
plot(t,x,'b')
y=sin(t);
plot(t,y,'r')
xlabel('t')
ylabel('x');
legend('aproximada','exacta')
title('dx/dt=cost')
hold off
runge kutaa
function [t,x] =rk_1(f,t0,tf,x0,n)
h=(tf-t0)/n;
t=t0:h:tf;
x=zeros(n+1,1); %reserva memoria para n elementos del vector x
x(1)=x0;
for i=1:n
k1=h*f(t(i),x(i));
k2=h*f(t(i)+h/2,x(i)+k1/2);
k3=h*f(t(i)+h/2,x(i)+k2/2);
k4=h*f(t(i)+h,x(i)+k3);
x(i+1)=x(i)+(k1+2*k2+2*k3+k4)/6;
end
end
Método del Trapecio en matlab clear all;
clc;
fprintf('Calculo de la integral por el metodo trapecial\n\n');
f=input('introduce la funcion:','s');
a=input('lime inferior:');
b=input('limite superior:');
c=input('numero de segmentos a dividir:');
h=(b-a)/c;
z=0;
for x=a:h:b
k=eval(f);
if x==a,d=k;
end
if x==b,e=k;
end
z=z+k;
end
z=z-d-e;
z=z*2;
z=z+d+e;
z=z/(2*c);
z=z*(b-a)
fprintf('Resultado ');
Simpson 1/3 en Matlab
%regla de simpson 1/3
clear all; close all; clc
fun=input('Ingresa la función f(x) entre comillas: ');
f=inline(fun);
n=1;
while mod(n,2)~=0
n=input('Ingrese el número de subintervalos: ');
if mod(n,2)~=0
disp('El número de subintervalos debe ser par, pulse
una tecla para continuar')
pause
end
end
a=input('Ingrese el límite inferior de la integral: ');
b=input('Ingrese el límite superior de la integral: ');
h=(b-a)/n;
sumai=0;
sumap=0;
for i=1:2:n-1
sumai=sumai+feval(f,h*i+a);
end
for i=2:2:n-2
sumap=sumap+feval(f,h*i+a);
end
int=(h/3)*(feval(f,a)+4*sumai+2*sumap+feval(f,b));
disp(['El resultado de la integral es ' num2str(int)])