BUSCA

Links Patrocinados



Buscar por Título
   A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


Uso de código MATLAB em projetos Delphi
(Thyago Maia Tavares de Farias; Luis Carlos Carvalho; José Thiago de Holanda)

Publicidade
Introdução

MATLAB (Mathworks Inc.) é uma IDE com ambiente interativo que possibilita o desenvolvimento de algoritmos, visualização e análise de dados, computação numérica ou simbólica, possuindo, adicionalmente, excelentes recursos gráficos 2D e 3D. Pode ser usado em variadas aplicações, contando com toolboxes específicos para processamento de sinais, comunicação, controle, simulação, redes neurais, modelagem financeira e muitos outros. O código de cada uma dessas aplicações, desenvolvido por experts em cada área, é altamente eficiente, de execução extremamente rápida porque as bibliotecas, processador-dependentes, são otimizadas para as diferentes plataformas suportadas pelo MATLAB. O códigos-fontes dos mesmossão robustos e internacionalmente reconhecidos como standard “de facto”em suas áreas de aplicação. O códigogerado emMATLAB pode ser integrado a outras linguagens de programação e aplicações desenvolvidas em C, C++, Delphi, Java, Excel etc., e os seus algoritmos podem, assim, ser livremente distribuídos.

Materiais e Métodos

Abaixo descrevemos a complexa metodologia para utilização de código MATLAB e como pode ser incorporada em projetos Delphi.
Para utilizar código MATLAB, invocando-o a partir do Delphi, é necessário gerar uma DLL (Dynamic Link Library) contendo o código MATLAB compilado, que vai ser usado, em tempo de execução, na aplicação externa que referencia esse código.
Para a criação de uma DLL contendo o código MATLAB com algoritmos de interesse, utiliza-se uma ferramenta incorporada ao MATLAB versão 6.0, chamado MATLAB COM Builder. Com ela, pode-se desenvolver DLL’s a partir de código m, uma linguagem interpretada do MATLAB que permite escrever scripts contendo os algoritmos necessários. Uma vez criado o scritp em código m o mesmo poderá ser compilado pelo MATLAB COM Builder, gerando a DLL necessária. Criada a DLL, deve-se registrá-la no sistema operacional Windows para possibilitar sua utilização e, por último, identificar, no Delphi, a nova DLL.

Descrevemos abaixo, passo a passo, as etapas para a criação de DLL’s no MATLAB e como invocá-las no Delphi para que sejam usadas em projetos Delphi.

1º passo – utiliza-se o editor do MATLAB para escrever o código m com os algoritmos desejados a serem usados pelo BioMed. A seguir usa-se o MATLAB COM Builder, executando-o da linha de comando do workspace do MATLAB (usando o comando comtool) para compilar o código m, previamente salvo em disco, e que será convertido em código C. É necessário configurar o MATLAB para o compilador C/C++ instalado na máquina do programador e que será utilizado nesse processo. A partir do momento em que o arquivo m é escolhido e compilado para gerar o código C, a geração da DLL necessária é automática. Criada a DLL, no próprio MATLAB COM Builder, cria-se um pacote com todo o conteúdo do projeto de criação da DLL e um utilitário que permitirá fazer o registro da DLL no sistema operacional.
2º passo – de posse do projeto obtido no passo anterior deve-se registrar a DLL, o que possibilitará seu reconhecimento e utilização. Seguem abaixo as etapas para tal processo. Acessa-se a pasta onde foi salvo o projeto de criação da DLL e executa-se o utilitário que fará o seu registro.
3º passo – deve-se agora indicar ao Delphi a nova DLL que fará parte do projeto BioMed, acessando-se a opção de menu Project/Import type library. Será executado o utilitário de gerenciamento das DLL’s componentes do projeto corrente. Indicada a DLL, o Delphi criará uma Unit contendo todas as chamadas de procedimentos pertencentes ao código m desenvolvido anteriormente no MATLAB.
4º passo – para cada Unit do BioMed que utiliza, de alguma forma, o código da DLL gerada pelo MATLAB, é necessário incluir, na sua cláusula Uses, a Unit gerada no passo anterior e, ActiveX, pois esse controle fará o interfaciamento entre o códigodo BioMed e o código da DLL gerada pelo MATLAB. É indispensável inserir dois procedimentos referentes ao ActiveX: CoInitialize(nil) e CoUninitialize, nos procedimentos FormCreate e FormClose, da ativação e da finalização do projeto BioMed, caso contrário o controle ActiveX não pode ser ativado e desativado.

Referências

MATLAB and Simulink for Technical Computing. Disponível em: http://www.mathworks.com. Acesso em: 2 junho 2005.
Documentação e Manual do Compilador do MATLAB em CD-ROM, Mathworks Inc., 2002



Resumos Relacionados


- A Álgebra Linear Para Engenheiros E Cientistas Usando Matlab(r)

- Pspice E Matlab Para Eletrônica: Um Integrado.

- Tutorial Para Crash Course Delphi 4

- Blog.marcocantu.com

- ModulaÇÃo De FrequÊncia: AnÁlise E SimulaÇÃo



Passei.com.br | Biografias

FACEBOOK


PUBLICIDADE




encyclopedia