Está en la página 1de 28

NDICE

1.
2.
3.
4.
5.
6.
7.

OBJETIVOS
FUNDAMENTO TERICO
PROCEDIMIENTO PRCTICO
CUESTIONARIO FINAL
OBSERVACIONES Y/O CONCLUSIONES
ANEXO
BIBLIOGRAFA

I.
i.

OBJETIVOS

Emplear GUIDE de MATLAB para la creacin de interfaces graficas y


aplicarlas a la solucin de problemas con mtodos numricos.

II. FUNDAMENTO TERICO


-

Introduccin

Se define al GUIDE como entorno de programacin visual hecho en


MATLAB, en el cual se requiere un continuo ingreso de datos

Inicio

Inicio de GUIDE mediante dos maneras:


Ejecucin de una instruccin en la ventana de comando

Dando clic al icono siguiente:

Luego se presenta una nueva ventana de dialogo

Se presentan las siguientes opciones:


a) Blank GUI (Default)
La opcin de interfaz grfica de usuario en blanco (viene predeterminada), nos
presenta un formulario nuevo, en el cual podemos disear nuestro programa.

b) GUI with Uicontrols


Esta opcin presenta un ejemplo en el cual se calcula la masa, dada la densidad
y el volumen, en alguno de los dos sistemas de unidades. Podemos ejecutar este
ejemplo y obtener resultados.
c) GUI with Axes and Menu
Esta opcin es otro ejemplo el cual contiene el men File con las opciones Open,
Print y Close. En el formulario tiene un Popup menu, un push button y un objeto
Axes, podemos ejecutar el programa eligiendo alguna de las seis opciones que
se encuentran en el men despegable y haciendo click en el botn de comando.
d) Modal Question Dialog
Con esta opcin se muestra en la pantalla un cuadro de dilogo comn, el cual
consta de una pequea imagen, una etiqueta y dos botones Yes y No,
dependiendo del botn que se presione, el GUI retorna el texto seleccionado (la
cadena de caracteres Yes o No).

Entonces elige la primera opcin BLANK GUI (Default)

Se puede notar las siguientes herramientas y su funcin :

En el caso de los componentes, ubicado en el extremo izquierdo (todo el panel),

Entonces se describe algunos en la siguiente tabla (su funcin):

Funcionamiento de una aplicacin GUI

Una aplicacin GUIDE consta de dos archivos: .m y .fig. El archivo .m es el que


contiene el cdigo con las correspondencias de los botones de control de la
interfaz y el archivo .fig contiene los elementos grficos. Cada vez que se
adicione un nuevo elemento en la interfaz grfica, se genera automticamente
cdigo en el archivo .m. Para ejecutar una Interfaz Grfica, si la hemos
etiquetado con el nombre curso.fig, simplemente ejecutamos en la ventana de
comandos >> curso. O haciendo click derecho en el m-file y seleccionando la
opcin RUN.
-

CONTROLES DE INTERFAZ GUIDE (MAS DETALLADO)

Los controles de la interfaz con el usuario en MATLAB se especifican con la orden


uicontrol. Estos controles tienen mucho en comn con los mens de la interfaz
con el usuario, pero los primeros tienen muchos estilos. La sintaxis de uicontrol
es:
k=uicontrol(Style,especificacindeestilo,String,cadenapara
exhibir,Value,[valor],BackgroundColor,[r,g,b],Max[valor],Min[valor],
Position,[izq,base,ancho,alto],CallBack,cadenadeinvocacion)

donde especificacindeestiloes una de las siguientes cadenas:


popup
push
radio
checkbox
slider
edit(texto editable)
text(texto esttico)

frame

Las propiedades de iucontrolson similares a las de uimenu. las propiedades que


aparecen aqu por primera vez son:
a) Value, valor: especifica el valor por omisin de ajuste. En el caso de
interruptores de encendido/apagado, valor es 0 o 1. En el caso de un control
deslizante (slider), puede ser cualquier valor entre el mnimo y el mximo.
b) Min, Valor: establece el valor mnimo. Su significado difiere dependiendo del
estilo.
c) Max, Valor: establece el valor mximo. Su significado difiere dependiendo
del estilo.
Hay muchas ms propiedades que pueden incluirse en los comandos de
uicontrol, tal como sucede con las propiedades de uimenu, aunque al programar
conviene minimizar el nmero de propiedades a fin de simplificar el guin.
- Texto esttico.

