Matlab Guide

February 2, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Matlab Guide...

Description

 

 

 

 

ÍNDICE

1.  OBJETIVOS OBJETIVOS   2.  FUNDAMENTO TEÓRICO  TEÓRICO  PRÁCTICO  3.  PROCEDIMIENTO PRÁCTICO  4. CUESTIONARIO FINAL  FINAL  CONCLUSIONES  5.  OBSERVACIONES Y/O CONCLUSIONES  6.  ANEXO  ANEXO  7.  BIBLIOGRAFÍA  

 

 

I.  i. 

OBJETIVOS

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 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

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 Uicontrols

Esta 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 Menu

Esta opción es otro ejemplo el cual contiene el menú File con las opciones Open, Print y Close. Cl ose. 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 Dialog

Con 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)

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

 

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

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

 

-  Funcionamiento de una aplicación GUI 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 uic ontrol 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: 

popup push radio checkbox slider edit (texto editable)  editable)  text (texto estático)  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 e l 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])

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 r ató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. encendido/apagado. La casilla activa o desactiva la aparición de los ejes. Las posiciones de encendid encendido/apagado o/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 r adio en grupo son mutuamente exclusivos (es decir, si un botón esta encendido, todos los demás botones se apagan), mientras m ientras 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. 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, arr astrándola, Dando clic en el canal, en la flecha. La posición de la barra indica un valor numérico.

 

  -Texto editable.

El dispositivo de texto editable permite al usuario teclear t eclear 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 to toggle ggle 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 Ejes

Al 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 v arios 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 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. 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 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 r especto 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).

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 r especto 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 m anera 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, r ellena, solo la primer 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 f uncion 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) -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 r utina 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)]

 Desarrollar el GUI ejemplo del marco teórico de la guía laboratorio  

    )

1.  Obtener dato (en este caso un imagen) 2.  Leer imagen 3.  Guardan dicha imagen en variable fija del callback de la función abrir y auxiliar para usar en otros callback 4.  Presentar la imagen en pantalla para las modificaciones 5.  Se hacen los correspondientes correspondientes operaciones: 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).

      )

 

 

      )

 )

 

 

Nota: la limitación de este programa emborronar   funcione.

 , radica en que imagen deber cuadrada, para qué la función

 Desarrollar una GUI que ejecuta una calculadora con las operaciones aritméticas básicas. 

 

 

   ) Se define para cada push button, el dato que va imprimir en el static text 1 ; en el caso del numero su correspondiente numero , pero en caso operadora aritméticos su símbolo , (la excepción esta en en el igual y AC). Entonces:

[] 

]

1.  Activación de un push button (excepción 2.  3.  4.  5.  6. 

[    

[ ]).

Primero se lee el dato ya predispuesto en el static text.  Se procede a almacenar en una variable el dato predispuesto Unión 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 operación, y ahora cuando se activa el  push button “igual”: 7.  Paso 2 8.  Paso 3 9.  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. 

 . Entonces

Si se utiliza el

12. Se imprime en pantalla un dato vacio ('

') ') 

13. Luego se inicia en paso 1 

    )

 

1

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

tag   

 

  

 

IV.  CUESTIONARIO FINAL  Desarrollar una GUI que sirva para solucionar EDO con los diferentes métodos revisados en teoría. La

GUI deberá mostrar la gráfica g ráfica de la solución numérica y si es posible la gráfica de la solución analítica.

  

Los 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:          

    Ecuación diferencial 

       

: valor inicial en x 

: valor limite en x  : valor inicial en y 

: paso 

Entonces: 1.  2.  3.  4. 

Leer dato del edit text  perteneciente  perteneciente a la ecuación diferencial Asignar una variable al dato del paso 1 y guardarla 2  Leer dato del edit text  perteneciente  perteneciente al resto de datos comunes Asignarle a cada uno de los anteriores anteriores datos un variable correspondiente, 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 cu cual al recién es utilizable 7.  Utilizando la variable obtenida obtenida del paso 2 (formato char o textual) y las variables v ariables obtenidas del paso 6 (formato doublé o numeral), se reemplazan en el código de MATLAB (hecho (hecho en informe Nº2, ver 3 anexo) correspondiente de cada método de resolución de EDO . 8.  Luego se asigna el axes que se desea utilizar 4  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: -  -  - 



2

Se da lectura al estado del togle button el cual puede ser 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 formato textual HOLD OFF   Comando: hold on  o  Si la variable es 0   Se imprime en el togle button, en formato formato textual HOLD ON   Comando : hold off  De ahí ya depende las opciones o combinaciones que hace el usuario.

 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 pa so 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 

 

     

 

  

 

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  no tiene su propio callback , pero si tiene t iene 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 convencionalmente el Matlab (anteriores informes), solo con archivos m y los programas con MATLAB GUIDE GUIDE (archivo m y archivo fig) fig);; MATLAB GUIDE necesita een n 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: '(valor de la propiedad correspondiente)' = handles.(tag), handles.(tag),'





Los controles push button y togle button utilizados en ejercicio  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á  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. 

 

VI.   ANEXO - 

Método de Euler

     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:          

Inicio

      Ecuación diferencial 

      

       

: valor inicial en x  

: valor limite en x 

        

: valor inicial en y  

: paso 

          [    ]     [     ] 

Resultado:   Gráfica del comportamiento de una Función desconocida buscada. 

   

   %Inicio de programa  clear all,clc all,clc  'Ingresar EDO [dy/dx]: ' ', ,'s'); 's');  f=input('Ingresar f=input( x0=input('Ingresar x0=input( ');  'Ingresar x0: ');

 []

'); );  xf=input('Ingresar el xf: ' xf=input('Ingresar y0=input('Ingresar y0=input( ');  'Ingresar y0: '); 'Ingresar paso h: ' '); );  h=input('Ingresar h=input( F=inline(f);k=1;   for x=x0:h:xf  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 

Fin

Donde:

       

 



Método de Runge Kutta 2do Orden

     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:          

      Ecuación diferencial 

        

: valor inicial en x  

: valor limite en x  : valor inicial en y  

: paso 

Resultado:   Gráfica del comportamiento de una Función desconocida buscada. 

   %Inicio de programa  clear all,clc all,clc  f=input('Ingresar f=input( 'Ingresar EDO [dy/dx]: ' ', ,'s'); 's');  'Ingresar x0: '); xi=input('Ingresar xi=input( ');  y0=input('Ingresar y0=input( 'Ingresar y0: ' '); );  h=input('Ingresar h=input( 'Ingresar paso h: ' '); );  xf=input('Ingresar xf=input( ');  'Ingresar el xf: '); F=inline(f);k=1;   for x0=xi:h:xf 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' plot(X,Y, 'r'); );  grid on  %Fin de programa 

Inicio

                                 []      [    ]     ]    [      

 [] Fin

 



Método de Runge Kutta 3er Orden

     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:          

Inicio

      

      Ecuación diferencial 

        

: valor inicial en x  

: valor limite en x 

        

: valor inicial en y  

: paso 

Resultado:   Gráfica del comportamiento de una Función desconocida buscada. 

       (        )       |            

   %Inicio de programa  clear all,clc all,clc  'Ingresar EDO [dy/dx]: ' ', ,'s'); 's');  f=input('Ingresar f=input( 'Ingresar x0: '); xi=input('Ingresar xi=input( ');  y0=input('Ingresar y0=input( 'Ingresar y0: ' '); );  h=input('Ingresar h=input( 'Ingresar paso h: ' '); );  xf=input('Ingresar xf=input( ');  'Ingresar el xf: '); F=inline(f);k=1;   for x0=xi:h:xf 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;

              [     ]     [    ]      

 [] Fin

end plot(X,Y,'m' plot(X,Y, 'm') )  grid on  %Fin de programa 

 

VII. BIBLIOGRAFÍA

1.  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. , 2002.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF