Está en la página 1de 12

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA


UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA
DE LA FUERZA ARMADA NACIONAL BOLIVARIANA
UNEFA-NÚCLEO NUEVA ESPARTA
INGENIERIA CIVIL 03S - 1344 - D1

Tarea 8
Comandos en R.
>#Método por “R” de Regla del trapecio
> f=function(x) cos(x)
>curve(f,from=0,to=pi,col="blue")
> a=0; b=pi; n=4
>deltax=(b-a)/n
>cat('deltax=',deltax)
deltax= 0.7853982> x=c()
>for(i in 1:n)
+ {x[i]=a+i*deltax; cat("\n",x[i],f(x[i]))}

0.7853982 0.7071068
1.570796 6.123032e-17
2.356194 -0.7071068
3.141593 -1> a1=0
>for(i in 1:(n-1)){a1=a1+2*f(x[i])}
> a2=f(a)+f(b)
> A=(deltax/2)*(a1+a2)
>cat("integral de f(x) desde",a,"hasta",b,A)
integral de f(x) desde 0 hasta 3.141593 1.743934e-16
Regla del trapecio Metodo manual

∫ cos ( x ) dx ; N=4

Δx= π -0/4= π /4=0,79

Sext=F(a)+F(b)=1+(-1)=0

Sint=2F(x1)+2F(x2)+2F(n-1)=0,707+(-2,036X10-4)=-2,036X10-4