Un static text puede exhibir smbolos, mensajes o incluso valores numricos de una
GUI, y puede colocarse en lugar deseado. El texto esttico no tiene cadenas de
invocacin. A continuacin mostramos un ejemplo de texto esttico.
k1=uicontrol(Style,text,String,cadenaparaexhibir,Position,
[20,50,140,30])

El contenido de un texto exhibido puede modificarse si es necesario. Esto se hace con


el comando set. Por ejemplo, ejecute el comando que sigue desde la ventana de
comandos mientras est vigente el ejemplo anterior de orden uicontrol:
set(k1,string,Ahora

aparece un texto modificado.)

-Men desplegable.

Los pop-up mens difieren de los mens de interfaz con el usuario en que pueden
aparecer en cualquier punto de la ventana de figura, mientras que los mens de
interfaz con el usuario solo se localizan en la parte superior.
-Los Push button

Generan una accin cuando das click con el puntero del ratn sobre ellos. Cuando usted
da click en un push button, aparece presionado; Cuando sueltas el botn del ratn, el
botn aparece levantado; y su rutina de llamada se ejecuta.
-Casilla de verificacin.

Las casillas de verificacin estn diseadas para realizar operaciones de


encendido/apagado. La casilla activa o desactiva la aparicin de los ejes. Las posiciones
de encendido/apagado se registran en Valueque puede examinarse con get(handle,
value). Los comandos axisony axisoff se escriben en la cadena de invocacin.
-Botn de radio.

Cuando solo se usa un botn de radio, no existe diferencia funcional alguna con
respecto a una casilla de verificacin. Por otro lado, los botones de radio en grupo son
mutuamente exclusivos (es decir, si un botn esta encendido, todos los dems botones
se apagan), mientras que las casillas de verificacin son independientes entre s. Sin
embargo, esta caracterstica exclusiva de los botones de radio slo puede
implementarse mediante la programacin del usuario en la cadena de invocacin.
-Barra deslizadora.

Los sliders aceptan datos de entrada numricos con un rango especfico. Los usuarios
mueven la barra dejando presionado el botn del mouse y arrastrndola, Dando clic en
el canal, en la flecha. La posicin de la barra indica un valor numrico.

-Texto editable.

El dispositivo de texto editable permite al usuario teclear una cadena de entrada. Se


pueden escribir varios valores numricos en forma de vector o matriz como cadena
mediante el mismo dispositivo; esta cadena se convertir posteriormente en valores
numricos con el comando str2num.
Un ejemplo de uicontrol para texto editable es:
ed1=uicontrol(gcf,Style,edit,Position,[10,260,110,20],CallBack,
inp_txt=get(ed1,string))

Las palabras clave en el comando anterior son Style,edity get(mango,string)


que capturan el texto introducido.
-Marcos.

El estilo marcos puede servir para agrupar dispositivos como lo botones de radio o las
casillas de verificacin.

-Botn de palanca.

El toggle button genera una accin que indica un estado binario (on o off). Cuando das
click en un toggle button , aparece presionado y permanece as hasta que sueltes el
boton de el mouse, y en ese momento ejecuta la llamada. Un click del mouse
subsecuente regresa al toggle button a su estado original y vuelve a ejecutar la rutina
de llamada.
-Cajas de lista.

El componente List Box muestra una lista de artculos y permite a usuarios seleccionar
unos o ms artculos.
-Mltiples Ejes
Al crear una interfaz con el usuario, a menudo hay necesidad de trazar una o ms
grficas dentro de la interfaz. Podemos usar el comando subplotpara este fin, pero el
comando axeses ms flexible y ofrece opciones verstiles a los programadores. El
comando axesabre un eje en un punto especificado dentro de una ventana de figura.
Aunque podemos abrir varios ejes en una ventana de figura con axes, primero
consideramos nicamente uno.

PROPERTY INSPECTOR

El inspector de propiedades est compuesto de la siguiente forma como se muestra en


la figura.

ALGUNOS UICONTROLS

1. BackgroundColor

El color usado para rellenar el rectngulo de unicontrol. Especfica un color usando un


