matlab guide

33
ÍNDICE

Upload: roberto-johan-meneses-murillo

Post on 20-Jan-2016

153 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matlab Guide

ÍNDICE

Page 2: Matlab Guide

1. OBJETIVOS

2. FUNDAMENTO TEÓRICO

3. PROCEDIMIENTO PRÁCTICO

4. CUESTIONARIO FINAL

5. OBSERVACIONES Y/O CONCLUSIONES

6. ANEXO

7. BIBLIOGRAFÍA

I. OBJETIVOS

i. Emplear GUIDE de MATLAB para la creación de interfaces graficas y aplicarlas a la solución de problemas con métodos numéricos.

II. FUNDAMENTO TEÓRICO

- Introducción

Page 3: Matlab Guide

Se define al GUIDE como entorno de programación visual hecho en MATLAB, en el cual se requiere un continuo ingreso de datos

- Inicio

Inicio de GUIDE mediante dos maneras: Ejecución de una instrucción en la ventana de comando

Dando clic al icono siguiente:

Luego se presenta una nueva ventana de dialogo

Page 4: Matlab Guide

Se presentan las siguientes opciones:

a) Blank GUI (Default)La opción de interfaz gráfica de usuario en blanco (viene predeterminada), nos presenta un formulario nuevo, en el cual podemos diseñar nuestro programa.

b) GUI with UicontrolsEsta opción 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 MenuEsta opción 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 botón de comando.

d) Modal Question DialogCon esta opción se muestra en la pantalla un cuadro de diálogo común, el cual consta de una pequeña imagen, una etiqueta y dos botones Yes y No, dependiendo del botón que se presione, el GUI retorna el texto seleccionado (la cadena de caracteres ‘Yes’ o ‘No’).

Entonces elige la primera opción BLANK GUI (Default)

Page 5: Matlab Guide

Se puede notar las siguientes herramientas y su función :

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

Page 6: Matlab Guide

Entonces se describe algunos en la siguiente tabla (su función):

- Funcionamiento de una aplicación GUI

Page 7: Matlab Guide

Una aplicación GUIDE consta de dos archivos: .m y .fig. El archivo .m es el que contiene el código con las correspondencias de los botones de control de la interfaz y el archivo .fig contiene los elementos gráficos. Cada vez que se adicione un nuevo elemento en la interfaz gráfica, se genera automáticamente código en el archivo .m. Para ejecutar una Interfaz Gráfica, 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 opción 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 común con los menús de la interfaz con el usuario, pero los primeros tienen muchos estilos. La sintaxis de uicontrol es:

k = uicontrol (‘Style’, ‘especificación de estilo’,‘String’, ‘cadena para exhibir’,‘Value’, [valor],‘BackgroundColor’, [r,g,b],‘Max’ [valor],‘Min’ [valor], ‘Position’, [izq, base, ancho, alto],‘CallBack’, ‘cadena de invocacion’)

donde ‘especificación de estilo’ es una de las siguientes cadenas:

popuppushradiocheckboxslider

edit (texto editable)text (texto estático)frame

Las propiedades de iucontrol son similares a las de uimenu. las propiedades que aparecen aquí por primera vez son:

a) ‘Value’, valor: especifica el valor por omisión 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 mínimo y el máximo.b) ‘Min’, Valor: establece el valor mínimo. Su significado difiere dependiendo del estilo.c) ‘Max’, Valor: establece el valor máximo. Su significado difiere dependiendo del estilo.Hay muchas más propiedades que pueden incluirse en los comandos de uicontrol, tal como sucede con las propiedades de uimenu, aunque al programar conviene minimizar el número de propiedades a fin de simplificar el guión. - Texto estático.

Un static text puede exhibir símbolos, mensajes o incluso valores numéricos de una GUI, y puede colocarse en lugar deseado. El texto estático no tiene cadenas de invocación. A continuación mostramos un ejemplo de texto estático.

k1 = uicontrol (´Style´, ´text´, …´String´, ´cadena para exhibir´,´Position´, [20, 50, 140, 30])

Page 8: Matlab Guide

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 menús difieren de los menús de interfaz con el usuario en que pueden aparecer en cualquier punto de la ventana de figura, mientras que los menús de interfaz con el usuario solo se localizan en la parte superior.

-Los Push button

Generan una acción cuando das click con el puntero del ratón sobre ellos. Cuando usted da click en un push button, aparece presionado; Cuando sueltas el botón del ratón, el botón aparece levantado; y su rutina de llamada se ejecuta.

-Casilla de verificación.

Las casillas de verificación están diseñadas para realizar operaciones de encendido/apagado. La casilla activa o desactiva la aparición de los ejes. Las posiciones de encendido/apagado se registran en Value que puede examinarse con get(handle, ´value´). Los comandos axis on y axis off se escriben en la cadena de invocación.

