Azzera filtri
Azzera filtri

Error with mex function

3 visualizzazioni (ultimi 30 giorni)
Chris
Chris il 7 Ago 2012
Hello,
I keep receiving the following error and I want to see if anyone can tell me whats wrong. I'm sure its an easy fix I just can't find it. The error I receive from my own code as follows "Error getting T/F from input #2."
The following is part of code concerning this error
SumFile_pr = mxGetField(prhs(ArgNum),1,'WrSumFile')
ErrStat = mxGetString(SumFile_pr, ADOptions%WrSumFile, M*N)
IF (ErrStat /= 0) CALL ProgAbort('Error getting T/F from input #2.')
I use the following as my matlab struct.
ADOptions.WrSumFile = '.False.'
Then using results = mymexfunction(ADOptions, othervariables) in matlab. Any advice is appreciated.
  2 Commenti
Kaustubha Govind
Kaustubha Govind il 8 Ago 2012
What is ADOptions%WrSumFile supposed to represent? The second argument to mxGetString needs to be a pre-allocated character buffer. See the bottom of the mxGetString help page for examples of usage.
Chris
Chris il 8 Ago 2012
Sorry, I guess the better question is how to copy the '.False.' statement from matlab to the logical variable ADOptions%WrSumFile. Something like a mxCopyPtrToLogical command.

Accedi per commentare.

Risposta accettata

James Tursa
James Tursa il 8 Ago 2012
Reading a MATLAB character string with Fortran syntax logical constants into a Fortran logical variable:
character*20 TF
:
ErrStat = mxGetString(SumFile_Pr, TF, 20)
:
read(TF,*,ERR=___) ADOptions%WrSumFile
Handle the errors appropriately.

Più risposte (0)

Categorie

Scopri di più su Fortran with MATLAB in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by