vector de tres elementos RGB (rojo, verde y azul) o uno de los nombres ya predefinidos
en Matlab. El color por "default" es determinado por la configuracin del sistema
2. Callback
Controla la accin. Una rutina que se ejecuta cuando se activa un objeto de la clase
uicontrol.
Define esta rutina como una cadena. La expresin se ejecuta en el espacio de trabajo
de Matlab.
Para ejecutarla rutina para un control de texto editable, escribe el texto deseado y
despus sigue uno de los siguientes pasos:
-Mueve la seleccin del objeto (da click en cualquier otra parte)
-Para un texto editable de una sola lnea, presiona Return
-Para una caja de texto (text box), presiona Ctrl-Return.
3. CreateFcn
Rutina de llamada ejecutada cuando se crea un objeto. Esta propiedad define una rutina
de llamada que es ejecutada cuando Matlab crea un objeto de la clase uicontrol. Se
debe definir esta propiedad como un valor por default para los uicontrols.
4. Extent

Tamao de un carcter cadena uicontrol. Un vector de cuatro elementos que define el


tamao y la posicin de un carcter de tipo cadena usada para etiquetar el uicontrol.
Tiene la forma:

[0, 0, width,height]

Los dos primeros elementos siempre son cero. width (ancho) y height (alto) son las
dimensiones del rectngulo. Todas las medidas son unidades especificadas por la
propiedad Units.
Ya que la propiedad Extent est definida en las mismas unidades que el uicontrol
mismo, puedes usar esta propiedad para determinar el tamao adecuado del ancho del
uicontrol con respecto a su etiqueta. Haciendo lo siguiente:
- Definiendo la propiedad String y seleccionando la fuente usando las propiedades
relevantes.
- Tomando el valor de la propiedad Extend
- Definiendo width y height de la propiedad Position (posicin) propiamente a ser de
alguna manera ms grandes que width y height de Extend.
5. FontAngle

Inclinacin de un Carcter. Poniendo esta propiedad en Italic (italica) o oblique (oblicua)


selecciona una versin inclinada de la fuente, cuando est disponible en tu sistema.
6. FontSize
Tamao de la fuente. Un nmero que especifica el tamao de la fuente que va a ser
mostrado en la cadena, in unidades determinadas por la propiedad FontUnits. El
tamao por default es dependiente del sistema.
7. FontUnits

Unidades del tamao de la fuente. Esta propiedad determina las unidades usadas por la
propiedad FontSize.Las unidades normalizadas interpretan el FontSize como una
fraccin de la altura de el uicontrol. Cuando tu cambias el tamao del uicontrol, Matlab

modifica la pantalla FontSize. pixels (pixeles), inches (pulgadas), centimeters


(centimetros) y points (puntos) son unidades absolutas (1 punto = 1/72 pulgada).
8. FontWeight

Peso de un carcter. Poniendo esta propiedad en Bold hace que Matlab use una versin
"negrita" de la fuente, cuando est disponible en tu sistema.
9. ForegroundColor
Color de texto. Esta propiedad determina el color del texto definido por la propiedad
String. Especifica un color usando un vector de tres elementos RGB o un nombre
predefinido en Matlab.
10.

Horizontal Alignment

Alineacin Horizontal de una cadena de una etiqueta. Esta propiedad determina la


justificacin de el texto definido por la propiedad String (la etiqueta uicontrol): "#left El texto se justifica a la izquierda con respecto al uicontrol "#center - El texto se centra
con respecto al uicontrol "#right - El texto se justifica a la derecha con respecto al
uicontrol En el sistema operativo Windows de Microsoft, esta propiedad afecta solo a los
uicontrols edit y text.
11.

Tag

Etiqueta del objeto especificada por el usuario. La propiedad tag proporciona una
manera de identificar objetos grficos con una etiqueta especificada por el usuario. Esta
es particularmente til cuando construyes programas grficos interactivos que de otra
manera necesitaran definir identificadores de objetos como variables globales o
pasarlas como argumentos entre rutinas de llamada. Puedes definir la propiedad tag
como cualquier cadena.
12.

String

Para los check boxes, editable text, push buttons, radio buttons, static text, and toggle
buttons, el texto que se muestra en el objeto.

