miércoles, 14 de octubre de 2020

Ajuste de curvas con MATLAB Parte 2

Continuando con el ajuste de curvas, en la entrada anterior se mostró como obtener una ecuación de una curva de una forma interactiva, pero cuando queremos automatizar un proceso y aplicarlo a una base de datos con la que contamos, no es tan eficiente, por lo que en esta ocasión realizaremos una juste de curva con ayuda de un comando llamado polyfit.

p = polyfit(x,y,n)

El comando polyfit devuelve los coeficientes del polinomio ingresado.

Comencemos con generar un polinomio:


Definimos la variable x en nuestro Command Window como un vector igualmente espaciado con valor inicial de 0, valor final de 4*pi y que contenga 10 valores nuestro vector, como resultado obtenemos lo siguiente:


Después definimos la variable y como función del vector x




Grafiquemos esta serie de puntos para visualizarlos en el plano en 2D, para eso utilizaremos el siguiente comando:


Por lo que obtendremos lo siguiente:


 

Ahora usaremos la función de polyfit para ajustar un polinomio que cumpla con los puntos mostrados previamente, comenzaremos usando el grado= 3

Una vez que obtuvimos el polinomio, vamos a evaluarlo por lo que generemos un par de vectores con los nombres de x1 y y1.


Ahora gráficaremos tanto el resultado de polysfit en grado 3 con los puntos que teníamos previamente, recordemos que para sobreponer 2 graficos usamos el comando hold.


Obtenemos lo siguiente:


Al ver el resultado, podemos identificar que el grado 3, no cumple con toda la intersección de todos los puntos, por lo que subiremos de grado en grado hasta obtener el cumpla.

Nota: se puede observar que se cuentan con 9 puntos en la gráfica, por lo que se buscara un polinomio de grado igual o cercano a este número.


Y de esta forma podemos generar un polinomio a partir de una serie de puntos con ayuda de polyfit y podemos evaluar los polinomios que tengamos con ayuda de polyval.

Esto es todo por esta ocasión. Te invitamos a seguir al pendiente de nuestro Blog, ¡Gracias!

 

martes, 1 de septiembre de 2020

Organización de información usando tablas de datos y MATLAB


En este video mostraremos cómo sustituir información de una tabla de datos dentro de otra haciendo uso de MATLAB. Trabajaremos con archivos de Excel que tienen más de una hoja con información y haciendo uso de categorías aceleraremos el procesamiento de la información y finalmente exportaremos nuestra tabla creada en MATLAB a un archivo de Excel.



Contenido desarrollado por MultiON.


martes, 21 de julio de 2020

Cómo crear vectores igualmente espaciados en MATLAB.

En muchas ocasiones necesitamos crear vectores que tengan un número determinado de elementos, en este video mostramos cómo usted puede crear este tipo de vectores usando el comando dos puntos (:) y la función linspace.






Este blog es administrado por MultiON Consulting S.A. de C.V.

Interfaz de MATLAB

En este vídeo mostraremos de manera rápida como está compuesta la interfaz de MATLAB, cuáles son sus ventanas principales y cómo empezar a introducir algunos comandos sencillos.









Este blog es administrado por MultiON Consulting S.A. de C.V.

miércoles, 24 de junio de 2020

Sistemas Dinámicos con MATLAB y Simulink para Entender la Epidemia: Ajuste del Modelo SIR a datos reales.

En este último video, utilizaremos las funciones de optimización de MATLAB, por ejemplo, fminsearch, para ajustar los parámetros del modelo a datos conocidos.

La minimización de la distancia entre los datos y la evolución el modelo, permitirá estimar los valores de los parámetros, por ejemplo, el tiempo de recuperación y el radio de infección.

Realizaremos este ejercicio tanto para un país que está saliendo del brote epidémico (China) como para uno que está en ascenso -el nuestro-, con el fin de averiguar sus parámetros locales.



Sistemas Dinámicos con MATLAB y Simulink para Entender la Epidemia: Evolución del Modelo SIR.

