问题标签 [matlab-coder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
233 浏览

android - android中matlab的任何可行选择?

我正在启动一个需要计算机视觉和图像处理技术的安卓项目。现在我知道有一些库是流行的 Opencv(在 C/C++ 中),它需要 NDK。有什么方法可以在 matlab 本身中完成程序并且可以转换为 java 代码,然后在android 应用程序。我知道 Matlab 代码可以转换为 C/C++ 代码。但是我对合并 C/C++ 代码不太熟悉,而且我读过它不支持 matlab 的所有功能。任何关于在 android 中使用 opencv 的好教程都会非常有帮助。我发现 matlab 是最好的。但是我需要保持我的选择开放

0 投票
2 回答
1896 浏览

matlab - 未定义对“rtIsNaN”的引用

我正在尝试使用 Matlab 编码器。我编写了一个简单的matlab脚本并为此生成了 C 代码(以及必要的标头)。matlab 脚本如下所示:

在 Matlab 编码器中,我启动了一个新项目,将前置条件a作为10x1向量并构建项目以生成.c.h文件。我写了一个包含如下的新.c文件:main()

包含的.c文件(生成)findminidx()如下:

目的是,调用从.c生成的例程matlab,传递一个小数组并打印传递数组的最小值的索引。我将包含的 c 文件与包含所有生成的文件main()的目录放在同一目录中。此外,如上所示,我在 c 文件中包含了相应的头文件。当我尝试使用 编译时,会产生以下错误。matlab.c.hmain()gcc file1.c findminidx.c

未定义对“rtIsNaN”的引用

我不明白这是为什么?我的系统详细信息如下:

  1. Ubuntu 14.04,64 位
  2. Matlab R2014a,64 位
  3. gcc 版本 4.8.2
0 投票
1 回答
26 浏览

matlab - 从matlab中的c函数获取两个参数

我有一个代码,c发回1个数字(mex)matlab代码是

现在我向 Gateway_test_app(2) 添加了 1 个返回值,这是 STRING 我需要做些什么来取回这两个值我正在考虑这样的事情:

我应该在里面放什么??????地方?谢谢约翰尼的任何帮助。

ps 使用 codegen 并且在构建时不需要出错

0 投票
1 回答
113 浏览

c++ - 在 matlab 到 C++ 的转换中未正确设置二维数组

我有一个使用 Matlab Coder 转换为 C++ 的 Matlab 函数。matlab函数的输入是一维数组,:Infx1输出是二维数组。我使用初始化这个(输出)

在我的主循环中,我维护一个count从 1 到 500 变化的变量,在循环结束之前,我使用填充输出数组

其中 blocks 是在每个循环中计算的 18x1 向量。

在我转换后的 C++ 文件中,我希望result是一个二维数组。但它恰好是一个向量,其输出为

的初始化result可以看成

我无法弄清楚这不是二维数组的原因。非常感谢任何帮助。

谢谢

0 投票
2 回答
883 浏览

c++ - Matlab Codegen:不支持匿名函数

我正在尝试将一些 Matlab 代码更改为 C++,但是当我使用 %#codegen 时,错误“代码生成不支持匿名函数”出现在vec = @(x) x(:);. 下面是 Matlab 函数。我可以更改什么来消除此错误?

0 投票
2 回答
592 浏览

c++ - Matlab Codegen构建错误

我正在尝试使用 codegen 将下面的 Matlab 代码转换为 C++。但是它在构建时失败了,我得到了错误:

"??? 除非指定 'rows',否则第一个输入必须是向量。如果向量是可变大小的,则第一个维度或第二个维度必须具有固定长度 1。不支持输入 [] . 使用 1×0 或 0×1 输入(例如 zeros(1,0) 或 zeros(0,1))来表示空集。

然后它指向 [id,m,n] = unique(id); 成为罪魁祸首。为什么它不构建以及修复它的最佳方法是什么?

0 投票
1 回答
1680 浏览

c - MATLAB Coder 动态大小的结构数组

我正在尝试在一段代码中使用动态增长的结构数组,该代码应该使用 Coder 转换为 C:

我初始化结构,然后为编码器声明其字段可变大小,然后我继续增长结构。请注意,我已简化此示例以帮助生成代码的可读性,因此我使用结构数组的原因在此示例中并不明显。

MATLAB:

问题是,在生成的代码中,变量ii消失了,数据被连续写入结构的相同数组元素,而不考虑应该增长它的循环的迭代次数。

C:

我想我在声明动态结构时出错,但不幸的是,文档仅包含用于声明标准数组动态或预分配结构数组大小的示例,即使提到支持动态调整大小也是如此。任何帮助使其工作的帮助将不胜感激。

0 投票
1 回答
483 浏览

c++ - MATLAB Coder 函数在 2014a 中未定义

我正在尝试将用于计算矩阵指数的 expm 函数从 C++ 转换为 Mex,以提高效率。但是,将 C++ 代码转换为 Mex 可行代码,然后运行 ​​mex "filename.cpp" 函数,这将是一项非常艰巨的任务。

因此,我希望使用 MATLAB 提供的 coder 函数来做到这一点。但是我有 MATLAB 版本 2014a,当我尝试运行该函数时,它给了我错误:

未定义的函数或变量“编码器”。

我以为这个功能在 2011a 之后的所有版本的 MATLAB 中都可用,那么为什么会出现这个错误,我该如何解决呢?

0 投票
1 回答
1056 浏览

android - 我们可以在 Android 上实现 MATLAB 代码吗?

我基本上使用 MATLAB 进行图像处理。我想开发一个可以支持 MATLAB 提供的处理的 Android 应用程序。我搜索了有关它的结果,但未能弄清楚它。

0 投票
1 回答
379 浏览

matlab - MATLAB Coder 给出结构越界错误

我正在尝试使用 MATLAB 的编码器工具包来 MEX 一些代码。代码最初包含单元格数组,目前没有由编码器处理,因此我决定使用结构体来弥补这一点。

我的问题是结构的大小不固定,这就是问题所在。我基本上是这样的:

在 MATLAB 的命令窗口中,这是完全可以接受的,但是在尝试构建 MEX 文件时,它会抛出以下错误:

索引表达式超出范围。尝试访问元素 2。有效范围为 1-1。

有没有办法解决这个问题,或者是否有另一种解决方案来解决编码器允许的“单元阵列”之类的结构?