Para los list boxes y pop-up men, el conjunto de elementos o articulos del objeto.
Para objetos uicontrol que muestran solo una lnea de texto, si el valor de String es
especificado como arreglo de celdas tipo cadena (los elementos en las celdas son
cadenas) o una matriz rellena, solo la primer cadena se muestra; los dems son
ignorados, el carcter guion vertical ('|') no es interpretado como un cambio de lnea
sino que se muestra en el texto del uicontrol. Para texto editable o esttico (editable
text o static text), cambios de lnea ocurren entre cada columna de la matriz, cada
celda de el arreglo tipo cadena y despus de cada carcter \n. Para mltiples elementos
en un list box o un pop-up men, tu puedes especificar los elementos como un arreglo
de celdas tipo cadenas, una matriz rellena de cadenas, o en un vector separados por
guiones verticales ('|').
Para editable text, el valor de esta propiedad es asignado a la cadena capturada por el
usuario.
13.

Value

Valor actual de el uicontrol.La clase (o estilo) uicontrol determina los posibles valores
que esta propiedad puede tener:
- Check boxes - ponen su propiedad Value (valor) en Max (el mximo) cuando estn
seleccionados y en Min (el mnimo) cuando no estn seleccionados.
- List boxes - ajustan su valor a un vector correspondiente a los elementos de la lista
- Pop-up menu - ajustan su valor a un ndice de artculos seleccionados, donde 1
corresponde al primer elemento del men.
- Radio buttons - ponen su propiedad Value (valor) en Max (el mximo) cuando estn
seleccionados y en Min (el minimo) cuando no estn seleccionados.
- Sliders - ajustan su valor al nmero indicado por la posicion de el slider (deslisador)
- Toggle buttons - ponen su propiedad Value en Max cuando estn presionados
(seleccionados) y en Min cuando no estn seleccionados.
- Editable text, Frames, Push buttons, y Static text no usan esta propiedad.
Puedes ajustar este valor ya sea interactivamente con el mouse o atraves de la funcion
set.
14.

Units

Unidades de medida. Las unidades que Matlab usa para interpretar las propiedades
Extend y Position. Todas las unidades son medidas de la esquina inferior izquierda de la
figura ventana.

ALGUNOS UIMENUS

1. Callback

Controla la accin. Una rutina que se ejecuta cuando se activa un objeto de la clase
uicontrol.
Define esta rutina como una cadena. La expresin se ejecuta en el espacio de trabajo
de matlab.
Para ejecutarla rutina para un control de texto editable, escribe el texto deseado y
despus sigue uno de los siguientes pasos:
-Mueve la seleccin del objeto (da click en cualquier otra parte)
-Para un texto editable de una sola lnea, presiona Return
-Para una caja de texto (text box), presiona Ctrl-Return.
Esta rutina definida para los componentes frame y ststic text no se ejecuta porque
ninguna accin est asociada con estos objetos.
2. ButtonDownFcn
Rutia de llamada de presionar un botn. Una rutina de llamada que se ejecuta cuando
presionas un boton del mouse mientras el cursor esta en un unicontrol. Cuando la
propiedad enable del unicontrol esta desactivada, el ButtonDownFcn se ejecuta cuando
haces clic en el unicontrol. Esto es util para implementar acciones para modificar
interactivamente las propiedades de control del objeto, como el tamao y la posicin.
Esta rutina se define como una cadena (string) que es una expresin valida en Matlab o
el nombre de un archivo M (M-file). La expresin se ejecuta en el espacio de trabajo de
matlab.
La propiedad de llamada define la rutina de llamada que se ejecuta cuando das clic en
el botn

III. PROCEDIMIENTO PRCTICO


[Todos los archivos fig y m de los siguientes ejercicios, estn
adjuntos junto al informe (Archivo rar)]
III .1 Desarrollar el GUI ejemplo del marco terico de la gua laboratorio <<MATLAB GUIDE>>

III .1
Algoritmo )
1. Obtener dato (en este caso un imagen)
2. Leer imagen
3. Guardan dicha imagen en variable fija del callback de la funcin abrir y auxiliar
para usar en otros callback
4. Presentar la imagen en pantalla para las modificaciones
5. Se hacen los correspondientes operaciones: Emborronado, rotar 90, color
6. Se utiliza la variable auxiliar del paso 3 y con ella se puede resetear o reponer la
imagen inicial