∫ f ( x ) dx =0,79/2(0+(2*-2,036X10-4)= -1,60894X10-4

>#programametodo de Simpson
>a=0;b=pi;n=4
>f=function(x) cos(x)
>x=c(0);spar=c(0);simp=c(0)
>dx=(b-a)/n
>cat("\n","tabla de valores")

tabla de valores>for (i in 1:n) {x[i]=a+i*dx


+ cat("\n",i,x[i],f(x[i]))}

1 0.7853982 0.7071068
2 1.570796 6.123032e-17
3 2.356194 -0.7071068
4 3.141593 -1
for(i in 1:n){
+ if(i%%2==0){spar=spar+f(x[i])}
+ else{
+ simp=simp+f(x[i])
+ }}
>cat("\n","suma par",spar)

suma par -1>cat("\n","suma impar",simp)


suma impar 1.110223e-16>sextremos=f(a)+f(b)
>cat("\n","suma extremos",sextremos)

suma extremos 0>inte=(dx/3)*(sextremos+2*spar+4*simp)


>cat("integral de f(x)desde",a,"hasta",b,inte)
integral de f(x)desde 0 hasta 3.141593 -0.5235988

Método manual

∫ cos ( x ) dx ; N=4

Δx= π-0/4= π/4=0,79

Simp=0,707+0,707=1.

Spar=(-2,036X10-4)

Sext=1+(-1)=0

0,79/3(4*-2,036X10-4)=-1,546X10-3

integral sencilla
∫_0^π▒〖cos⁡(x)dx〗sen(x)+c

sen(x) evaluados entre π y 0

sen(π)-(sen0)=0+0=0
Introducción
la aplicación métodos numéricos más explícitamente los Métodos de Euler y Euler
Mejorado, cuyos, se encuentran acompañado de una condición inicial que
permitirá especificar el estado de determinado sistema en un tiempo inicial.
Asimismo, se intenta dar solución al problema de valor inicial a través del empleo
de las formulas establecidas por dichos procedimientos teniendo en cuenta que su
solución general es compleja y engorrosa de obtener de modo analítico por no
decir imposible. Por este motivo, se recurre casi siempre al uso de distintos
algoritmos numéricos que permiten obtener una solución aproximada de la EDO
en distintos instantes de tiempo. Es importante hacer mención, de lo útil que
resultan estas aplicaciones a la hora de modelar situaciones físicas en la
ingeniería donde se encuentran ocultos motivos de cambio de una ó varias
funciones desconocidas con respecto a una ó varias variable
Ecuaciones diferenciales
Una ecuación diferencial es una ecuación que involucra derivadas (o diferenciales)
de una función desconocida de una o más variables. Si la función desconocida
depende sólo de una variable, la ecuación se llama una ecuación diferencial
ordinaria. Sin embargo, si la función desconocida depende de más de una variable
la ecuación se llama una ecuación diferencial parcial

Los errores de truncamiento se componen de dos partes. La primera es un 'error


de truncamiento local' que resulta de una aplicación de método considerado, en un
solo paso. La segunda en un 'error de truncamiento propagado' que resulta de las
aproximaciones producidas durante los pasos previos. La suma de los dos es el
'error de truncamiento global o total

Objetivo del método de euler


Conocer y desarrollar el Método de Euler tanto su aplicación en los problemas
matemáticos y desarrollar un algoritmo numérico para resolver el problema de
valores iniciales y (x) = ϕ(x, y), y(a) = ya; x ∈ [a, b]. (1) siendo ϕ(x, y) una función
acotada, continua en la variable x y lipschitziana en la variable y en el dominio [a,
b]

Aplicación del método de Euler


Se aplica normalmente si los requerimientos del problema presentan un intervalo
corto de integración. En tal caso, es posible obtener una buena exactitud utilizando
tamaños de paso pequeños para evitar grandes errores de truncamiento, y los
errores de redondeo serán aceptables. El método de Euler también resulta
apropiado aplicar en casos donde el modelo matemático tiene un alto nivel de
incertidumbre, o tiene coeficientes o funciones de fuerza con errores significativos,
como los que llegan a surgir en un proceso de medición. En este caso, la exactitud
del modelo mismo simplemente no justifica el trabajo de cálculo requerido al
emplear un método numérico más complicado. Por último, en ocasiones, las
técnicas más simples son las mejores cuando el problema o la simulación
necesitan realizarse sólo unas cuantas veces.

Logaritmo del método de euler

Solución. En este problema a=0, y(0)=0,  b=0.5, h=0.1


1. Se debe calcular el número de iteraciones. En este problema nos dan a, b y

h=deltax. De la formula h=(b-a)/n, despejamos n, y obtenemos: n=(b-a)/h=n

2. Se debe Cálcular la partición con la misma distancia de uno hacia el otro

3. debe obtener  Tabla e valores Calculando f(xi,yi) para cada xi

Ejemplo del método de euler


> f= function (x,y) x+y^2
> a=0; b=0.5; h=0.1
> x=c(0); y=c(0); yp=c(0)
> n=(b-a)/h
>x[1]=a; y[1]=0
>x[1]=a; y[1]=1
> for (i in 2:(n+1)) {
+ x[i]=x[i-1]+h
+ cat( "\n",i-1,x[i])}
1 0.1
2 0.2
3 0.3
4 0.4
5 0.5> for (i in 2:(n+1)){yp[i-1]=f(x[i-1],y[i-1])
+ y[i]=y[i-1]+h*yp[i-1]}
>y[i+1]=y[i]+h*f(x[i],y[i])
>cat("\n", "Tabla de Resultados")
Tabla de Resultados>cat("\n", "i x y")
i x y>
>i x y
Error: unexpected symbol in "i x"
> for (i in 2:(n+2)) {
+ cat( "\n",i-1,x[i-1],y[i-1])}

101
2 0.1 1.1
3 0.2 1.231
4 0.3 1.402536
5 0.4 1.629247
6 0.5 1.934691

Los métodos de Runge-Kutta


(RK) logran la exactitud del procedimiento de la serie de
Taylor sin necesitar el cálculo de derivadas de orden superior. Existen muchas variantes,
pero todas tienen la forma generalizada de la ecuación

Donde
Se conoce como función incremento, la cual puede interpretarse como
una pendiente representativa en el intervalo. La función incremento se escribe en forma
general como

donde las a son constantes y las k son

donde las p y las q son constantes. Observe que las k son relaciones de recurrencia. Es
decir, k1 aparece en la ecuación k2, la cual aparece en la ecuación k3, etcétera. Como
cadak es una evaluación funcional, esta recurrencia vuelve eficientes a los métodos RK
para cálculos en computadora.

Es posible tener varios tipos de métodos de Runge-Kutta empleando diferentes


números de términos en la función incremento especificada por n. Observe que el
método
deRunge-Kutta (RK) de primer orden con n = 1 es, de hecho, el método de Euler.
Una vez que se elige n, se evalúan las a, p y q igualando la ecuación a los términos
en la expansión de la serie de Taylor . Así, al menos para las versiones
de orden inferior, el número de términos, n, por lo común representa el orden de la
aproximación. Por ejemplo, en la siguiente sección, los métodos RK de segundo orden
usan la función incremento con dos términos (n = 2). Esos métodos de segundo orden
serán
exactos si la solución de la ecuación diferencial es cuadrática. Además, como los
términos con h3 y mayores se eliminan durante la deducción, el error de truncamiento
local es O(h3) y el global es O(h2). En secciones subsecuentes desarrollaremos los
métodos
RK de tercer y cuarto órdenes (n = 3 y 4, respectivamente). En tales casos, los
errores de truncamiento global son O(h3) y O(h4).

Objetivo del método de kunger-kutta


Aprender a resolver Ecuaciones Diferenciales lineales de primer orden a través del
método de Runge-Kutta además, es el análisis y solución de los problemas de
valor inicial de ecuaciones diferenciales ordinarias (EDO), estos son una extensión
del método de euler para resolver las (Ecuaciones Diferenciales Ordinarias de
primer orden), pero con un orden de exactitud más alta.
Logaritmo del método de kunger-kutta

El primer paso para resolver este problema es determinar la particion de puntos en donde se
va a obtener la solución.

Como en este  conocemos a,b y h=deltax, calculamos n, se tiene que

n = (b – a)/h= (1,5 – 1)/0,1 = 5.

Por lo tanto, los puntos en donde se va a determinar la solución, dados por la fórmula

xi = 1 + 0,1 i, para i =1,2,3,4,5, son: x1 = 1.1 ;  x2 = 1.2; 3 = 1.3;  x4 = 1.4 y x5 = 1.5

Resulta entonces, que para cada i se aplican las formulas. Se comienza desde i=2 ya que en
R los vectores comienzan por 1, y no por cero,  entonces y(1) en el programa es y0 en el
problema

k1=f(x[i-1],y[i-1])*h

k2=h*f(x[i-1]+(1/2)*h,y[i-1]+(1/2)*k1);cat(“\n”,i,”k2=”,k2)

k3=h*f(x[i-1]+(1/2)*h,y[i-1]+(1/2)*k2);cat(“\n”,i,”k3=”,k3)

k4=h*f(x[i-1]+h,y[i-1]+k3);cat(“\n”,i,”k4=”,k4)

y[i]=y[i-1]+(1/6)*(k1+2*k2+2*k3+k4)}

