Display C++ Output in Matlab using Mexfunctions
14 views (last 30 days)
Show older comments
Hello everybody,
I have a question about display c++ output in matlab. I wrote a mex function to include my C++ algorithm in matlab but I have a problem with displaying my output in matlab. The mex function calls other classes where my output is generated ... to keep the matter simple and clear, here is an example ...
i have the following mex function:
Mexfunction.cpp:
#include "mex.hpp"
#include "mexAdapter.hpp"
#include "Helper.h"
class MexFunction : public matlab::mex::Function {
public:
void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
// Function implementation
...
Helper();
}
};
(Helper Class, that is called in Mexfunction.cpp)
#ifndef HELPER_H
#define HELPER_H
#include <iostream>
class Helper
{
public:
Helper()
{
std::cout << "Hello World" << std::endl;
}
};
#endif
does anyone have an idea how i can display the string "Hello world" in matlab command window ?
Thank you in advance for your help :)
best regards
0 Comments
Answers (1)
Harshit Gupta
on 7 Oct 2022
As per my understanding, you want to display C++ Output in MATLAB using Mex Functions.
MEX functions can display output in the MATLAB command window. However, some compilers do not support the use of “std::cout” in MEX functions. Another approach is to use “std::ostringstream” and the MATLAB “fprintf” Function to display text in the MATLAB command window.
Please refer to the following documentation link for an example of how to display output in the MATLAB Command Window: https://www.mathworks.com/help/matlab/matlab_external/displaying-output-in-matlab-command-window.html
0 Comments
See Also
Categories
Find more on MATLAB Code Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!