7. De ah se regresa al paso 4 y se cierra el bucle (paso 4 a 6).

III .1
Archivo M )

III .1
Archivo FIG )

III .1
Resultados )

Nota: la limitacin de este programa

III .1 , radica en que imagen deber cuadrada,

para qu la funcin emborronar funcione.

III .2 Desarrollar una GUI que ejecuta una calculadora con las operaciones aritmticas bsicas.

III .2
Algoritmo )
Se define para cada push button, el dato que va imprimir en el static text1 ; en el caso
del numero su correspondiente numero
aritmticos su smbolo

[ 0,1,2,3,4,5,6,7,8,9 ] , pero en caso operadora

+,,, ( . ) ,/
, (la excepcin esta en el igual y AC). Entonces:

1. Activacin de un push button (excepcin


2.
3.
4.
5.
6.

[ , AC ] ).

Primero se lee el dato ya predispuesto en el static text.


Se procede a almacenar en una variable el dato predispuesto
Unin entre el dato predispuesto y el valor del push button operante actual.
Almacenar dato unido en el callback del push button.
Imprimir ya el dato unido de den pantalla.

As sucesivamente se produce un bucle condicionado por el usuario [1 a 3], hasta


terminar toda la operacin, y ahora cuando se activa el push button igual:
7. Paso 2
8. Paso 3
9. Se evala el dato predispuesto.
10.Se almacena en una variable el resultado de la evaluacin.
11.Se imprime dicha variable en el static text.
Si se utiliza el

12.

13.

AC . Entonces

Se imprime en pantalla un dato vacio (' ')


Luego se inicia en paso 1

1 Este elemento no posee callback en el archivo y no aparece en el archivo m pero si


tiene direccin el cual es su propio tag

III .2
Archivo M )

Resultados(III .2)

IV. CUESTIONARIO FINAL


IV .1

Desarrollar una GUI que sirva para solucionar EDO con los diferentes mtodos

revisados en teora. La GUI deber mostrar la grfica de la solucin numrica y si es


posible la grfica de la solucin analtica.

Algoritmo
Los datos comunes que se debe ingresar para la solucin de ecuaciones diferenciales
ordinarias ya sea por el mtodo de Euler, Runge Kutta de 2do o 3er orden, son los
siguientes:

dy
dx

F ( x , y )=

x0

: valor inicial en x

xf

: valor limite en x

y0

: valor inicial en y

Ecuacin diferencial

: paso

Entonces:
1. Leer dato del edit text perteneciente a la ecuacin diferencial

2. Asignar una variable al dato del paso 1 y guardarla 2


3. Leer dato del edit text perteneciente al resto de datos comunes
4. Asignarle a cada uno de los anteriores datos un variable correspondiente, para
guardar el dato obtenido del paso 3
5. Convertir el valor de la variable obtenido en el paso 4 a un formato doubl
6. Guardar datos resultantes del paso 5 en un variable, el cual recin es utilizable
7. Utilizando la variable obtenida del paso 2 (formato char o textual) y las variables
obtenidas del paso 6 (formato doubl o numeral), se reemplazan en el cdigo de
MATLAB (hecho en informe N2, ver anexo) correspondiente de cada mtodo de
resolucin de EDO 3.
8. Luego se asigna el axes que se desea utilizar4
9. Entonces se imprime la grafica
10.De acuerdo con que datos se desean modificar se comenzara por el paso 1 o 2
En el caso de push button HOLD ON, el cual puede ser activado variablemente:
-

Se da lectura al estado del togle button el cual puede ser 1 o 0,


Se guarda el valor en un variable
Se condiciona segn el valor de la variable
o Si la variables es 1
Se imprime en el togle button, en formato textual HOLD OFF
Comando: hold on
o Si la variable es 0
Se imprime en el togle button, en formato textual HOLD ON
Comando : hold off
De ah ya depende las opciones o combinaciones que hace el usuario.

Archivo M (IV .1)

Resultados(IV .1)

2 La diferencia radica en que la ecuacin diferencial debe estar en trmino de variable


