Display C++ Output in Matlab using Mexfunctions

14 visualizaciones (últimos 30 días)
Hadi Ibrahim
Hadi Ibrahim el 4 de Oct. de 2022
Respondida: Harshit Gupta el 7 de Oct. de 2022
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

Respuestas (1)

Harshit Gupta
Harshit Gupta el 7 de Oct. de 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

Categorías

Más información sobre MATLAB Code Analysis en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by