如何使用MATLAB编码器将matlab转换为C.

时间:2014-06-28 17:15:59

标签: c matlab matlab-coder

我想使用MATLAB编码器将matlab代码转换为C代码,但是效果不佳。

我尝试在matlab代码下面使用MATLAB编码器构建

 function  example()

     recObj = audiorecorder(44100,16,1); 
     disp('Start speaking.');
     recordblocking(recObj, 5);
     disp('End of Recording.');

      play(recObj);

但是有一些错误。像..

  
    

coder -build ex1.prj         ??? ' audiorecorder' class不支持代码生成。

  
  Error in ==> example Line: 2 Column: 10
  Code generation failed: Open error report.

所以,我试图删除audiorecorder功能,但它也没有用。

我不知道这些代码中有什么问题。 我该怎么办? 请帮忙。

2 个答案:

答案 0 :(得分:1)

并非每个MATLAB函数都可以转换为C代码。

有关支持的功能列表,请参阅here

如果您希望使用不在列表中的MATLAB函数,您应该在MATLAB中编写自己的版本(如果可能,在我的情况下我怀疑它)或在C中。

答案 1 :(得分:1)

部署到Android可能没什么帮助,但是dsp.AudioRecorder系统对象支持C代码生成并允许进行一些录音。生成的代码可以在安装了MATLAB的系统上运行。

另一种选择是在符合MATLAB Coder的代码中编写计算算法,并使用Android API进行音频捕获,用户交互等。然后,您可以将捕获的音频数据传递给生成的本机代码进行处理。我已经看到了类似的图像处理方法,其中Android API用于捕获图像,然后将图像发送到使用MATLAB Coder生成的C代码进行处理。