(palabra) y el resto es necesario convertir en nmeros.
3 Para la resolucin por medio de cada mtodo se presenta 3 push botton y se siguen el
mismo proceso desde el paso 1, como debe ser obvio el paso 7 tiene lugar al mtodo
elegido.
4 En este caso solo se presenta un solo axes, entonces la grafica resultante
automticamente se coloca en el nico axes

V.

OBSERVACIONES Y/O
CONCLUSIONES

El MATLAB GUIDE, puede ser realmente cmodo para realizar operaciones en la


cuales se efectan un flujo continuo de datos, y por ende puede realizarse
modificaciones con enorme facilidad.
Se debe tener en cuenta los distinto comando predefinidos presente en matlab,
para facilitar la el manejo de los datos de entrada, ya sea conversiones,
almacenamiento, o imprimir,etc.
Una vez hecho nuestro Guide, este est limitado para su uso segn la visin del
creador de dicho guide, el usuario solo se mantiene en los parmetros del Guide
a utilizar, y no puede hacer nada ms que modificar los datos que son accesible a
ser editables.
Algunos controles en el archivo m del GUIDE no tiene su propio calback, durante
ejercicios se noto que el control static text no tiene su propio callback, pero si
tiene un direccin para imprimir datos, en este caso su direccin es su propio
tag.
En el caso del control axes, cualquier imagen que se desea imprimir desde el
archivo m, pasara automticamente a un axes nico; en el caso de haber varios
axes, se imprimir imagen en cual se haga clic en el propio programa, as que
para evitar dicho cruce, hay que asignar a la imagen a que axes que desea
imprimir, el cual se hace lo siguiente:
axes(handles.(tag del axes))

y as ya est definido donde la imagen ser impresa el pantalla.


-

A comparacin los programa creados convencionalmente el Matlab (anteriores


informes), solo con archivos m y los programas con MATLAB GUIDE (archivo m y
archivo fig); MATLAB GUIDE necesita en cierta forma un criterio de diseo y
tambin la elaboracin del archivo m, que en ese caso ya se domina en cierto
grado, as que MATLAB GUIDE engloba todo, entonces los archivos m, por si
solos, solo estn enfocado a la forma operativa, mientras el archivo fig, da
visualizacin cmoda al usuario de cmo utilizar dicho programa y visualizar los
resultados que desea limitando, en cierta forma por el programa; teniendo el
cuenta que el usuario ignora que sucede o que est en el archivo m.
El comando handles ayuda grabar o coger un dato o varios datos de los
diferentes callback presente en el archivo m, as dentro de un callback, se puede
introducir datos externo de los dems callback con el comando handles , pero se
debe tener conocimiento del tag del elemento perteneciente a un callback
especifico, entonces se opera de la siguiente manera:
= handles.(tag),'(valor de la propiedad correspondiente)'

Los controles push button y togle button utilizados en ejercicio

IV .1 difieren en

su funcionamiento en el archivo m, en el caso del pushbutton activa todos los


procesos perteneciente a su callback, pero se activa un nmero de veces, el cual
es definido por el usuario dando clic al push button, el cual solo seria para seguir
modificando o actualizando datos para generar nuevas respuestas; en cambio el
togle button, tiene una activacin continua debido a que tiene solo dos estados;
on y of, as que su proceso perteneciente a su callback estar es continua
activacin o si no desactivado, en el cual el proceso y sus cambios producidos,
quedan anulados; entonces para el push button sera til solo utilizar comandos
que tambin tengan esos estados on y of, por ejemplo hold on y hold off.

VI. ANEXO
-

Mtodo de Euler

Algoritmo y Comentario
Este algoritmo se basa el mtodo de Euler
para hallar ecuaciones diferenciales, el cual
presenta el resultado mediante una solucin
grafica. Para iniciar el programa se necesitan
los siguientes datos inciales:

dy
dx

F ( x , y )=

x0

: valor inicial en x

xl

: valor limite en x

y0

: valor inicial en y

Inicio
F( x , y) x0

xl

y0 h

Ecuacin diferencial
x i=x 0 :h : x l
y i+1= yi +hF ( x i , y i)

: paso

Resultado:
Grfica del comportamiento de una
Funcin desconocida buscada.

