Está en la página 1de 9

Taller evaluativo 2

Nicolás Eduardo Cáceres


2205025

Universidad Industrial de Santander


Ecuaciones Diferenciales
Grupo H3
Prof. Giovanni Ernesto Calderón

Universidad Industrial de Santander

Bucaramanga, Santander

Septiembre de 2022
Usando el programa Matlab solucione y resuelva lo siguiente:

Punto 1:
Usando el método de Euler con un tamaño de paso de ℎ = 0.1,
determine la solución del problema de valor inicial
𝑑𝑦
= 5𝑦 − 25𝑥2 + 2, 𝑦(0) = 2
𝑑𝑥
En el intervalo 0 ≤ 𝑥 ≤ 1.
Resolviendo: obtenemos que hay que aplicar las fórmulas siguientes:
𝑥1 = 𝑥0 + ℎ 𝑥0 = 0 , ℎ = 0.1
𝑥1 = 0 + 0.1 = 0.1
𝑥2 = 𝑥1 + 0.1 → 𝑥2 = 0.2
Análogamente las soluciones de las demás 𝑥 hasta 𝑥10 obtenemos que

𝑥0 0
𝑥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

Ahora aplicamos la siguiente fórmula para obtener el valor de las 𝑦


𝑦1 = 𝑦0 + ℎ ∗ 𝑓(𝑥0,𝑦0)
𝑦1 = 2 + 0.1(5(2) − 25(0) + 2) = 3.2
Si seguimos reemplazando obtendremos todas las 𝑦.
Ahora para obtener la solución exacta debemos resolver la Ecuación
diferencial dada al principio de manera analítica, obteniendo que:
𝑑𝑦
(𝑑𝑥) = 5𝑦 − 25𝑥2 + 2(𝑑𝑥)
𝑑𝑥
𝑑𝑦 = (5𝑦 − 25𝑥2 + 2)𝑑𝑥
1 1
( 5𝑥
) 𝑑𝑦 + (−5𝑦 + 25𝑥2 − 2)𝑑𝑥 = 0 ( )
𝑒
𝑒5𝑥
𝑑𝑦 (−5𝑦 + 25𝑥2 − 2)𝑑𝑥
( )+( )=0
𝑒5𝑥 𝑒5𝑥
−5𝑦 + 25𝑥2 − 2
0+∫ 𝑑𝑥
𝑒5𝑥
−𝑦 + 5𝑥2 + 2𝑥
− =𝐶
𝑒5𝑥
𝑦 = 𝐶𝑒5𝑥 + 5𝑥2 + 2𝑥 𝐶=2
Reemplazando los valores en la solución obtenida anteriormente obtenemos
que:
𝑦 = 2𝑒5(0.1) + 5(0.1)2 + 2(0.1) = 3.5474
Como podemos comparar el valor exacto y el obtenido por el método de Euler
difieren para analizarlo de manera numérica se aplicará la fórmula de error
relativo:
|𝑉𝑒𝑥𝑎. −𝑉𝑎𝑝𝑥. |
𝐸= ∗ 100
𝑉𝑒𝑥𝑎.
|3.54744 − 3.2. |
𝐸= ∗ 100 = 9.79%
3.54744
Ya obtenido todo esto se procedió a realizar el código en Matlab con el cual se
obtiene de forma automática los valores que toma 𝑥, como los valores
aproximados mediante Euler, el valor exacto, y sus respectivos errores
relativos.
fexacta=@(x)2*exp(5*x)+5*x^2+2*x;
h=0.1;
y0=2;
x0=0;
y1=y0+h*(5*y0-25*x0^2+2);

fprintf('|x_n=n(0.1) | V.aprox.| V.exacto |Error Relativo|\n');


while x0<0.9
y1=y0+h*(5*y0-25*x0^2+2);
y0=y1;
x0=x0+0.1;
fexacta(x0);
error=(abs(fexacta(x0)-y1)/fexacta(x0))*100;
disp([x0,y1,fexacta(x0),error])
end

Al ejecutarlo se obtienen los siguientes resultados a manera de tabla


|x_n=n(0.1) | V.aprox.| V.exacto |Error Relativo|
0.1000 3.2000 3.5474 9.7942

0.2000 4.9750 6.0366 17.5856

0.3000 7.5625 10.0134 24.4760

0.4000 11.3188 16.3781 30.8910

0.5000 16.7781 26.6150 36.9599

0.6000 24.7422 43.1711 42.6880

0.7000 36.4133 70.0809 48.0411

0.8000 53.5949 113.9963 52.9854

0.9000 78.9924 185.8843 57.5045

1.0000 116.6636 303.8263 61.6019

De esta manera obtuvimos la tabla solicitada por el ejercicio. Ahora se nos


indica hacer lo mismo, pero para un ℎ = 0.01, por lo cual se tomó el código
anterior y se editó su ℎ, se agregó la indicada, obteniendo así 100 resultados a
través del siguiente código:
fexacta=@(x)2*exp(5*x)+5*x^2+2*x;
h=0.01;
y0=2;
x0=0;
y1=y0+h*(5*y0-25*x0^2+2);

fprintf('|x_n=n(0.1) | V.aprox.| V.exacto |Error Relativo|\n');


while x0<1
y1=y0+h*(5*y0-25*x0^2+2);
y0=y1;
x0=x0+0.01;
fexacta(x0);
error=(abs(fexacta(x0)-y1)/fexacta(x0))*100;
disp([x0,y1,fexacta(x0),error])
end

Cómo se puede ver se editaron solo dos cosas, su respectiva h y el “while


x0<1” dando como resultado la siguiente tabla:

|x_n=n(0.1) | V.aprox.| V.exacto |Error Relativo|


0.0100 2.1200 2.1230 0.1433

0.0200 2.2460 2.2523 0.2827

0.0300 2.3782 2.3882 0.4185

0.0400 2.5169 2.5308 0.5511

0.0500 2.6623 2.6806 0.6808

0.0600 2.8148 2.8377 0.8079

0.0700 2.9746 3.0026 0.9327

0.0800 3.1421 3.1756 1.0553

0.0900 3.3176 3.3571 1.1760

0.1000 3.5015 3.5474 1.2951

0.1100 3.6941 3.7470 1.4126

0.1200 3.8958 3.9562 1.5288

0.1300 4.1069 4.1756 1.6438

0.1400 4.3281 4.4055 1.7578

0.1500 4.5596 4.6465 1.8709


0.1600 4.8019 4.8991 1.9833

0.1700 5.0556 5.1638 2.0949

0.1800 5.3212 5.4412 2.2060

0.1900 5.5991 5.7319 2.3166

0.2000 5.8901 6.0366 2.4269

0.2100 6.1946 6.3558 2.5368

0.2200 6.5133 6.6903 2.6466

0.2300 6.8468 7.0409 2.7561

0.2400 7.1959 7.4082 2.8655

0.2500 7.5613 7.7932 2.9749

0.2600 7.9438 8.1966 3.0843

0.2700 8.3441 8.6194 3.1937

0.2800 8.7631 9.0624 3.3031

0.2900 9.2016 9.5267 3.4127

0.3000 9.6607 10.0134 3.5224

0.3100 10.1412 10.5234 3.6323

0.3200 10.6442 11.0581 3.7423

0.3300 11.1708 11.6185 3.8526

0.3400 11.7222 12.2059 3.9631

0.3500 12.2994 12.8217 4.0738

0.3600 12.9037 13.4673 4.1848

0.3700 13.5365 14.1441 4.2960

0.3800 14.1991 14.8538 4.4076

0.3900 14.8930 15.5979 4.5193

0.4000 15.6196 16.3781 4.6314

0.4100 16.3806 17.1963 4.7437


0.4200 17.1776 18.0543 4.8563

0.4300 18.0123 18.9542 4.9692

0.4400 18.8867 19.8980 5.0824

0.4500 19.8027 20.8880 5.1958

0.4600 20.7622 21.9264 5.3095

0.4700 21.7674 23.0156 5.4235

0.4800 22.8205 24.1584 5.5377

0.4900 23.9240 25.3572 5.6522

0.5000 25.0801 26.6150 5.7669

0.5100 26.2916 27.9347 5.8818

0.5200 27.5612 29.3195 5.9970

0.5300 28.8916 30.7726 6.1124

0.5400 30.2860 32.2975 6.2279

0.5500 31.7474 33.8978 6.3437

0.5600 33.2792 35.5773 6.4596

0.5700 34.8847 37.3401 6.5757

0.5800 36.5677 39.1903 6.6919

0.5900 38.3320 41.1324 6.8083

0.6000 40.1816 43.1711 6.9248

0.6100 42.1207 45.3112 7.0414

0.6200 44.1537 47.5579 7.1581

0.6300 46.2853 49.9166 7.2749

0.6400 48.5203 52.3931 7.3918

0.6500 50.8639 54.9932 7.5087

0.6600 53.3215 57.7233 7.6257


0.6700 55.8986 60.5900 7.7427

0.6800 58.6014 63.6002 7.8598

0.6900 61.4358 66.7613 7.9769

0.7000 64.4086 70.0809 8.0940

0.7100 67.5265 73.5671 8.2110

0.7200 70.7968 77.2285 8.3281

0.7300 74.2271 81.0738 8.4451

0.7400 77.8252 85.1126 8.5621

0.7500 81.5995 89.3547 8.6790

0.7600 85.5589 93.8104 8.7959

0.7700 89.7124 98.4906 8.9127

0.7800 94.0698 103.4069 9.0294

0.7900 98.6412 108.5712 9.1461

0.8000 103.4373 113.9963 9.2626

0.8100 108.4691 119.6954 9.3790

0.8200 113.7486 125.6826 9.4954

0.8300 119.2879 131.9725 9.6116

0.8400 125.1001 138.5807 9.7276

0.8500 131.1987 145.5233 9.8436

0.8600 137.5980 152.8176 9.9593

0.8700 144.3130 160.4814 10.0750

0.8800 151.3594 168.5337 10.1904

0.8900 158.7538 176.9944 10.3058

0.9000 166.5134 185.8843 10.4209

0.9100 174.6566 195.2253 10.5359

0.9200 183.2024 205.0406 10.6507


0.9300 192.1709 215.3545 10.7653

0.9400 201.5832 226.1923 10.8797

0.9500 211.4615 237.5811 10.9940

0.9600 221.8290 249.5488 11.1080

0.9700 232.7100 262.1253 11.2218

0.9800 244.1303 275.3416 11.3355

0.9900 256.1167 289.2304 11.4489

1.0000 268.6975 303.8263 11.5621

A manera de conclusión y análisis personal se deja ver que el error relativo es


menor si el tamaño de la ℎ también lo es ya que al comparar los dos tamaños
de paso que toma la ℎ (0.1 & 0.01) nos damos cuenta de lo anteriormente
concluido.

También podría gustarte