Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Computer Programming Languages >> Content
Hoe te C interface voor MATLAB
MATLAB is een technisch programmeeromgeving geoptimaliseerd om de snelheid en efficiëntie van de taal C wedijveren als het gaat om vector operaties . Er zijn echter bepaalde reeks handelingen waarbij C is veel efficiënter . Het kan gunstig zijn voor bepaalde delen van uw workflow in zowel MATLAB en C. C programma's te schrijven kan worden gecompileerd in MATLAB subroutines met behulp van de " MEX " utility . Instructies
1

Maak een kopie van het C -programma bestand dat u wilt aanpassen in een MATLAB subroutine . Kopen van 2

Voeg de " mex.h " header -bestand naar de C -programma bestand dat u wilt compileren in een MATLAB subroutine :

# include " mex.h "
3

Voeg een gateway -functie " mexFunction " om uw C programmabestand na uw subroutine functie op te treden als een interface tussen MATLAB en uw C -code . De argumenten van de " mexFunction " moet alle input en output argumenten voor uw subroutine .

Schrijf code in " mexFunction " om het aantal benodigde in-en uitgangen , alsmede de juiste valideren 4 data type, de grootte en het bereik . De taal C en functies falen niet zo gracieus als script - gebaseerde MATLAB functies
5

Gebruik de " mexErrMsgIdAndTxt ( ) " functie om fouten te gooien naar MATLAB als argumenten zijn onjuist : .

mexErrMsgIdAndTxt ( " MyToolbox : myMexFunction : missingInput " , " . . Ontbrekende Input myMexFunction vereist 2 inputs " ) ;
6

Gebruik MEX " getter " -functies om te zetten van MATLAB -formaat invoergegevens naar C formaat data :

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

Zie MATLAB documentatie voor een volledige lijst van deze functies .
7

Gebruik MEX " creëren" functies om MATLAB data te creëren waarin het resultaat van uw C functie op te slaan . De " mxREAL " ingang geeft het type gegevens

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

Bel uw C subroutine vanuit uw " mexFunction . " huidige directory

Direct MATLAB 9 naar de map met uw C -bestand via het menu Bestand of de "cd " commando om mappen te veranderen . vanaf de opdrachtregel
10

Stel uw C -programma met behulp van de MATLAB commando " mex : "

mex myMexFunction.c
11


Uitvoeren uw functie in MATLAB :

myMexFunction
( ingangen, uitgangen , ... ) op Twitter

Previous: Next:
  Computer Programming Languages
·Hoe maak je een woordenboek te…
·Hoe je Line Bars In een Websit…
·Hoe u de grootte van Detect ee…
·Karakter Array vs String 
·Hoe maak je een Check Box Gebr…
·Hoe maak je een MARC record Zo…
·De voordelen van Coding Met SO…
·Wat Is Microsoft WPF ? 
·Hoe de Eclipse Console Output …
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe je het aantal pagina's voor Print Di…
·Core Java Tutorials 
·Vb Net SQL Server Tutorial 
·Wat zijn eigenschappen in VB.Net ? 
·Hoe te lang Binaire gegevens Toegang 
·Cell Processor Tutorial 
·Hoe het nu Van Tekstvak om Tekstvak in V…
·Hoe te OracleDataAdapter gebruiken om ee…
·Datum Verschil in Java Script 
Copyright © Computer Kennis http://www.nldit.com