我有一个更新系统的 c++ 程序。当我用 C++ 编写所有东西时,它看起来有点像这样
System S; //initialize a System object 'S'
while (notFinished)
{
S.update1(inputVars1);
S.update2(inputVars2);
}
现在我想从 matlab 中调用各个更新函数,并能够在 matlab 中调试时随时使用访问函数(用 c++ 编写)来查看程序的状态。
所以matlab需要调用一些东西来实例化一个“系统”对象,然后它需要从原始系统对象调用各个系统方法。
假设我将单独的 mex 文件编译为Initialize
update1
update2
和一些获取有关当前状态的信息getState
。然后写一些matlab代码...
%matlab main
S = Initalize(); %mex file
while (notFinished)
update1(S); %mex file
keyboard; % access state information using "getState" mex function
update2(S); %mex file
keyboard; % access state information using "getState" mex function
end
这基本上允许我在 Matlab 中调用和调试我的 C++ 程序算法,还是有另一种方法来解决整个问题?