Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como fazer a interface C para MATLAB
MATLAB é um ambiente de programação técnica otimizada para rivalizar com a velocidade e eficiência da linguagem C quando se trata de operações de vetor. No entanto , há um certo conjunto de operações em que C é muito mais eficiente . Pode ser benéfico para escrever certas partes do seu fluxo de trabalho tanto em MATLAB e C. C programas podem ser compilados em sub-rotinas MATLAB usando o utilitário " MEX " . Instruções
1

Crie uma cópia do arquivo de programa C que deseja adaptar em uma sub-rotina do MATLAB.
2

Adicione o arquivo de cabeçalho " mex.h " para o arquivo de programa C que pretende compilar em uma sub-rotina MATLAB :

# include " mex.h "
3

Adicionar uma função de gateway " mexFunction " para o seu C arquivo de programa após a sua função de sub-rotina para atuar como uma interface entre o MATLAB e seu código C . Os argumentos de " mexFunction " deve incluir todas as entradas e os argumentos de saída para o sub-rotina.
4

Escrever código em " mexFunction " para validar o número de entradas e saídas necessárias , bem como o bom tipo de dados, tamanho e alcance. A linguagem C e funções não deixam tão graciosamente como funções MATLAB baseados em scripts
5

Use a função " mexErrMsgIdAndTxt ()" para lançar erros para MATLAB quando argumentos são incorretas : .

mexErrMsgIdAndTxt ( " MyToolbox : myMexFunction : missingInput ", " . Input falta myMexFunction requer 2 entradas . ");
6

Use MEX " getter " funções de conversão do formato MATLAB dados de entrada para C dados formato:

myNumber = mxGetScalar ( myInputs [0] ); myMatrixPointer = mxGetPr ( myInputs [1] );

Consulte a documentação do MATLAB para uma lista completa dessas funções .
7

Use MEX " criar" funções para criar os dados do MATLAB em que para armazenar o resultado da sua função C . A entrada " mxREAL " especifica o tipo de dados

myOutputs [0] = mxCreateDoubleMatrix (1, nColumns , mxREAL ); . OutputMatrixInMATLAB = mxGetPtr ( myOutputs [0] );
8

Chame o seu C sub-rotina a partir do seu " mexFunction ".
9

diretório de trabalho atual do MATLAB direto para o diretório que contém o arquivo C usando o menu Arquivo ou o comando "cd" para alterar os diretórios . na linha de comando
10

compilar seu programa C usando o comando MATLAB " mex : "

mex myMexFunction.c
11

Executar sua função no MATLAB :

myMexFunction ( entradas, saídas, ... )

Anterior :

Próximo : No
  Os artigos relacionados
·Métodos WSH Objeto 
·Como obter um filtro de banda para trabalhar em Labview…
·Compare Python para VBA 
·Como escrever um algoritmo de ordem n Lgn para verifica…
·Quais são as funções de Alerton VLC 
·Como escrever uma função MATLAB 
·Como obter linhas de DataGrid em JavaScript 
·Variáveis ​​de uma função MATLAB 
·Como usar LESC & LINQ 
·Substring Em CSH 
  Artigos em destaque
·Como arredondar decimais em C + + 
·Como fazer Adição de Vetores em C 
·Como obter um caractere simples da Keyboard Usando Asse…
·O que é sintaxe em C + + 
·Como ler um número de caracteres de arquivos no CPP 
·Como preencher um vetor em C 
·O que é o Protocolo de Incompatibilidade 
·C + + Fibonacci Número Função 
·Como converter um C + + String para LStrHandle 
·Como incrementar automaticamente uma compilação Núme…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados