Anda di halaman 1dari 32

AO DE LA

CONSOLIDACION DEL
MAR DE GRAU

FACULTAD : FIEE

TEMA : METODO DE RUNGE KUTTA Y


EULER

ESCUELA : ELECTRICA

CURSO : ECUACIONES DIFERENCIALES

PROFESOR : CHAVEZ SANCHEZ WILMER

ALUMNO : SAMANIEGO LOPEZ DANILO

CODIGO : 1523120307

2017
INTRODUCCION
Dentro de la Ingeniera y otras ciencias hay diversos problemas que se formulan
en trminos de ecuaciones diferenciales. Por ejemplo, trayectorias balsticas,
estudio de redes elctricas, deformacin de vigas, estabilidad de aviones, teora
de vibraciones y otras aplicaciones de aqu la importancia de su solucin

En el presente trabajo nos enfocaremos en la SOLUCION DE ECUACIONES


DIFERENCIALES ORDINARIAS DE PRIMER ORDEN-Mtodo de Runge kutta
del curso de Mtodos Numricos, que va dirigido primeramente al docente del
curso y a los colegas estudiantes que llevan el curso ya mencionado, nuestro
propsito es desarrollar el tema de una forma breve y entendible claro est
utilizando la terminologa necesaria en este captulo, de igual manera se
presenta algunos de problemas con el procedimiento completo ,ordenado y
de fcil entendimiento
RESUMEN
Cuando se desarrolla el mtodo de Euler para resolver la ecuacin diferencial
de primer orden

Y' = f(X, (1)


Y)
Con la condicin inicial

Y(X0) = (2)
Y0
Consiste en aplicar repetidamente la frmula de recurrencia

Yn+1 = Yn + h f (Xn, Yn) donde n = 1, (3)


2, 3, ...
Para determinar la solucin de la ecuacin diferencial en X = X1, X2, X3, ...

Sustituyendo la funcin f (X, Y) dada en (1), en (3), se tiene que

Yn+1 = Yn + h (4)
Y'n
Expresin que indica que el mtodo de Euler consiste grficamente, en ir de un
valor Yn conocido de la solucin de la ecuacin diferencial (1) en un punto, al
siguiente por medio de la tangente T1 a la curva integral Y = Y(X) en el mismo
punto de la solucin conocida, como se muestra en la siguiente figura.
De este planteamiento grfico puede verse que una mejor aproximacin a la solucin de la
ecuacin diferencial se obtendra si en vez de ir por la tangente T1 para determinar la
solucin en el siguiente Punto Pivote, se utiliza una secante con pendiente igual al promedio
de pendientes de la curva integral en los puntos coordenados (Xn, Yn), (Xn+1, Yn+1) en
donde Xn+1 y Yn+1 pueden estimarse con el procedimiento normal de Euler, como se
muestra en la siguiente grfica:

Con lo aanterior se obtendra un mtodo mejorado de Euler con error del orden
de definido por la expresin

(5)

en donde f(Xn+1, Yn+1) es el valor de la funcin f(X, Y) para:

X = Xn+1

Y = Yn + h f(Xn, Yn)

Observando las expresiones para resolver la ecuacin diferencial, puede


decirse que ambas consisten en aplicar la frmula de recurrencia

(6)

en donde

(; ) = (; ) (7)
EN EL METODO DE EULER

(8)

En lo que

Y' = f(X, (9)


Y)
En el mtodo de Euler Mejorado.

Como se ve, estos mtodos tienen los siguientes puntos en comn:

1. son mtodos de un paso; para determinar yn+1 se necesita conocer


nicamente los valores de Xn y yn del punto anterior.
2. no requieren evaluar ninguna derivada, sino nicamente valores de la funcin
f (x, y).

Estas caractersticas dan origen a una gran variedad de mtodos conocidos


como de runge-kutta la diferencia entre ellos cosiste en la forma como se define
la funcin que aparece en la expresin (6).

La ventaja de los mtodos de Runge-Kutta con respecto al uso de la serie de


Taylor, que es tambin un mtodo de un paso, est expresado en el punto (2)
anterior; es decir, los mtodos de Runge-Kutta requieren slo de la funcin f (X,
Y) y de ninguna derivada, mientras que la serie de Taylor s requiere de la
evaluacin de derivadas. Esto hace que, en la prctica, la aplicacin de los
mtodos de Runge-Kutta sean ms simples que el uso de la serie de Taylor.

