Mostrando las entradas con la etiqueta Ingeniería. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Ingeniería. Mostrar todas las entradas

jueves, 30 de marzo de 2023

Add Ons de MATLAB

 En esta entrada hablaremos de algunas características del Add Ons de MATLAB, esta herramienta nos permitirá navegar en la descarga de Toolboxes, ejemplos, apps y soporte para el trabajo con Hardware, por lo que es la manera más sencilla de encontrar material de apoyo para tu interacción con MATLAB.

 






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

#AddOns #MATLAB #TOOLBOXES #WEBINAR #SEMINARIO #MULTION #BLOG #APPS

miércoles, 1 de marzo de 2023

Simulation Data Inspector

En esta entrada al blog hablaremos de cómo podemos con Simulation Data Inspector,  inspeccionar y comparar datos de series temporales en varias etapas de su flujo de trabajo. 

Podemos entre otras cosas más observar el historial de los datos guardados, inspeccionar datos de simulación, comparar los datos resultantes de la simulación y guardar o compartir los datos y vistas del Simulation Data Inspector.






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



martes, 7 de junio de 2022

Apps de MATLAB que sirven en la automatización de procesos

En esta entrada hablaremos una característica esencial de las Apps de MATLAB que resultan en la automatización de procesos. Las Apps son herramientas que permiten trabajar con grandes cantidades de datos de forma interactiva y sin conocimiento avanzado sobre implementación de comandos, una vez que han concluido el trabajo con la App podemos generar el código necesario para repetir dicho proceso.


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

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.



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












martes, 18 de junio de 2019

Manejo de Tablas Parte2

Siguiendo con el manejo de datos de tablas, esta vez veremos cómo indexar en los valores de una tabla y veremos cómo redimensionarla.

Recordemos que MATLAB trabaja en base a matrices y una tabla no es la excepción, debido a esto podemos indexar a los valores de una tabla como indexamos en las matrices.

Por ejemplo: dada la siguiente tabla, indexaremos al valor que se encuentra en el recuadro de color rojo.




La sintaxis para indexar al valor de una matriz es la siguiente:

Nombre Tabla (Numero Fila, Numero Columna)

Entonces vamos a introducir primero el nombre de la tabla, en este caso el nombre es Tabla, después entre paréntesis colocamos el numero de la fila, en esta que es fila 4 y numero de la columna que es el número 3, quedando de la siguiente forma:



Obtenemos como resultado lo siguiente:


También podemos indexar a las columnas colocando el nombre de la columna, quedando la sintaxis de la siguiente forma:

Nombre Tabla (Numero Fila, ’Nombre Columna’)


Vamos a obtener el mismo valor que en el ejemplo pasado, primero colocamos el nombre de la Tabla y entre paréntesis colocamos el numero de la fila y el nombre de la columna (esté debe ser ingresando entre comillas simples), por ejemplo:


Obtenemos el siguiente resultado:


De estas 2 formas podemos indexar a la posición de una tabla, ahora en ocasiones es necesario cambiar el tamaño de nuestras tablas y solo quedarnos con información útil, para esto vamos a redimensionar la tabla, la sintaxis se define de la siguiente forma:

Nombre Tabla (Filas, [ NumeroColumna1, NumeroColumna2])

Primero colocamos el nombre de la tabla y entre paréntesis colocamos en forma de vectores los números de las filas y columnas que nos interesan, por ejemplo:


En este caso introducimos 2 puntos en el valor de las filas porque nos interesan obtener todas las filas y después obtenemos la primer y cuarta columna, obteniendo el siguiente resultado:





También podemos definir vectores igualmente espaciados para indicar las filas y/o columnas con las que deseamos trabajar.


Por ejemplo, para las filas estamos definiendo un vector igualmente espaciado que va de 1 hasta 5 y en el caso de las columnas definimos un vector que contiene la primera columna y además estamos concatenando con ayuda de los corchetes el vector igualmente espaciado de 3 hasta 6, obteniendo el siguiente resultado:


 También podemos definir las columnas mediante su nombre, si ocupamos más de una columna tenemos que concatenarlas mediante llaves.

NombreTabla ( : , { ’Nombre Columna 1’ , ’Nombre Columna 2’ } )

En este ejemplo estamos indicando la columna 1 y la columna 4, los nombres son de tipo carácter y por eso ocupamos la comilla simple, en el caso de las filas introducimos 2 puntos porque queremos mantener todos los datos.



Al dar enter obtenemos el siguiente resultado:


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



martes, 30 de abril de 2019

Manejo de Tablas Parte1

Esta vez veremos el manejo de tablas desde MATLAB. Antes que nada, vamos a definir que es una tabla para MATLAB.


Una tabla es un conjunto de datos organizados en filas y columnas con las siguientes propiedades:

Los datos de toda la columna tienen el mismo tipo de dato (numérico, texto, lógico, etc).

Las columnas pueden tener diferentes tipos de datos.

Cada columna tiene un nombre único.

Todas las columnas tienen el mismo número de filas.

Lo primero es importar una tabla a MATLAB, anteriormente ya hemos visto Importación de hojas de cálculo Microsoft Excel


Una vez que importamos la tabla, vamos a realizar una serie de operaciones básicas con ella para la organización de los datos.


Sortrows

Con esta función es posible ordenar las filas de una tabla.


En este caso, se define el nombre de la nueva variable A, después se le asigna la función sortrows de la tabla a ordenar. Al no especificar la columna, la función realiza la operación con respecto a la primer columna quedando de la siguiente forma.


Si requerimos especificar la columna, la sintaxis queda de la siguiente forma:


Es necesario escribir entre comillas el nombre de la Columna mediante la cual realizaremos la operación.



Unique

Esta función devuelve los mismos datos de una matriz pero sin repeticiones, por ejemplo:

Dada una matriz con filas repetidas:


Vamos a eliminar las filas que se repiten en la tabla con el comando unique  de esta forma evitamos tener valores o datos innecesarios.


Al dar enter  observamos que las filas repetidas han sido eliminadas.



Issortedrows

Esta función determina si las filas de la tabla o matriz se encuentran ordenadas, devuelve un valor lógico 1, si la columna especificada se encuentra en orden ascendente, de lo contrario devuelve un 0.


En este ejemplo no se especifica la columna, al no especificarla MATLAB lo toma como la primer columna.

Nos devuelve un cero, porque la primer columna de la Tabla1 no se encuentra en orden, ahora vamos aplicar este comando a una tabla que ya fue ordenada anteriormente.

De esta forma podemos ordenas los datos que estemos trabajando con las tablas. Esto es todo por esta ocasión. En la siguiente entrada veremos cómo extraer porciones de una tabla.


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


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