Sistemas Dinámicos con MATLAB y Simulink para Entender la Epidemia: Modelos SIR con Simulink.

Usando Simulink, en este sexto video, construiremos un diagrama de bloques para modelar el sistema SIR tanto para corto como largo plazo y comprobaremos los resultados con los esperados.

Además usando diagramas de fase, observaremos el comportamiento del sistema en el largo plazo en el que un pico de la epidemia se replica una y otra vez pero con menor intensidad.




Accede a los archivos utilzados: https://la.mathworks.com/matlabcentral/fileexchange/75143-sistemas-dinamicos-con-ml-y-sl-para-entender-la-epidemia

miércoles, 20 de mayo de 2020

Sistemas Dinámicos con MATLAB y Simulink para Entender la Epidemia: Evolución del Modelo SIR.

En este quinto video con la ayuda de los solvers de MATLAB, como ode45, encontraremos numéricamente alguna solución particular del sistema de ecuaciones diferenciales no lineales y verificaremos el Modelo SIR tanto para el corto como el largo plazo.

Con ayuda de la función quiver representaremos el campo vectorial en 3 y 2 dimensiones para así verificar el comportamiento del sistema en los puntos de equiibrio.



viernes, 15 de mayo de 2020

Sistemas Dinámicos con Matlab y Simulink para Entender la Epidemia: Modelo SIR con Simbólicos.

En esta segunda parte de la serie, presentamos el modelo: Suceptible, Infectado, Recuperado conocido como Modelo SIR que es muy utilizado para describir la evolución de una población bajo una epidemia.

De nueva cuenta aprovecharemos la Symbolic Math Toolbox, para analizar lso puntos de equilibrio y determinar su naturaleza. Además verificaremos los fenómenos que aparecen en el comportamiento en el cotro y el largo plazo.




lunes, 4 de mayo de 2020

APP de COVID 19 con MATLAB





El virus de COVID 19 es un enigma debido a su comportamiento y facilidad de contagio, por lo que se desarrolló esta APP donde se puede realizar un análisis de los casos de COVID 19 en el mundo. Los datos que fueron tomados para el análisis de esta App han sido obtenidos del portal de datos abiertos de la Unión Europea y pueden ser consultados en el siguiente enlace: 


La aplicación permite seleccionar un País de interés, se visualizan los casos reportados día con día, así como los casos acumulados de COVID 19 desde el primer día. Además, permite realizar un ajuste de curva polinomial y exponencial para predecir el comportamiento del Virus en los próximos días.
Esta aplicación está disponible para todos nuestros usuarios de MATLAB y pueden descargarlo en el siguiente enlace:




¡Gracias por leernos!

lunes, 27 de abril de 2020

Sistemas Dinámicos con Matlab y Simulink para Entender la Epidemia: Lotka volterra en Simulink.


En esta tercer entrega simularemos el sistema de Lotka Volterra con ayuda de Simulink, creando un diagrama de bloques que de manera gráfica represente al sistema de ecuaciones diferenciales no lineales.

Comprobaremos los resultados con los ya obtenidos en las anteriores entregas y además perturbaremos el sistema con una señal senoidal pequeña, para forzarlo y llevarlo a una dinámica errática conocida como caos.





Acceda a los archivos utilizados:

jueves, 23 de abril de 2020

Sistemas Dinámicos con Matlab y Simulink para Entender la Epidemia: Solución del Sistema Lotka Volterra



En esta ocasión utliizaremos la función ode45 para resolver el sistema de ecuaciones no lineales de Lotka Volterra.

Además utlizaremos el poder de graficación de MATLAB para representar el campo vectorial al que pertenece la familia de soluciones del sistema







Acceda a los archivos utilizados:


Contenido desarrollado por MultiON.


martes, 21 de abril de 2020

Sistemas Dinámicos con MATLAB y Simulink para Entender la Epidemia: Lotka Volterra con Simbólicos.


Lotka Volterra con Simbólicos

En este primer video presentamos el sistema de ecuaciones que modela la dinámica de dos poblaciones conocido como Lotka Volterra. Modelaremos un sistema presa depredador de dos especies que conviven en un medio dado.