Un mtodo de Runge-Kutta para resolver ecuaciones diferenciales ordinarias de


primer orden con error del orden , de uso tan frecuente que en la literatura
sobre mtodos numricos se le llama simplemente el Mtodo de Runge-Kutta,
se dar a conocer sin demostrar y consiste en aplicar la ecuacin de recurrencia
(6) en donde la funcin est dada por la expresin:

(10)

En el cual
(11)

La ecuacin (10) se obtiene haciendo un promedio de las cuatro pendientes, k1,


k2, k3 y k4 a la curva integral, en forma semejante a como se procedi con las
pendientes de las tangentes T1 y T2 que dieron lugar a (5).
OBJETIVOS

Objetivo General

Aprender a resolver Ecuaciones Diferenciales lineales de primer orden


a travs del mtodo de Runge-Kutta.

Objetivos Especficos

Conocer ventajas y desventajas del mtodo.

Comparar el mtodo de Runge-Kutta con la solucin de la ecuacin


resuelta por mtodos de integracin.

Identificar la exactitud del mtodo.


CONTENIDO

1 METODO DE RUNGE KUTTA

El mtodo de Runge-Kutta es un mtodo genrico de resolucin numrica de


ecuaciones diferenciales.
El mtodo de Runge-Kutta no es slo un nico mtodo, sino una importante
familia de mtodos iterativos, tanto implcitos como explcitos, para aproximar las
soluciones de ecuaciones diferenciales ordinarias (E.D.Os); estas tcnicas
fueron desarrolladas alrededor de 1900 por los matemticos alemanes Carl
David Tolm Runge y Martin Wilhelm Kutta.

1.1 Mtodo de RUNGE-KUTTA

El mtodo de Runge Kutta es un mtodo numrico de resolucin de ecuaciones


diferenciales que surge como una mejora del mtodo de Euler. El mtodo de
Euler se puede considerar como un mtodo de Runge Kutta de primer orden, el
de Heun, es un mtodo de Runge Kutta de orden dos.

Los mtodos de Runge-Kutta logran la exactitud del procedimiento de una serie


de Taylor sin requerir el clculo de derivadas superiores. Existen muchas
variaciones, pero todas se pueden denotar en la forma generalizada de la
ecuacin

yi + 1 = yi + F (xi, yi, h) h

Donde F (xi, yi, h) se conoce como la funcin incremento la cual puede


interpretarse como una pendiente representativa en el intervalo. La funcin
incremento se escribe en forma general como:
F = a1k1 + a2k2 ++ ankn

Donde la a son constantes y las K son:

k1 = f (xi, yi)

k2 = f (xi + p1h, yi + q11k1h)

k3 = f (xi + p2h, yi + q21k1h + q22k2h)

kn = f (xi + pnh, yi + q2n-1k1h + qn-1,2k2h + . + qn-1,n-1kn-

1h) Donde las p y q son constantes.

Como cada k es una evaluacin funcional, esta recurrencia hace que los mtodos
Runge-Kutta sean eficientes para la programacin. Existen varios tipos de
mtodos Runge-Kutta al emplear diferentes nmeros de trminos en la funcin
incremento como la especificada por n.

n = 1, es el mtodo de Euler. Una vez se elige n, se evalan las a, p y q al igualar


la funcin incremento a los trminos en la serie de expansin de Taylor. La
versin de segundo orden para la ecuacin en su forma generalizada es:

Donde:

Los valores de a1, a2, p1 y q11 son evaluados al igualar el trmino de segundo
orden de la ecuacin dada con la expansin de la serie de Taylor. Desarrollando
tres ecuaciones para evaluar las cuatro incgnitas:
suponer el valor de una de ellas. Suponiendo que se especific un valor para a2,
se puede resolver de manera simultnea el sistema de ecuaciones obtenido:

Como se puede elegir un nmero infinito de valores para a 2, hay un nmero


infinito de mtodos Runge-Kutta de segundo orden.

a2 = 1/2: Mtodo de Heun con un solo corrector, donde:

a2 = 1 : Mtodo del punto medio.

a2 = 2/3: Mtodo de Ralston.

Siguiendo el mismo razonamiento para n = 3, o sea, Runge-Kutta de tercer