Y =[ y i

y i+1

X = [ xi

xi +1 x n ]

y i= y i+ 1

Gr fica

[ XY ]

Fin

Donde:

n=

x lx 0
+1
h

yn]

Cdigo MATLAB
%Inicio de programa
clear all,clc
f=input('Ingresar EDO [dy/dx]: ','s');
x0=input('Ingresar x0: ');
xf=input('Ingresar el xf: ');
y0=input('Ingresar y0: ');
h=input('Ingresar paso h: ');
F=inline(f);k=1;
for x=x0:h:xf
y1=y0+h*F(x,y0);
Y(k)=y0;X(k)=x;
y0=y1;
k=k+1;
end
plot(X,Y)
grid on
%Fin de programa

Mtodo de Runge Kutta 2do Orden

Algoritmo y Comentario
Este algoritmo se basa el mtodo de Runge
kuta de segundo Orden, el cual es desarrollado
segn la Regla del trapecio, resuelve
ecuaciones diferenciales, el cual presenta el
resultado mediante una solucin grafica. Para
iniciar el programa se necesitan los siguientes
datos inciales:

F ( x , y )=

x0

xf

y0

dy
dx

Ecuacin diferencial

: valor inicial en x
: valor limite en x

Inicio
F( x , y) x0

xf

y0 h

x i=x 0 :h : x l
k 1=F (x i , y i )
k 2=F (x i +h , y i+ hk 1)

: valor inicial en y
: paso

Resultado:
Grfica del comportamiento de una
Funcin desconocida buscada.

h
y i+1= yi + [ k 1+k 2 ]
2
X = [ xi

xi +1 x n ]

y i= y i+ 1
Gr Fin
fica

Cdigo MATLAB
%Inicio de programa
clear all,clc
f=input('Ingresar EDO [dy/dx]: ','s');
xi=input('Ingresar x0: ');
y0=input('Ingresar y0: ');
h=input('Ingresar paso h: ');
xf=input('Ingresar el xf: ');
F=inline(f);k=1;
for x0=xi:h:xf
k1=F(x0,y0);
k2=F(x0+h,y0+h*k1);
y1=y0+(h/2)*(k1+k2);
X(k)=x0;Y(k)=y0;
y0=y1;
k=k+1;
end
plot(X,Y,'r');
grid on
%Fin de programa

Mtodo de Runge Kutta 3er Orden

Algoritmo y Comentario
Este algoritmo se basa el mtodo de Runge
Kuta de tercer orden, desarrollado con la regla
de Simpson 1/3, el cual presenta el resultado
mediante una solucin grafica. Para iniciar el
programa se necesitan los siguientes datos
inciales:

dy
dx

F ( x , y )=

x0

: valor inicial en x

xf

: valor limite en x

y0

: valor inicial en y

Ecuacin diferencial

: paso

Resultado:
Grfica del comportamiento de una
Funcin desconocida buscada.

Inicio
F( x , y) x0

xf

y0 h

x i=x 0 :h : x l
k 1=F (x i , y i )

( h2| y + hk2 )

k 2=F x i +

h
y i+1= yi + ( k 1 +4 k 2 +k 3 )
6
fica y n ]
Y =[ y iGr Fin
yi+1
y i= y i+ 1

Cdigo MATLAB
%Inicio de programa
clear all,clc
f=input('Ingresar EDO [dy/dx]: ','s');
xi=input('Ingresar x0: ');
y0=input('Ingresar y0: ');
h=input('Ingresar paso h: ');
xf=input('Ingresar el xf: ');
F=inline(f);k=1;
for x0=xi:h:xf
k1=F(x0,y0);
k2=F(x0+(h/2),y0+h*(k1/2));
k3=F(x0+h,y0-k1*h+2*k2*h);
y1=y0+(h/6)*(k1+4*k2+k3);
Y(k)=y0;X(k)=x0;
y0=y1;
k=k+1;
end
plot(X,Y,'m')
grid on
%Fin de programa

VII. BIBLIOGRAFA
1. BARRAGN GUERRERO, Diego Orlando.< Manual de Interfaz Grfica de Usuario
en Matlab. Parte I>, 2008.
2. D. Len de Crdenas, J. Espinoza C., J. L. Vargas C. <<Interface Grfica en Matlab
Usando Guide>>, 2002.

También podría gustarte