{"id":27,"date":"2010-03-10T13:44:45","date_gmt":"2010-03-10T11:44:45","guid":{"rendered":"https:\/\/blogs.ua.es\/industriales\/?p=27"},"modified":"2010-03-10T13:44:45","modified_gmt":"2010-03-10T11:44:45","slug":"llamar-funciones-de-c-desde-matlab","status":"publish","type":"post","link":"https:\/\/blogs.ua.es\/industriales\/2010\/03\/10\/llamar-funciones-de-c-desde-matlab\/","title":{"rendered":"Llamar funciones de C desde Matlab"},"content":{"rendered":"<p>En el siguiente post vamos a profundizar de forma breve en algunos aspectos de como poder llamar funciones de C desde el entorno Matlba recurriendo para ello a http:\/\/mat21.etsii.upm.es\/ayudainf\/aprendainf\/Matlab70\/matlab70primero.pdf, seg\u00fan la cual<\/p>\n<p style=\"text-align: left\">Es posible llamar<strong> desde MATLAB <\/strong>a funciones programadas en <strong>C y en Fortran <\/strong>como si fueran funciones propias de MATLAB. De este modo, una funci\u00f3n *.m de MATLAB puede ser sustituida poruna funci\u00f3n programada en C o en Fortran que se llama exactamente en la misma forma.<\/p>\n<p style=\"text-align: left\">Para que esto sea posible las funciones programadas <strong>en C y Fortran h<\/strong>an de cumplir una serie de requisitos que se explican m\u00e1s adelante. Estas funciones se compilan y se generan librer\u00edas compartidas que son las denominadas funciones MEX. Las <strong>funciones MEX <\/strong>son funciones ejecutables &#8220;*.dll&#8221; \u00f3&#8221;*.so&#8221; que pueden ser cargadas y ejecutadas por MATLAB de forma autom\u00e1tica.<\/p>\n<p style=\"text-align: left\"><strong>Las funciones MEX tienen varias aplicaciones:<\/strong><\/p>\n<ul>\n<li>Evitan tener que reescribir en MATLAB funciones que ya han sido escritas en C o Fortran.<\/li>\n<li> Por motivos de eficiencia puede ser interesante reescribir en C o Fortran las funciones cr\u00edticaso que consumen m\u00e1s CPU del programa.<\/li>\n<li>Las funciones MEX tienen una extensi\u00f3n diferente en funci\u00f3n de los sistemas operativos en que<\/li>\n<li>hayan sido generadas.<\/li>\n<\/ul>\n<p style=\"text-align: left\">\n","protected":false},"excerpt":{"rendered":"<p>En el siguiente post vamos a profundizar de forma breve en algunos aspectos de como poder llamar funciones de C desde el entorno Matlba recurriendo para ello a http:\/\/mat21.etsii.upm.es\/ayudainf\/aprendainf\/Matlab70\/matlab70primero.pdf, seg\u00fan la cual Es posible llamar desde MATLAB a funciones programadas en C y en Fortran como si fueran funciones propias de MATLAB. De este modo, [&hellip;]<\/p>\n","protected":false},"author":1377,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5166,388],"tags":[278,10697],"class_list":["post-27","post","type-post","status-publish","format-standard","hentry","category-matematicas","category-matlab","tag-c","tag-matlab"],"_links":{"self":[{"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/posts\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/users\/1377"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":1,"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"predecessor-version":[{"id":28,"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/posts\/27\/revisions\/28"}],"wp:attachment":[{"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ua.es\/industriales\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}