orden, el resultado son seis ecuaciones con ocho incgnitas, por lo tanto, se
deben suponer dos valores con antelacin para poder desarrollar el sistema de
ecuaciones. Una versin ampliamente usada es:

ste es el ms popular de los mtodos Runge-Kutta de cuarto orden:


1.2 PRIMER METODO DE RUNGE KUTTA

Sea dado el punto , es nuestro inters aproximar en


dentro de la ecuacin diferencial ordinaria
Con tal propsito determinemos un punto intermedio de

modo tal que, reemplazando en las expresiones correspondientes, tendremos


que l predictor y corrector en dicho punto intermedio se escribir:

Por lo cual, en el punto deseado su predictor y corrector ser:

Simplificaremos el proceso de clculo, determinando algunos


coeficientes adecuados, as:

Como podemos verificar, reemplazando de acuerdo a las condiciones


supuestas
De esta manera a partir de (x0, y0 ) en Y` = f(X, Y) es possible ubicar y1

en mediante el primer mtodo de RUNGE KUTTA, por medio


de la determinacin de los coeficientes de K del modo siguiente

1.3 SEGUNDO METODO DE RUNGE KUTTA

En forma similar, se deduce un segundo mtodo en funcin al siguiente


sistema:
1.4 EXTENSION DEL METODO DE RUNGE KUTTA

Para ecuaciones diferenciales de segundo orden, como

Suele simplificarse su clculo efectuando el siguiente cambio de variable:

De este modo, el sistema queda entonces reducido a:

Determinndose los coeficientes siguientes:


1.5 EJEMPLOS RESUELTOS

1.5.1 RUNGE KUTTA PARA SEGUNDO ORDEN, MTODO PUNTO


MEDIO.

Resuelva el siguiente problema de valor inicial en el intervalo de x=0 a x=1.

dy
yx .2 y
2
dx

Donde:
y (0) =1
h = 0.25

Solucin:

yi 1 yi k2h

k1 (xi, yi)

1 1
k = f (x h,y k h)
2 i i 1
2 2
k2 f h , y k1h)
(x 0 2 0 2

1 1
k2 f (0.25), 1 (1.2) (0.25))
(0 2 2

k2 f (0.125,0.85)
k2 0.85(0.125)2 .2(0.85)
k2 1.006718

y1 1 (1.006718)0.25

y1 0.748320

Segunda iteracin

x1 x0 h
x1 0 0.25

x1 0.25

k1 f(x1 , y1 ) (0.25, 0.748320)

k1 (0.748320)(0.25)2 .2(0.748320)
k1 0.851432

1 1
k2 f (0.25) , 0.748320 ( 0.851432)(0.25))
(0.25 2 2

k2 f (0.375,0.641891)
k2 0.641891(0.375)2 .2(0.641891)
k2 0.680003

y2 0.748320 ( 0.680003)0.25
y2 0.578319

Tercera iteracin

x2 x1 h
x2 0.25 0.25
x2 0.5
1 1
k2 f (0.5 (0.25) , 0.578319 ( 0.549403)(0.25))
2 2

k2 f (0.625,0.509643)
k2 0.509643(0.625)2 .2(0.509643)
k2 0.4125

y3 0.578319 ( 0.4125)0.25
y3 0.4752

Cuarta iteracin

x3 x2 h
x3 0.5 0.25
x3 0.75

k1 f(x3 , y 3 ) f (0.75,0.4752)

k1 (0.4752)(0.75)2 1.2(0.4752)
k1 0.3029

k2 f h , y k1h)
(x 3 2 3 2

1 1
k2 f (0.25) , 0.4752 ( 0.3029)(0.25))
(0.75 2 2

k2 f (0.875,0.4373)
k2 0.4373(0.875)2 .2(0.4373)
k2 0.1900

y4 0.4752 ( 0.1900)0.25
y4 0.4277

x4 x3 h
x4 0.75
x4 1
Vectores solucin X 0 0.25 0.5 0.75 1
1.5.2 RUNGE KUTTA PARA TERCER ORDEN

Se resuelve el mismo problema anterior pero esta vez mediante el uso


del mtodo Runge kutta de tercer grado, de valor inicial, en el intervalo de x=0
a x=1.

dy .2 y
dx yx 2

Dnde:
y(0)=1
h = 0.25

Solucin.

En el mtodo de Runge kutta de tercer orden se utilizan las siguientes


formulas:
1
yi yi (k 4k 2 k 3 )h
1
1
6

k1 (xi, yi )
1 1
k = f(x h,y k h)

2 i 2 i 1
2
k3 f(xi h , yi 1 h 2k 2 h)

Primera iteracin

k1 f(x0 , y0 ) f (0 ,1)
2
k1 (1)(0) .2(1)
k1 1.2

k2 f h , y k1h)
(x 0 2 0 2

1 1
k2 f (0.25) , 1 ( 1.2)(0.25))
(0 2 2

k2 f (0.125,0.85)
k2 0.85(0.125)2 .2(0.85)
k2 1.0067

k3 f(x o h , yo 1 h 2k 2 h)
1
y1 y0 (k 4k 2 k 3 )h
1
6
y1 0.7445

Segunda iteracin

x1 x0 h
x1 0 0.25

x1 0.25

k1 f(x1 , y1 ) 0.25, 0.7445)

k1 (0.7445)(0.25)2 .2(0.7445)
k1 0.8468

1 1
k f (x h , y k h)

1
2 1
21 2 1 1
k2 f (0.25 (0.25) , 0.7445 ( 0.8469)(0.25))
2 2

k2 f (0.375,0.6386)
k2 0.6386(0.375)2 .2(0.6386)
k2 0.6765

k3 (x1 h , y1 k 1h 2k 2 h)

k3 f (0.25),(0.7445) ( 0.8469)(0.25) 2( 0.6765)(0.25))


(0.25

k3 f (0.5,0.6178)
k3 0.6178(0.5)2 .2(0.6178)
k3 0.5870

1
y2 y1 (k 4k 2 k 3 )h
1
6
y2
0.57
20






Tercera iteracin

x2= x1+h
x2=0.25+0.5

1 1
k f (x h , y k h)
2 2 2
21 2 1 1
k2 f (0.25) , 0.5720 ( 0.5434)(0.25))
(0.5 2 2

k2 f (0.625,0.5041)
k2 0.5041(0.625)2 .2(0.5041)
k2 0.4080

k3 f(x 2 h , y2 k 1h 2k 2 h)

k3 f (0.25),(0.5720) ( 0.5434)(0.25) 2( 0.4080)(0.25))


(0.5

k3 f (0.75,0.5038)
k3 0.5038(0.75)2 .2(0.5038)
k3 0.3212

1
y3 y2 (k 4k 2 k 3 )h
1
6

y3 0.4679

Cuarta iteracin

x3 x2 h
x3 0.5 0.25
x3 0.75

k1 f(x3 , y 3 ) f (0.75,0.4679)

k1 (0.4679)(0.75)2
k1 0.2986
1.2(0.4679)

1 1
k f (x h , y k h)

2 3
3
21 2 1 1
k2 f (0.25) , 0.4679 ( 0.2983)(0.25))
(0.75 2 2

k2 f (0.875,0.4306)
k2 0.4306(0.875)2 .2(0.4306)
k2 0.1871

k3 f(x3 h , y3 k1h 2k 2 h)

k3 f (0.75 (0.25),(0.4679) ( 0.2983)(0.25) 2( 0.1871)(0.25))


k3 0.4489(1)2 .2(0.4489)
k3 0.0898

1
y4 y3 (k 4k 2 k 3 )h
1
6
y4 0.4206

x4 x3 h
x4 0.75
x4 1

VECTORES X 0 0.25 0.5 0.75 1


SOLUCION: y 1 0.7445 0.5720 0.4679 0.4206
INTRODUCCION
Considere el problema de calcular la pendiente de una curva desconocida que comienza en un
punto dado y satisface una cierta ecuacin diferencial dada. Se puede pensar en la ecuacin
diferencial como una frmula que nos permite calcular la pendiente de la recta tangente a la curva
en cualquier punto de la curva, una vez que el punto ha sido calculado.
La idea es que a pesar de que la curva es desconocida en un principio, su punto de comienzo, al
cual denotamos por A0, es conocido. Entonces, de la ecuacin diferencial se puede calcular la
pendiente de la curva en el punto A0 y por lo tanto la recta tangente a la curva.
Ahora, dando un pequeo paso sobre dicha recta, podemos tomarnos un nuevo punto A1 y suponer
que dicho punto pertenece a la curva, entonces seguimos el mismo razonamiento aplicado
anteriormente y volvemos a calcular la pendiente de la recta tangente a la curva en el punto A1.
Luego de varios pasos tendremos formada una curva poligonal A0A1A2A3... En general esta curva
que obtenemos al aplicar el mtodo no diverge lejos de la curva original, adems el error entre
ambas curvas se puede minimizar si se dan pasos muy pequeos al avanzar sobre la recta
tangente a la curva y adems el intervalo sobre el que trabajamos es finito (aunque las cosas son
ms complicadas para ecuaciones inestables, como se discute ms abajo)
FUNDAMENTO

El objetivo es desarrollar un algoritmo numerico para resolver el problema de valores iniciales

yr (x) = (x, y), y(a) = ya; x


[a, b] (1) siendo (x, y) una funcion acotada, continua
en la variable x y lipschitziana en la variable y en el dominio [a, b].

Considerese en principio el domino [a, b] discretizado en n + 1 puntos equiespaciados:

xi = x0 + ih, i = 0, n; x0
=a (2)

siendo el
espaciado h h=b (3)
a
n

El punto de partida lo constituye el desarrollo en Serie de Taylor de la funcion y(x) en el punto


xi+1 de la discretizacion del dominio

yrr (xi) 2
y(xi+1) = y(xi) + yr (xi)(xi+1 2 (x i+1 + ... (4)
x i) + ! x i)
esto es, dado que xi+1 = xi + h

y(xi+1) = y(xi) + yr (xi)h + (h2) (5)


donde (h2 ) denota los restantes terminos del desarrollo en serie que dependen del factor h2 y/o de
potencias superiores de h2 . Si en esta expresion se despeja la derivada primera:
y(xi+1) y(xi)
yr (xi) (h) (6)
= h
y(xi+1) y(xi)
y restando en ambos miembros (xi,
y(xi)) resulta (xi, y(xi)) (h). (7)
h

yr (xi) (xi,
y(xi)) =

Si a continuacin se impone que se satisfaga la ecuacin diferencial en cada punto xi , esto es,

yr (xi) (xi, y(xi)) = 0, i=


1, n (8)
resulta que debe
satisfacerse y(xi+1) y(xi)
h

(xi, y(xi)) (h) = 0, i = 1, n. (9)

El termino (h) es el Error de Truncamiento Local del Algoritmo y se denota como i (h). A
la vista
de la dependencia del orden con h podemos afirmar que el Mtodo de Euler es de primer orden.

La expresion (9) es equivalente a

y(xi+1) = y(xi) + h(xi, y(xi)) + hi(h), i=


0, n. (10)

El algoritmo del Mtodo de Euler consiste en obtener una aproximacin a la solucin a la


ecuacin (10) al considerar i(h) = 0, resultando

(11)
1. Consistencia del Mtodo

El Mtodo de Euler es consistente ya que, cuando el tamao de la discretizacion h tiende a 0, el


error local de truncamiento (i (h) = (h)) tambin tiende a cero, es decir,
i (h) 0 cuando h 0, i =
0, n. (12)

2. Convergencia del Mtodo

Vamos a analizar el Error Global de Truncamiento o Error Discretizacion


i (eT ), esto es la
diferencia entre la solucion analtica y la solucin aproximada que proporciona el algoritmo de Euler
dado por (11).
Denotaremos por zi al error de truncamiento
i eT como
eT y i
(13)
i zi = y(xi)
Si se restan las expresiones (10) y (11) obtenemos
zi+1 = zi + h((xi, y(xi)) (xi, )) + h (h), i=
0, n. (14)
yi i
Dado que h > 0, si tomamos valores absolutos en los dos miembros, resulta
|zi+1 | = |zi + h((xi , y(xi )) (xi , )) + h (h)|
yi i (15)
yi i

Dado que la funcion (x, y) es, por hiptesis, lipschitziana en y, es decir


k > 0 tal que |(xi , y(xi )) (xi , )| k|y(x ) | = k|z |, i,
(16)
yi i yi i
entonces (15) puede escribirse como
|zi+1 | (1 + hk)|zi | + h|i (h)|, i=
0, n. (17)

Denominemos (h) al mayor de los errores de truncamiento locales, esto es


(h) = max|i (h)|, i=
0, n. (18)

Si la igualdad (17) se aplica de forma recursiva para los valores de i, i 1, y as hasta 0 se


obtiene
|zi+1 | (1 + hk)|zi | + h (h)
(1 + hk)2 |zi 1| + (1 + hk)h (h) +
... h (h) (19)

(1 + hk)i+1 |z0 | + (1 + (1 + hk) + . . . + (1 + hk)i )h (h)

Por lo 1 (1 +
tanto: hk)i+1

|zi+1 | (1 + 1 (1 + h (h)
hk)i+1 |z0 | +
hk)
(1 +i+1
hk)
(h)
(1 + hk)i+1 |z0 | + . (h)
. k
(20)
(1 + hk)i+1 |z0| +
k

Por
y(x )otra
= y parte,
y = ysi, tenemos
y en cuenta que el error inicial (z0 = y(x0) ) es nulo ya que
y0 a y0 a
que se verifica la
desigualdad 0

0 (1 + )n en , 0, n 0, (21)
entonces la cota superior del error de truncamiento global del metodo de Euler es
(h) (i+1)hk

|zi+1 | e (22)
k

A la vista del resultado anterior, es obvio que el error global de truncamiento del metodo
tiende a 0 cuando el tamano de la discretizacion h tiende a 0, esto es,
lm |zi+1 | = 0, (23)
h0
por lo que podemos concluir que el metodo de Euler es convergente.
3. Estabilidad del Mtodo

Vamos a analizar seguidamente la estabilidad del mtodo de Euler, esto es el comportamiento de


la solucion numerico del mismo cuando se perturba el valor de la condicin inicial.

Para ello consideraremos el algoritmo (11) y el algoritmo del mtodo de Euler variando en un
valor la condicin inicial
i+1 = i + h (xi , i ), i = 0, n; 0
= ya + (24)
y analizaremos el error zi = que se produce.

yi i

Si restamos las expresiones de los algoritmos (11) y (24) se


obtiene =
(25
zi+1 = zi + h((xi , ) (x , )), i )
= 0, n; z
yi i i 0

que, tomando valores absolutos, resulta


|zi+1 | |zi | + h|(xi , ) (x , )|, i = 0, n; |z |
= ||. (26)
yi i i 0

Dado que la funcion (x, y) es lipschitziana, es decir,


k > 0 tal que |(xi , ) (x , )| k| | = k|z |, i,
(27)
yi i i yi i i

entonc
|zi+1 | |zi |(1 + hk), i=
es
0, n (28)

desigualdad que, aplicada de forma recursiva, conduce a

|zi+1 | (1 + hk)|zi | (1 + hk) 2 |zi 1 | . . . (1 + hk)i+1 |z | (29)


0

y en
consecuencia a |zi+1 | (1 + hk)i+1 . (30)

Teniendo en cuenta ahora la desigualdad (21), resulta que la cota superior del error que se
comete en la solucion numerica cuando se perturba la condicion inicial es

|zi+1 | e(i+1)hk . (31)

A la vista del resultado anterior, es obvio que el mayor error que se comete esta acotado
cuando el tamano de la discretizacion h tiende a 0, esto es
lm |zi+1 | = , (32)
h0
por lo que podemos concluir que el metodo de Euler es estable.
4. Convergencia del Mtodo cuando se consideran los errores de redondeo en los clculos

A continuacin, se analiza la evolucin del error (zi ) que se comete cuando se compara la
solucion analtica exacta y(xi) que se obtendra de (10) (si fuese posible hallarla)

y(xi+1) = y(xi) + h (xi, y(xi)) + hi(h), i = 0, n;


y(x0) = ya
(33)

con la que solucion aproximada inexacta (yi ) que proporciona el mtodo de Euler si se considera que
los clculos se realizan en un ordenador y se producen, por tanto, errores de redondeo (i) en las
operaciones, es decir,

yi+1 = yi + h (xi, yi) + i+1, i = 0, n; y0


= ya + 0 . (34)

Denominaremos zi al error cometido zi = y(xi) yi. Restando las expresiones (33) y


(34), resulta
zi+1 = zi + h((xi, y(xi)) (xi, yi)) + hi(h) i+1, i = 0, n; z0
= 0, (3

Anda mungkin juga menyukai