{"id":613,"date":"2011-09-29T03:42:19","date_gmt":"2011-09-29T08:42:19","guid":{"rendered":"http:\/\/www.uv.mx\/personal\/alorandi\/?p=613"},"modified":"2012-09-18T18:35:22","modified_gmt":"2012-09-18T23:35:22","slug":"modelbuilder-pymb","status":"publish","type":"post","link":"https:\/\/www.uv.mx\/personal\/alorandi\/2011\/09\/29\/modelbuilder-pymb\/","title":{"rendered":"ModelBuilder (PyMB)"},"content":{"rendered":"<p>En esta ocasi\u00f3n voy a comentar acerca de una excelente aplicaci\u00f3n libre llamada Modelbuilder <a href=\"http:\/\/model-builder.sourceforge.net\/\">http:\/\/model-builder.sourceforge.net\/<\/a> que a mi modo de ver ser\u00eda una buena opci\u00f3n para un curso de control moderno (variables de estado), la que me hace recordar a Simnon que fue usada hace ya algunos a\u00f1os.<\/p>\n<p>Modelbuilder o PyMB (en Linux) es una herramienta gr\u00e1fica para analizar, similar y dise\u00f1ar modelos matem\u00e1ticos descritos por un juego de ecuaciones diferenciales ordinarias, en la que basta escribir el lado derecho de las ecuaciones escritas en forma de estado, dar un clic a simular y obtendremos las curvas de cada variable de estado.<\/p>\n<p>Por ejemplo el juego de ecuaciones en forma de estado de un sistema de segundo orden:<\/p>\n<p><a href=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/ecc1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-701 alignnone\" src=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/ecc1.png\" alt=\"\" width=\"223\" height=\"138\" \/><\/a><\/p>\n<p style=\"text-align: left\">\u00a0siendo u(t) un escal\u00f3n, se escribe en modelbuilder como<\/p>\n<p style=\"text-align: left\">y[1]<\/p>\n<p style=\"text-align: left\">-p[0]*y[0]-p[1]*y[1]+1<\/p>\n<p style=\"text-align: left\">donde y[0] es la primera variable de estado, y[1] la segunda, p[0] el coeficiente por el que se multiplica la primera variable de estado y p[1] el segundo coeficiente, adem\u00e1s hay que poner los valores de p[0] y p[1]\u00a0 en la secci\u00f3n de par\u00e1metros (con la ventaja de poder variar estos coeficientes cuando se quiera), se adicionan los estados iniciales de las variables de estado, se pone el tiempo inicial y el tiempo final, el paso en que var\u00eda t, y ejecutar la simulaci\u00f3n. Esto se puede ver en la siguiente imagen (clic con el Mouse para ver la im\u00e1gen a tama\u00f1o normal).<\/p>\n<p style=\"text-align: left\"><a href=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-617 aligncenter\" src=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder1.png\" alt=\"\" width=\"336\" height=\"263\" \/><\/a><\/p>\n<p>\u00a0al simular, modelbuilder nos entrega las curvas de las 2 variables de estado como puede verse en la siguiente figura:<\/p>\n<p style=\"text-align: left\"><a href=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-621 aligncenter\" src=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder2-300x262.png\" alt=\"\" width=\"300\" height=\"262\" srcset=\"https:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder2-300x262.png 300w, https:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder2.png 921w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>la generaci\u00f3n de las gr\u00e1ficas en modelbuilder es muy r\u00e1pida, con la ventaja de poder salvarlas como PNG.<\/p>\n<p>Como puede vese en este simple ejemplo, el potencial de modelbuilder es de tomar en cuenta, adem\u00e1s acepta funciones trigonom\u00e9tricas como puede verse en la siguientes figuras<\/p>\n<p><a href=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-630\" src=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder3-300x199.png\" alt=\"\" width=\"300\" height=\"199\" srcset=\"https:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder3-300x199.png 300w, https:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder3.png 921w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-631\" src=\"http:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder4-300x240.png\" alt=\"\" width=\"300\" height=\"240\" srcset=\"https:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder4-300x240.png 300w, https:\/\/www.uv.mx\/personal\/alorandi\/files\/2011\/09\/modelbuilder4.png 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Ventajas:<\/p>\n<ul>\n<li>\u00a0 Definici\u00f3n de modelos basada en ecuaciones diferenciales<\/li>\n<li>Salida gr\u00e1fica de la simulaci\u00f3n<\/li>\n<li>Opci\u00f3n de guardar las gr\u00e1ficas en diferentes formatos: png, svg, pdf, etc.<\/li>\n<li>Los resultados se pueden ver en forma de una hoja de c\u00e1lculo<\/li>\n<li>A partir de la hoja de c\u00e1lculo de resultados, se puede generar gr\u00e1ficas personalizadas<\/li>\n<li>Se puede exportar los datos a un archivo CSV<\/li>\n<li>Interfaz gr\u00e1fica intuitiva.<\/li>\n<li>Software Libre bajo locencia GPL<\/li>\n<\/ul>\n<p>Excelente opci\u00f3n, vale la pena probarla y corre en Linux y Windows.<\/p>\n<p>Suerte!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esta ocasi\u00f3n voy a comentar acerca de una excelente aplicaci\u00f3n libre llamada Modelbuilder http:\/\/model-builder.sourceforge.net\/ que a mi modo de ver ser\u00eda una buena opci\u00f3n para un curso de control moderno (variables de estado), la que me hace recordar a Simnon que fue usada hace ya algunos a\u00f1os. Modelbuilder o PyMB (en Linux) es una&#8230;<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[11],"class_list":["post-613","post","type-post","status-publish","format-standard","hentry","category-blog-ingenieria","tag-ingenieria"],"_links":{"self":[{"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/posts\/613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/comments?post=613"}],"version-history":[{"count":0,"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/posts\/613\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/media?parent=613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/categories?post=613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/alorandi\/wp-json\/wp\/v2\/tags?post=613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}