在Matlab循环中运行C ++脚本

时间:2017-02-04 20:24:19

标签: c++ matlab mex

我有一个给出3个整数和一个字符串的C ++函数,从一个从txt文件中读取的矩阵进行一些静态测试,并创建一个称为输入字符串的txt文件作为输出。

我想将这个程序放在一个matlab脚本中,该脚本在以稀疏矩阵构成的单元格A中循环,如下所示:

formatSpec = string('Validated_edge_layer%d_time%d');
for k=1:size(A,1)
   for j=1:size(A,2)
      n1=size(A{k,j},1);
      n2=size(A{k,j},2);
      e=nnz(A{k,j});
      write_to_txt(A{k,j};
      string=sprintf(formatSpec,k,j);
      *** HERE I WOULD LIKE TO CALL THE C++ FUNCTION WITH INPUTS n1,n2,string ***
   end
end

所以基本上在循环内部,matlab评估C ++函数的输入,并在每次迭代中写入一个txt文件,然后由C ++函数读取(文件被覆盖,以便C ++函数可以读取一组新的变量) 。在循环结束时,我希望有120个txt文件,每个文件的命名方式不同,并按照单元格组织的顺序排列。

这项任务可行吗?我知道可以使用一些叫做MEX文件的东西,但我对它一无所知。

我希望我已经清楚地解释了自己。感谢。

0 个答案:

没有答案