PDA

查看完整版本 : 将MATLAB与C / C ++程序接口


poster
2019-12-10, 20:48
嗨,我想知道如何从C程序中将MATLAB用作外部求解器。特别是在我的代码中,我希望解决Ax = b形式的几个线性系统。

我听说可以走另一种方式,即在MATLAB例程中调用C函数使用MEX文件,但我也不确定如何使用Mex文件。

谢谢



回答:

您可以使用Lagerbaer指出的matlab引擎。但是,有时只需调用matlab进程命令行样式即可。当我不想弄乱mxArrays等时,或者需要执行的matlab代码量真的很大时,我经常使用它。伪代码:

WriteArrayInMFormat( "in.m", myInputNumbers ); LaunchProcess( "matlab", "-nodesktop -r \"myFunction( 'in.m' )\" -logfile out.m" ); ReadArrayInMFormat( "out.m", myResult ); 对我而言,这在进行测试时特别有用:不必每次更改某项内容时都必须重新编译C / C ++程序,而只需将所有更改应用于myFunction.m文件即可。那时我什至不需要C程序,而是可以在matlab中测试所有内容。



更多&回答... (https://stackoverflow.com/questions/4289654)