writing a mex statement for outputting values of some variables to the console.

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
dpb
dpb il 16 Mar 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.
Magdy Hanna
Magdy Hanna il 16 Mar 2025
How can I specify the console as the output medium?
Using write(6 , *) did not work.

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 16 Mar 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 Commento
James Tursa
James Tursa il 18 Mar 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

Accedi per commentare.

Categorie

Scopri di più su Write C Functions Callable from MATLAB (MEX Files) in Help Center e File Exchange

Prodotti


Release

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by