Y aplicando sucesivamente las fórmula de RK4, para i desde 1 hasta 4, se obtienen los
datos que se muestran en la siguiente tabla,
i x RK
1 1 1
21.1 1.233
31.2 1.552
41.3 1.993
51.4 2.611
61.5 3.490

donde además se muestra el valor de la solución exacta para cada punto de la partición

Al analizar la tabla anterior y comparar los resultados obtenidos con el método RK4 con los
valores reales, se ve por qué es tan difundido este método. En la próxima tabla se comparan
los métodos de Euler y RungeKutta de orden 4 para un mismo problema.

Ejemplo del método de kunger-kutta


> #metodo de RK
> f= function (x,y) x^2+y^2
> a=1; b=1.5; h=0.5
> #inicialización de los vectores
> x=c(0); y=c(0); yp=c(0)
> # La variable yp = f(xi,yi) (yp es yprima)
> #calculo de n
> n=(b-a)/h
> #Particion
>x[1]=a; y[1]=1
> #Estos valores de x y y corresponden
> #a los valores iniciales de y y(0)=1,
> #porque los vectores en R comienzan desde 1 y no desde cero
>cat("\n", "Particion del intervalo [a,b]")
Particion del intervalo [a,b]
> for (i in 2:(n+1)) {
+ x[i]=x[i-1]+h
+ cat( "\n",i-1,x[i])}
1 1.5
> #procesoiterativo
> for (i in 2:(n+2)){k1=f(x[i-1],y[i-1])*h
+ cat("\n",i,"k1=",k1)
+ k2=h*f(x[i-1]+(1/2)*h,y[i-1]+(1/2)*k1);cat("\n",i,"k2=",k2)
+ k3=h*f(x[i-1]+(1/2)*h,y[i-1]+(1/2)*k2);cat("\n",i,"k3=",k3)
+ k4=h*f(x[i-1]+h,y[i-1]+k3);cat("\n",i,"k4=",k4)
+ y[i]=y[i-1]+(1/6)*(k1+2*k2+2*k3+k4)}
2 k1= 1
2 k2= 1.90625
2 k3= 2.688599
2 k4= 7.92788
3 k1= 9.203577
3 k2= 38.69539
3 k3= 274.5464
3 k4= 38801.49>
> # Tabla de resultados
>cat("\n", "Tabla de Resultados")
Tabla de Resultados>
>cat("\n","i x y")
i x y>
> for (i in 1:(n+1)) {
+ cat("\n",i,x[i],y[i])}
111
2 1.5 4.019596
Conclusión
sedetermino que, la resolución de problemas de ingeniería está asociada, por lo
general, a resultados numéricos puesto que se requieren respuestas prácticas.
La mayor parte de las leyes científicas de expresan en términos de rapidez de
variación de una variable con respecto otra.
Además proporcionan una herramienta esencial para modelar muchos problemas
en Ingeniería, Física, Economía y Biología, puesto que estos, por lo general,
requieren la determinación de una función que satisface a una ecuación
diferencial.
El Método de RungeKutta es mejor que el método de Euler, pero aún así es
posible aumentar la precisión achicando los pasos entre los puntos o
implementando el método de orden superior.
Es el método más utilizado para resolver numéricamente problemas de
ecuaciones diferenciales ordinarias con condiciones iniciales es el método de
Runge-Kutte, el cual proporciona un pequeño margen de error con respecto a la
solución real del problema y es fácilmente programable en un software para
realizar iteraciones necesarias.
El dominio de los métodos numéricos, en combinación con las capacidades y
potencialidades de la programación de computadoras resuelve problemas de
ingeniería de manera más fácil y eficientemente

También podría gustarte