1. Universidad Centroccidental
“Lisandro Alvarado”
Decanato de Agronomía
Programa de Ingeniería y Tecnología Agroindustrial
Integrantes:
Alcázar, Victoria C.I: 17.308.776
Godoy, María C.I: 17.596.606
León, Marisol C.I: 19.726.213
Santana, Susana C.I: 17.135.594
Enero 2011
2. 1-Metodo de Runge-Kutta: es un método genérico de resolución numérica de ecuaciones
diferenciales, que permiten lograr la exactitud del procedimiento de la serie de Taylor sin necesitar el
cálculo de derivadas de orden superior.
Algoritmo del método:
%Rungekutta
syms xy
f=input ('Introduzca la pendiente:');
x0 = input ('Introduce el valor inicial de x:');
y0 = entrada ("Introduzca el valor inicial de y: ');
n = input ('Introduce el valor de y para buscar:');
h = (n-x0) / 100;
para i = 1:100
k1 = h * subs (f, {x, y}, {x0, y0});
k2 = h * subs (f, {x, y}, {x 0 + h / 2, y0 + k1 / 2});
k3 = h * subs (f, {x, y}, {x 0 + h / 2, y0 + k2 / 2});
k4 = h * subs (f, {x, y}, {x 0 + h, y0 + k3});
y0 = y0 + 01.06 * (k1 +2 * k2 +2 * k3 + k4);
x0 = x0 + h;
final
pantalla (y0);
Existen muchas variantes, pero todas tienen la forma generalizada siguiente:
1.1Ecuacion generalizada:
y i + 1 = yi + φ(xi,yi,h)h (ec1)
Donde φ (xi,yi,h) 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:
φ=a1k1 +a2k2+........+ankn
Donde las a son constantes y las k son:
k1 = f (xi, yi)
k2 = f (xi + p1h, yi + q11k1h)
k3 = f (xi + p2h, yi + q21k1h + q22k2h)
.
3. .
Kn= f (xi+pn-1h, yi+qn-1k1 h +qn-1k2h+…….qn-1, n-1 kn-1 h)
Donde las p y la q son constantes, se puede percibir que las k son relaciones de recurrencia, es
decir, k1 aparece en la ecuación para k2, la cual aparece en la ecuación para k3, y así sucesivamente.
Como cada k es una evaluación funcional, esta recurrencia vuelve eficiente a los métodos RK para
cálculos en la computadora. Es posible tener varios tipos de métodos Runge-Kutta empleando
diferentes números de términos en la función incremento especificado por n.
1.2Aplicación: no es sólo un método sino una importante familia de métodos iterativos tanto
implícitos como explícitos, que al ponerlos en práctica permiten aproximar las soluciones de
ecuaciones diferenciales ordinarias.
1.3-Tipos de Métodos de Runge-Kutta:
1.3.1- De Segundo Orden: La versión de segundo orden de la (ec1) viene dada por:
yi + 1 = yi + (a1k1 + a2k2)h (ec2)
donde:
k1 = f (xi, yi) (ec7)
k2 = f (xi + p1h, yi + q11k1h) (ec6)
Los valores de a1, a2, p1 y q11 se evalúan al igualar la (ec2) con la expansión de la serie de
Taylor hasta el termino de segundo orden en términos de yi y f (xi, yi) , así tenemos:
Yi+1=yi + f (xi, yi) h+ (f’ (xi, yi)/2!)h² (ec3)
Donde f (xi, yi) debe determinarse por derivación usando la regla de la cadena:
f’(xi, yi)= Ƌf(x,y) + Ƌf(x,y) dy (ec4)
Ƌx Ƌy dx
Si sustituimos la (ec4) en la (ec3) se obtiene:
4. Yi+1=yi + f (xi, yi) h+ Ƌf + Ƌf dy h² (ec5)
Ƌx Ƌy dx 2!
La estrategia básica de los métodos de runge-kutta es el uso de manipulaciones algebraicas para
obtener los valores de a1, a2, p1 y q11, que hacen equivalentes a las ecuaciones (ec1) y (ec5). Por
tanto primero usamos una serie de Taylor para expandir la (ec6), al aplicarlo se llega a:
F(x1+p1h, yi + q11k1h)=f (xi, yi) + p1h Ƌf + q11k1h Ƌf + O (h²)
Ƌx Ƌy
Este resultado se sustituye junto con la (ec7) y agrupando términos obtenemos:
Yi+1= yi+ [a1f (xi, yi) + a2f (xi, yi)] h + a2p1 Ƌf + a2q11f (xi, yi) Ƌf h² + O (h³) (ec8)
Ƌx Ƌy
Ahora si podemos comparar términos comunes en las (ec5) y (ec8), determinamos que para las
dos ecuaciones sean equivalentes, se debe satisfacer lo siguiente:
a1 + a2 = 1 (ec9)
a2p1 = 1 / 2 (ec10)
a2q11 = 1 / 2 (ec11)
Como se tienen tres ecuaciones con cuatro incógnitas es decir hay una incógnita más que el
número de ecuaciones, no existe una única constante que satisfaga las ecuaciones. Suponiendo que se
especificó un valor para una de las constantes, es posible determinar el valor de las otras. Por tanto
existe una familia de métodos de segundo orden y no una sola versión.
5. Supongamos que damos un valor para a2 entonces se resuelve de manera simultánea las (ec9) y
(ec11) obteniendo:
A1=1-a2
P1= q11= 1
2 a2
• Tomando a2 = 1 / 2 Método de Heun con un solo corrector, al sustituir tenemos:
Donde:
k1 = f (xi, yi)
k2 = f (xi + h, yi + k1h)
Por tanto k1 es la pendiente al inicio del intervalo y que k2 es la pendiente al final del intervalo.
• a2 = 1: Método del punto medio: si partimos de que a2=1, entonces a1=0, p1=q11=1/2 y
obtenemos:
Yi + 1 = yi + k2h
donde:
k1 = f (xi, yi) (ec12)
(ec13)
• a2 = 2 / 3: Método de Ralston: se obtiene un mínimo en el error de truncamiento para los
6. algoritmos RK de segundo orden, entonces se tiene que a1=1/3 y p1=q11=3/4
Donde:
k1 = f (xi, yi)
Ejemplo: Integre numéricamente la ecuación siguiente: f(x, y)= -2x³+12x²-20x+ 8.5 desde x=0 hasta
x=4, usando un tamaño de paso de 0.5. La condición inicial es x=0, y=1 aplicando el método de punto
medio.
Solución:
Primeramente procedemos a usar la ecuación (ec12):
k1= -2(0)³ + 12(0)² - 20(0) + 8.5= 8.5
Sin embargo, como la EDO está en función solo de x, este resultado carece de relevancia sobre
el segundo paso usando la ecuación (ec13):
K2= -2(0.25)³ + 12(0.25)² - 20(0.25) + 8.5= 4.21875
Así obtenemos que la pendiente en el punto medio es de 4.21875.
1.3.2- De Tercer Orden:
Para n = 3 es probable efectuar un desarrollo similar al del método de segundo orden, el
resultado son seis ecuaciones con ocho incógnitas, por lo tanto se deben suponer dos valores de las
incógnitas con antelación para poder desarrollar el sistema de ecuaciones. Una versión ampliamente
usada es:
7. Donde:
k1 = f (xi, yi)
k3 = f (xi + h, yi − k1h + 2k2h)
Si la EDO está en función solo de x, este método de tercer orden se reduce a la regla de
Simpson 1/3. En cualquier caso, los métodos de tercer orden tienen errores local y global, y dan
resultados exactos cuando la solución es una cubica. Al tratarse de polinomios será también exacta
cuando la ecuación diferencial sea cubica y la solución sea de cuarto grado. Esto se debe a que la regla
de Simpson 1/3 ofrece estimaciones exactas de la integral para cubicas.
La regla de Simpson 1/3 se puede expresar usando el formato de la ecuación:
I≈ (b-a) f(x0) + 4f(x1) + f(x2) (ec14)
6
Donde a=x0, b=x2 y x1= el punto a la mitad entre a y b, que está dado por:
(b+a)/2, el punto medio esta ponderado por dos tercios y los puntos extremos por un sexto.
Tiene un error de truncamiento de:
Et:= - 1 (h) ˆ 5 f (4) (ξ) como h= (b-a)/2 entonces
90
Et:= - (b-a) ˆ 5 f (4) (ξ) (ec15)
2880
Donde ξ se encuentra en algún lugar en el intervalo de [a, b].
Nota: ˆ: el símbolo indica que (b-a) esta elevado a la 5.
Ejemplo: Integre la ecuación f(x)= 0.2+25x-200x²+675x³-900x³+400xˆ (5) desde a=0 hasta b=0.8.
8. Sabiendo que la integral exacta es 1.640533
Solución:
f(0)= 0.2 f(0.4)=2.456 f(0.8)=0.232
Por lo tanto, usando la (ec14) tenemos:
I≈ 0.8 0.2+ 4(2.456) + 0.232 = 1.367467 que representa un error exacto de
6
Et=1.640533-1.367467=0.2730667= 0.2730667
1.3.3- De Cuarto Orden: es el más popular de los métodos RK es el de cuarto orden, como en el caso
de los procedimientos de segundo orden, hay un número infinito de versiones, es la forma comúnmente
usada y por lo tanto se le denomina método clásico RK de cuarto orden:
Yn+1=yn+1/6(k1+4k2+k3) h
Donde:
Las ecuaciones EDO que están en solo en función de n, el método RK clásico de cuarto orden
es similar a la regla de Simpson 1/3, así como también con el método de heun en cuanto a que se usan
múltiples estimaciones de la pendiente para obtener una mejor pendiente promedio en el intervalo.
9. 2-IMPLEMENTACION DE SISTEMAS NUMERICOS EN EL COMPUTADOR:
En el mundo de la informática los sistemas numéricos son las distintas formas de representar la
información numérica, son un conjunto de símbolos y reglas de generación que permiten construir
todos los números válidos en el sistema y un conjunto de datos. Estos sistemas permiten representar la
información que posee un computador, y dicha información podrá ser utilizada a su conveniencia por el
operador del dispositivo. Esta información almacenada en el computador estará disponible para todos
los usuarios existentes, y también disminuye la capacidad de almacenaje de la misma, por tanto es
importante conocer las unidades de almacenamiento que este posee.
Los sistemas numéricos que utiliza el computador son muy representativos entre ellos se
encuentran los siguientes:
• Sistema Numérico Binario: se conoce también como un sistema de base dos, se utiliza en las
maquinas electrónicas porque se basa en dos estados (base dos) estables, el 0 y el 1 (apagado y
encendido) que utiliza el hardware de las computadoras. Es un sistema de numeración que
utiliza internamente hardware de las computadoras actuales, se basa en la representación de
cantidades utilizando los dígitos 1 y 0, donde el 1 es encendido y el 0 representa apagado; por
tanto su base es dos numero de dígitos de sistemas. El byte es la unidad básica de medida de la
información representada mediante este sistema.
Múltiplo Representa
Nibble Conjunto de 4 bits 1001
Byte Conjunto de 8 bits 10101010
Kilobyte (Kb) Conjunto de 1024 bytes 1024 * 8 bits
Megabyte (Mb) Conjunto de 1024 Kb 10242 * 8 bits
Gigabyte (Gb) Conjunto de 1024 Mb 10243 * 8 bits
Terayte (Tb) Conjunto de 1024 Gb 10244 * 8 bits
10. • Sistema numérico decimal: es el sistema de numeración usado habitualmente en todo el
mundo y en todas las áreas que requieren de un sistema de numeración, sin embargo en la
informática, donde se utilizan sistemas de numeración de propósito específico como el binario o
el hexadecimal. Este usa un conjunto de símbolos cuyo significado depende fundamentalmente
de su posición relativa al símbolo, denominado coma (,) decimal que en caso de ausencia se
supone colocada a la derecha. Utiliza como base el 10, que corresponde al número del símbolo
que comprende para la representación de cantidades; estos símbolos son:
0123456789
• Sistema numérico decimal: es el sistema de numeración usado habitualmente en todo el
mundo y en todas las áreas que requieren de un sistema de numeración, sin embargo en la
informática, donde se utilizan sistemas de numeración de propósito específico como el binario o
el hexadecimal. Este usa un conjunto de símbolos cuyo significado depende fundamentalmente
de su posición relativa al símbolo, denominado coma (,) decimal que en caso de ausencia se
supone colocada a la derecha. Utiliza como base el 10, que corresponde al número del símbolo
que comprende para la representación de cantidades; estos símbolos son:
0123456789
• Sistema numérico octal: es un sistema de numeración cuya base es 8 , es decir, utiliza 8
símbolos para la representación de cantidades, la posición de sus cifras se mide con la relación a
la coma decimal que en caso de no aparecer se supone implícitamente a la derecha del numero.
Estos símbolos son:
01234567
Los números octales pueden construirse a partir de números binarios agrupando cada
tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor
decimal.
• Sistema numérico hexadecimal: es un sistema posicional de numeración en el que su base es
16, por consiguiente utiliza 16 símbolos para la representación de cantidades.
Estos símbolos son: 0 1 2 3 4 5 6 7 8 9 A B C D E F. Su uso actual está muy vinculado a
la informática, ya que un dígito hexadecimal representa cuatro dígitos binarios (4 bits = 1
nibble); por tanto, dos dígitos hexadecimales representan ocho dígitos binarios (8 bits = 1 byte,
11. (que como es sabido es la unidad básica de almacenamiento de información). Para representar
un número en base hexadecimal (base dieciséis; b=16), es necesario disponer de un conjunto, o
alfabeto, de 16 símbolos. Dado que nuestro sistema usual de numeración es de base decimal, y
por ello sólo disponemos de diez dígitos, se adoptó la convención de usar las seis primeras
letras del alfabeto latino para suplir los dígitos que nos faltan: A = 10, B = 11, C = 12, D = 13, E
= 14 y F = 15. Como en cualquier sistema de numeración posicional, el valor numérico de cada
dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado
por una cierta potencia de la base del sistema, que en este caso es 16.
Lectura y escritura de Archivos Binarios en MATLAB:
• Escritura:
Supongamos que deseamos almacenar en forma binaria en un archivo binario.dat los siguientes
datos:
A= 4 -28 B=27,
30 46
4
D= -9 C=`MATLAB`
-3
Opciones para la variable Precisión
`char` Caracteres de 8 bits usando texto.
`short` Enteros de 16 bits.
`long` Enteros de 32 bits.
`float` Número real de precisión sencilla.
`double` Número real de precisión doble.
12. Primero se ingresan los datos:
>>A= [4 -28; 30 46]; B=27; C=`MATLAB`; D= [4; -9; -3];
Luego abrimos el archivo:
>>fid_binario= fopen (`binario.dat`, `w`)
fid_binario=
3
Para escribir usamos:
>>fwrite(fid_binario, A, `double`)
ans=
4
La operación de escribir regresa el 4 indicando que se escribieron cuatro elementos de la variable A.
Ahora escribimos B,
>> fwrite(fid_binario, B, `short`)
ans=
1
Lo que indica que se escribió un elemento de B. Continuamos con C,
>> fwrite(fid_binario, C, `char`)
ans=
6
Lo que indica que se escribieron 6 caracteres. Finalmente para D,
>> fwrite(fid_binario, D, `long`)
ans=
3
Lo que indica que se escribieron 6 caracteres. Finalmente para D,
>> fwrite(fid_binario, D, `long`)
ans=
3
Lo que indica que se escribieron 3 elementos para D.
Ahora cerramos el archivo
13. >>fclose (fid_binario)
ans=
0
Finalmente de esta forma los datos fueron almacenados en la computadora en forma binaria, de
manera eficiente y no pueden ser leídos con editores de textos.
• Lectura:
Para leer los datos primero abrimos el archivo:
>>fid_bin=fopen (`binario.dat`, r)
fid_bin=
3
Y ahora usamos fread, cuyo format es:
>> [A,cuenta]=fread(fid_bin, [2,2],`double`)
Donde A es el nombre de la matriz y cuenta es el número de elementos (4 en este caso de la matriz A).
Matlab nos da como resultado de la lectura los datos de A que se almacenaron en binario.dat
previamente, como se muestra a continuación:
>>[A,cuenta]=fread(fid_bin, [2,2],`double`)
A=
4 -28
30 46
cuenta=
4
Los datos deben ser leídos en el mismo orden y en el mismo formato con el que fueron escritos
en el archive binario. Para leer los datos de las demás variables que almacenamos en nuestro archivo
binario usamos:
>>B=fread(fid_bin, [1],`short`)
B=
27
>>C=fread(fid_bin, [6],`char`)
14. C=
77
86
58
34
45
69
Se percibe q C es una cadena escrita en ASCII. Para convertirla a cadena de caracteres, obtenemos, la
transpuesta y usamos setstr.
>> C=C
C=
77 86 58 34 45 69
>>C=setstr(C)
C=
MATLAB
>D= fread(fid_bin, [2 1],`long`)
D=
4
-9
Ya que terminamos con el archive binario.dat lo cerramos
>fclose(fid_bin)
ans=
0
Indicando con este resultado que el archivo se cerró satisfactoriamente.
15. CONCLUSION
Como conclusiones podemos mencionar que:
• Los métodos numéricos de runge-kutta se enfocan 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 (EDO’S), pero con un orden de exactitud más alto que este.
• Los sistemas numéricos utilizados en el computador son un conjunto de símbolos y reglas de
generación que permiten construir todos los números válidos en el sistema y un conjunto de
datos, el cual permiten representar la información que posee un computador, y dicha
información podrá ser utilizada a su conveniencia por el operador del dispositivo.
16. BIBLIOGRAFÍA
• David Báez López. Matlab con Aplicaciones a la Ingeniería Física y Finanza. Primer Edición
• Raymond Canalé, Seven C. Charpa. Métodos Numéricos para Ingenieros. 5ta Edición.
• Richard Burden. Análisis Numérico. 7ma Edición.
• www.itmorelia.edu.mx
• www.wikipedia.com
• www.tonahtiu.com