La librería de Simbólicos, Symbolic Math Toolbox, nos permitirá analizar, a partir de parámetros algebraicos, los puntos de equilibrio  y las características de éstos.





Accede a los archivos utilizados: https://www.mathworks.com/matlabcentral/fileexchange/75143-sistemas-dinamicos-con-ml-y-sl-para-entender-la-epidemia

lunes, 13 de abril de 2020

Visualización de Datos (COVID-19) con MATLAB.


En este video mostraremos como realizar un gráfico y una aproximación polinomial de datos relacionados con los casos de COVID-19 presentados hasta el día 13 de abril de 2020. Usaremos tablas de datos, la conexión de MATLAB con direcciones web, además de listas desplegables para hacer la selección y visualización de nuestros datos.


Los datos de este ejemplo han sido obtenidos del portal de datos abiertos de la Unión Europea y pueden ser consultados en el siguiente enlace: https://data.europa.eu/euodp/es/data/dataset/covid-19-coronavirus-data







Te invitamos a seguir al pendiente de nuestro Blog, ¡Gracias!

miércoles, 25 de marzo de 2020

Ajuste de curvas con MATLAB Parte 1


En esta ocasión trabajaremos con una herramienta que nos permite realizar un ajuste de curvas, es decir dada una serie de puntos, se encontrará un polinomio que defina la curva por donde pasan los puntos dados, como se muestra a continuación:





Lo primero que haremos es definir una serie de puntos en un plano de 2 dimensiones, definamos los puntos de la siguiente forma:


Definimos la variable x en nuestro Command Window como un vector igualmente espaciado con valor inicial de 0, valor final de 1 y que contenga 5 valores nuestro vector, como resultado obtenemos lo siguiente:

Después definimos la variable y como función del vector x



Grafiquemos esta serie de puntos para visualizarlos en el plano en 2D, para eso utilizaremos el siguiente comando:


Por lo que obtendremos lo siguiente: 



Ahora es momento de buscar una curva que cumpla con los puntos propuestos en la grafica anterior, en esta ocasión se realizará un ajuste de curvas de una forma interactiva.

Dentro de la ventana de nuestro gráfico, encontraremos una barra de herramientas, demos clic en Tools y después seleccionemos Basic Fitting como se muestra en la siguiente figura:




Veremos que nos abre una nueva ventana como la siguiente:



En la ventana anterior tenemos varias opciones dentro de TYPES OF FIT, que se interpreta como tipos de ajuste, aquí encontramos ajuste lineal, cuadrático, cubico, de cuarto grado, etc.

Seleccionemos el tipo de curva lineal y veamos el comportamiento.



En la ventana del gráfico podemos observar el comportamiento de la curva que intenta cumplir con la curvatura de todos los puntos propuestos, adicionado a esto, en la ventana del lado derecho podemos observar el tipo de curva que estamos utilizando, así como los resultados de dicho ajuste.

Cambiemos el tipo de ajuste a cuadrático y veremos lo que pasa.




Podemos observar que el ajuste cuadrático cumple de mejor forma con la serie de puntos que el ajuste lineal, es posible seguir probando diferentes tipos de ajustes de curvas hasta obtener una curva que cumpla de la mejor forma con la serie de puntos y con las restricciones que estamos buscando. 

En mi caso el ajuste de la curva es de grado cuatro como se muestra a continuación.


Ya que obtuvimos la curva que cumple con las restricciones propuestas, en la sección de FIT RESULTS podemos observar el resultado de la ecuación que define dicha curva.

Esto es todo por esta ocasión. En la siguiente entrada se mostrará cómo trabajar con la ecuación que define la curva de los puntos. Te invitamos a seguir al pendiente de nuestro Blog, ¡Gracias!







jueves, 13 de febrero de 2020


Plot Tools Parte 3

En esta ocasión vamos a trabajar con múltiples gráficos en un solo espacio de trabajo y nuestro gráfico se vera de la siguiente forma:


