writing a mex statement for outputting values of some variables to the console.
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
dpb
2025 年 3 月 16 日
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.
回答 (1 件)
Walter Roberson
2025 年 3 月 16 日
#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 件のコメント
James Tursa
2025 年 3 月 18 日
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
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!