writing a mex statement for outputting values of some variables to the console.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am preparing a MEX file.
I want to output the values of some variables to the console.
What MEX statement can do that for me?
2 Kommentare
dpb
am 16 Mär. 2025
Insufficient data...MEX routines are simply the glue layer between the alternate language and MATLAB, the functionality is written with the other language -- so in Fortran you would use write statements, in C the fprintf library function.
Antworten (1)
Walter Roberson
am 16 Mär. 2025
#include "fintrf.h"
integer*4 mexPrintf(message)
character*(*) message
You would prepare the message into a character variable ahead of time, by using WRITE to the character variable. See for example https://stackoverflow.com/questions/5808034/how-to-write-output-to-a-string-in-fortran
1 Kommentar
James Tursa
am 18 Mär. 2025
Also note that you need to add the newline manually. E.g., something like this (CAUTION: UNTESTED)
#include "fintrf.h"
integer*4, external :: mexPrintf
integer*4 result
character*50 message
integer :: myvariable = 123
write(message,*) myvariable
result = mexPrintf( message // achar(10) ) ! adding a line feed
Siehe auch
Kategorien
Mehr zu Write C Functions Callable from MATLAB (MEX Files) finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!