Primero vamos a crear más variables directamente desde el Command Window, los vectores se definen de la siguiente forma:



Una vez creado los vectores regresamos a la ventana de Plot Tools, donde anteriormente modificamos nuestra gráfica.


Podremos observar que en una de las secciones del Figure Palette se encuentran listadas las variables que acabamos de crear, debido a que nos muestra las variables disponibles en el Workspace.




Para crear Subplots de 2 dimensiones, dentro de la sección New Subplots, damos clic en 2D Axes y seleccionamos la cantidad de cuadros, cada cuadro será un gráfico ordenado en filas y columnas como se muestra en la siguiente figura. 



Recordemos que el núcleo de MATLAB trabaja con matrices y que todo tipo de variable para MATLAB es una matriz y un gráfico no es la excepción, como resultado obtenemos un matriz de gráficos como se muestra en la imagen.


El siguiente paso es graficar en cada uno de los Subplots, para ello primero tenemos que seleccionar en que Subplot vamos a trabajar, podemos seleccionarlo en Plot Browser o directamente en el Subplot, después damos clic en el botón Add Data.




Nos abrirá la siguiente ventana donde deberemos colocar los vectores en x e y que deseamos graficar.



Al dar clic en Aceptar, podremos ver el gráfico en el Subplot en el cual estamos trabajando.


Estos Subplots pueden ser editados de la misma forma que cualquier gráfico, podemos añadirles títulos, etiquetas en sus ejes, cambiar el estilo de línea, los tipos de marcadores, etc. Al final podemos personalizar el gráfico a nuestro gusto.



Ahora que ya terminamos de personalizar nuestro gráfico, podemos guardarlo como una imagen como vimos previamente.



Para finalizar, modificar nuestras gráficas con Plot tools puede ser muy divertido, pero si tenemos que repetir el mismo procedimiento muchas veces es mejor automatizar el proceso, para esto vamos a dar clic en File y después a Generate Code.





Esto nos creará la función que generará nuestro gráfico personalizado como lo tenemos actualmente.





Esto es todo por esta ocasión. Te invitamos a seguir al pendiente de nuestro Blog, ¡Gracias!

martes, 7 de enero de 2020

Plot Tools Parte 2


En esta ocasión vamos a modificar nuestro siguiente gráfico.



Lo primero es seleccionar la línea de nuestro gráfico, al seleccionarlo podemos observar que nuestra señal senoidal aparece con varios puntos, esto significa que estamos seleccionando las propiedades de dicha línea por lo que podremos hacer una edición de dicha línea en la ventana de propiedades.





Dentro de esta ventana podemos cambiar sus propiedades como el tipo de gráfico:

Bar


Stem


Para este ejemplo trabajaremos con tipo de gráfico Line y modificaremos la línea a color rojo ya que sea punteada, además que cuente con marcadores tipo diamante en color verde, por lo que queda de la siguiente forma:


Ahora que ya hemos terminado de editar la visualización del tipo de línea vamos a seleccionar el espacio de trabajo de nuestro gráfico.


Al seleccionar el espacio de trabajo de nuestro gráfico, podemos observar que se habilitan nuevas propiedades las cuales nos permiten añadir un título a nuestro gráfico, añadir una rejilla y adicionar etiquetas en los diferentes ejes, vamos a añadir estas nuevas propiedades y nuestro gráfico queda de la siguiente forma.


Así es como podemos editar nuestro gráfico de una forma interactiva haciendo uso de la herramienta Plot Tools.
Además, podemos compartir nuestra gráfica guardándola en un archivo de nuestra preferencia, en este caso vamos a guardarlo como una imagen .png, para guardarla demos clic en File y después en Save As..



Nos abrirá una ventana y seleccionemos la extensión y el nombre con cual vamos a guardar nuestro gráfico.


Al dar clic en aceptar tendremos nuestro gráfico de la siguiente forma.



Esto es todo por esta ocasión. En nuestra próxima entrada personalizaremos nuestro Figure con múltiples gráficos. 


Te invitamos a seguir al pendiente de nuestro Blog, ¡Gracias!