-Botón de radio.

Cuando solo se usa un botón de radio, no existe diferencia funcional alguna con respecto a una casilla de verificación. Por otro lado, los botones de radio en grupo son mutuamente exclusivos (es decir, si un botón esta encendido, todos los demás botones se apagan), mientras que las casillas de verificación son independientes entre sí. Sin embargo, esta característica exclusiva de los botones de radio sólo puede implementarse mediante la programación del usuario en la cadena de invocación.

-Barra deslizadora.

Los sliders aceptan datos de entrada numéricos con un rango específico. Los usuarios mueven la barra dejando presionado el botón del mouse y arrastrándola, Dando clic en el canal, en la flecha. La posición de la barra indica un valor numérico.

Page 9: Matlab Guide

-Texto editable.

El dispositivo de texto editable permite al usuario teclear una cadena de entrada. Se pueden escribir varios valores numéricos en forma de vector o matriz como cadena mediante el mismo dispositivo; esta cadena se convertirá posteriormente en valores numéricos 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´, ´edit´ y 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 verificación.

-Botón de palanca.

El toggle button genera una acción 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 artículos y permite a usuarios seleccionar unos o más artículos.

-Múltiples EjesAl crear una interfaz con el usuario, a menudo hay necesidad de trazar una o más gráficas dentro de la interfaz. Podemos usar el comando subplot para este fin, pero el comando axes es más flexible y ofrece opciones versátiles a los programadores. El comando axes abre 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.

Page 10: Matlab Guide

- PROPERTY INSPECTOR

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

Page 11: Matlab Guide

- ALGUNOS UICONTROLS

1. BackgroundColor

El color usado para rellenar el rectángulo de unicontrol. Específica 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 configuración del sistema

2. Callback

Controla la acción. Una rutina que se ejecuta cuando se activa un objeto de la clase uicontrol.Define esta rutina como una cadena. La expresión se ejecuta en el espacio de trabajo de Matlab.Para ejecutarla rutina para un control de texto editable, escribe el texto deseado y después sigue uno de los siguientes pasos:

-Mueve la selección del objeto (da click en cualquier otra parte)-Para un texto editable de una sola línea, 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

Tamaño de un carácter cadena uicontrol. Un vector de cuatro elementos que define el tamaño y la posición de un carácter de tipo cadena usada para etiquetar el uicontrol.

Page 12: Matlab Guide

Tiene la forma:

[0, 0, width,height]

Los dos primeros elementos siempre son cero. width (ancho) y height (alto) son las dimensiones del rectángulo. 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 tamaño 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 (posición) propiamente a ser de alguna manera más grandes que width y height de Extend.

5. FontAngle

Inclinación de un Carácter. Poniendo esta propiedad en Italic (italica) o oblique (oblicua) selecciona una versión inclinada de la fuente, cuando está disponible en tu sistema.

6. FontSize

Tamaño de la fuente. Un número que especifica el tamaño de la fuente que va a ser mostrado en la cadena, in unidades determinadas por la propiedad FontUnits. El tamaño por default es dependiente del sistema.

7. FontUnits

Unidades del tamaño de la fuente. Esta propiedad determina las unidades usadas por la propiedad FontSize.Las unidades normalizadas interpretan el FontSize como una fracción de la altura de el uicontrol. Cuando tu cambias el tamaño del uicontrol, Matlab modifica la pantalla FontSize. pixels (pixeles), inches (pulgadas), centimeters (centimetros) y points (puntos) son unidades absolutas (1 punto = 1/72 pulgada).

Page 13: Matlab Guide

8. FontWeight

Peso de un carácter. Poniendo esta propiedad en Bold hace que Matlab use una versión "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

Alineación Horizontal de una cadena de una etiqueta. Esta propiedad determina la justificación 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 gráficos con una etiqueta especificada por el usuario. Esta es particularmente útil cuando construyes programas gráficos interactivos que de otra manera necesitarían 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 línea 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

Page 14: Matlab Guide

cadena se muestra; los demás son ignorados, el carácter guion vertical ('|') no es interpretado como un cambio de línea sino que se muestra en el texto del uicontrol. Para texto editable o estático (editable text o static text), cambios de línea ocurren entre cada columna de la matriz, cada celda de el arreglo tipo cadena y después de cada carácter \n. Para múltiples 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 máximo) cuando están seleccionados y en Min (el mínimo) cuando no están 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 artículos seleccionados, donde 1 corresponde al primer elemento del menú.- Radio buttons - ponen su propiedad Value (valor) en Max (el máximo) cuando están seleccionados y en Min (el minimo) cuando no están seleccionados.- Sliders - ajustan su valor al número indicado por la posicion de el slider (deslisador)- Toggle buttons - ponen su propiedad Value en Max cuando están presionados (seleccionados) y en Min cuando no están 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 acción. Una rutina que se ejecuta cuando se activa un objeto de la clase uicontrol.Define esta rutina como una cadena. La expresión se ejecuta en el espacio de trabajo de matlab.Para ejecutarla rutina para un control de texto editable, escribe el texto deseado y después sigue uno de los siguientes pasos:

-Mueve la selección del objeto (da click en cualquier otra parte)

Page 15: Matlab Guide

-Para un texto editable de una sola línea, 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 acción está asociada con estos objetos.

2. ButtonDownFcn

Rutia de llamada de presionar un botón. 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 tamaño y la posición.

Esta rutina se define como una cadena (string) que es una expresión valida en Matlab o el nombre de un archivo M (M-file). La expresión 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 botón

III. PROCEDIMIENTO PRÁCTICO

[Todos los archivos fig y m de los siguientes ejercicios, están adjuntos junto al informe (Archivo rar)]

III .1¿Desarrollar el GUI ejemplo del marco teórico de la guía laboratorio <<MATLAB GUIDE>>

Algoritmo ¿)1. Obtener dato (en este caso un imagen)2. Leer imagen3. Guardan dicha imagen en variable fija del callback de la función abrir y auxiliar para usar en otros

callback4. Presentar la imagen en pantalla para las modificaciones5. Se hacen los correspondientes operaciones: Emborronado, rotar 90º, color6. 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).

Page 16: Matlab Guide

ArchivoM ¿)

Archivo FIG¿)

Page 17: Matlab Guide

Resultados¿)

Nota: la limitación de este programa III .1 , radica en que imagen deber cuadrada, para qué la función emborronar funcione.

III .2¿Desarrollar una GUI que ejecuta una calculadora con las operaciones aritméticas básicas.

Page 18: Matlab Guide

Algoritmo ¿)

Se define para cada push button, el dato que va imprimir en el static text1 ; en el caso del numero su correspondiente numero [ 0,1,2,3,4,5,6,7,8,9 ], pero en caso operadora aritméticos su símbolo ¿, (la excepción esta en el igual y AC). Entonces:

1. Activación de un push button (excepción [¿ , AC ]).2. Primero se lee el dato ya predispuesto en el static text.3. Se procede a almacenar en una variable el dato predispuesto4. Unión entre el dato predispuesto y el valor del push button operante actual.5. Almacenar dato unido en el callback del push button.6. 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 operación, y ahora cuando se activa el push button “igual”:

7. Paso 28. Paso 39. Se evalúa el dato predispuesto.10. Se almacena en una variable el resultado de la evaluación.11. Se imprime dicha variable en el static text.

Si se utiliza el AC. Entonces

12. Se imprime en pantalla un dato vacio (' ')13. Luego se inicia en paso 1

ArchivoM ¿)

1 Este elemento no posee callback en el archivo y no aparece en el archivo m pero si tiene dirección el cual es su propio tag

Page 19: Matlab Guide

Resultados(III .2)

Page 20: Matlab Guide

IV. CUESTIONARIO FINALIV .1¿ Desarrollar una GUI que sirva para solucionar EDO con los diferentes métodos revisados en teoría. La GUI deberá mostrar la gráfica de la solución numérica y si es posible la gráfica de la solución analítica.

AlgoritmoLos datos comunes que se debe ingresar para la solución de ecuaciones diferenciales ordinarias ya sea por el método de Euler, Runge Kutta de 2do o 3er orden, son los siguientes:

F ( x , y )=dydx

Ecuación diferencial

x0 : valor inicial en x

x f : valor limite en x

y0 : valor inicial en y

h : paso

Entonces:

1. Leer dato del edit text perteneciente a la ecuación diferencial 2. Asignar una variable al dato del paso 1 y guardarla 2

3. Leer dato del edit text perteneciente al resto de datos comunes4. Asignarle a cada uno de los anteriores datos un variable correspondiente, para guardar el dato

obtenido del paso 35. 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 recién es utilizable7. 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 código de MATLAB (hecho en informe Nº2, ver anexo) correspondiente de cada método de resolución de EDO 3.

8. Luego se asigna el axes que se desea utilizar4

9. Entonces se imprime la grafica10. 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 según 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.

2 La diferencia radica en que la ecuación diferencial debe estar en término de variable (palabra) y el resto es necesario convertir en números.3 Para la resolución por medio de cada método 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 método elegido.4 En este caso solo se presenta un solo axes, entonces la grafica resultante automáticamente se coloca en el único axes

Page 21: Matlab Guide

ArchivoM (IV .1)

Resultados(IV .1)

Page 22: Matlab Guide
Page 23: Matlab Guide

V. OBSERVACIONES Y/O CONCLUSIONES

- El MATLAB GUIDE, puede ser realmente cómodo para realizar operaciones en la cuales se efectúan 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 según la visión del creador de dicho guide, el usuario solo se mantiene en los parámetros del Guide a utilizar, y no puede hacer nada más 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 dirección para imprimir datos, en este caso su dirección es su propio tag.

- En el caso del control axes, cualquier imagen que se desea imprimir desde el archivo m, pasara automáticamente 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 comparación 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 diseño y también la elaboración 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 están enfocado a la forma operativa, mientras el archivo fig, da visualización cómoda al usuario de cómo 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 demás 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 número 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 activación continua debido a que tiene solo dos estados; on y off, así que su proceso perteneciente a su callback estará es continua activación o si no desactivado, en el cual el proceso y sus cambios producidos, quedan anulados; entonces para el push button sería útil solo utilizar comandos que también tengan esos estados on y off, por ejemplo hold on y hold off.

Page 24: Matlab Guide

VI. ANEXO

- Método de Euler

Algoritmo yComentario

Este algoritmo se basa el método de Euler para hallar ecuaciones diferenciales, el cual presenta el resultado mediante una solución grafica. Para iniciar el programa se necesitan los siguientes datos iníciales:

F ( x , y )=dydx

Ecuación diferencial

x0 : valor inicial en x

x l : valor limite en x

y0 : valor inicial en y

h : paso

Resultado: Gráfica del comportamiento de una Función

desconocida buscada.

CódigoMATLAB

%Inicio de programaclear all,clcf=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; endplot(X,Y)grid on%Fin de programa

Inicio

F (x , y ) x0 x l y0 h

x i=x0: h: x l

y i+1= y i+h∗F (x i , y i)

Y= [ y i y i+1 … yn ]

X=[ x i x i+1 … xn ]

y i= y i+1

Fin

Donde:

n=x l−x0

h+1

Gr á fica[X−Y ]

Page 25: Matlab Guide

- Método de Runge Kutta 2do Orden

Algoritmo yComentario

Este algoritmo se basa el método de Runge kuta de segundo Orden, el cual es desarrollado según la Regla del trapecio, resuelve ecuaciones diferenciales, el cual presenta el resultado mediante una solución grafica. Para iniciar el programa se necesitan los siguientes datos iníciales:

F ( x , y )=dydx

Ecuación diferencial

x0 : valor inicial en x

x f : valor limite en x

y0 : valor inicial en y

h : paso

Resultado: Gráfica del comportamiento de una Función

desconocida buscada.

CódigoMATLAB

%Inicio de programaclear all,clcf=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;endplot(X,Y,'r');grid on%Fin de programa

Inicio

F (x , y ) x0 x f y0 h

x i=x0: h: x l

X=[ x i x i+1 … xn ]Y= [ y i y i+1 … yn ]

y i= y i+1

k 1=F(x i , y i)k 2=F(x i+h , y i+h∗k 1)

y i+1= y i+h2∗[k1+k 2 ]

Fin

Gr á fica[X−Y ]

Page 26: Matlab Guide

- Método de Runge Kutta 3er Orden

Algoritmo yComentario

Este algoritmo se basa el método de Runge Kuta de tercer orden, desarrollado con la regla de Simpson 1/3, el cual presenta el resultado mediante una solución grafica. Para iniciar el programa se necesitan los siguientes datos iníciales:

F ( x , y )=dydx

Ecuación diferencial

x0 : valor inicial en x

x f : valor limite en x

y0 : valor inicial en y

h : paso

Resultado: Gráfica del comportamiento de una Función

desconocida buscada.

CódigoMATLAB

%Inicio de programaclear all,clcf=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; endplot(X,Y,'m')grid on%Fin de programa

VII. BIBLIOGRAFÍA1. BARRAGÁN GUERRERO, Diego Orlando.< Manual de Interfaz Gráfica de Usuario en Matlab. Parte I>,

2008.2. D. León de Cárdenas, J. Espinoza C., J. L. Vargas C. <<Interface Gráfica en Matlab Usando Guide>>,

2002.

Inicio

F (x , y ) x0 x f y0 h

x i=x0: h: x l

Y= [ y i y i+1 … yn ]X=[ x i x i+1 … xn ]

y i= y i+1

k 1=F(x i , y i)

k 2=F(x i+ h2|y i+ h∗k 1

2 )k 3=F (x i+h|y i−k1∗h+2∗k 2∗h )

y i+1= y i+h6∗(k1+4k2+k 3 )

Fin

Gr á fica[X−Y ]