问题标签 [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 投票
2 回答
982 浏览

matlab - 3D Matrix as output of a Matlab Function in a Simulink model

I have the following problem.

I have a SIMULINK model and in this model I have a block: Matlab Function, the following http://it.mathworks.com/help/simulink/slref/matlabfunction.html

To my function I have in input :

  • a vector (N x 1)
  • a constant (1 X 1)

In output I would like to have a 3D Matrix, so a matrix R with dimensions (3 X 3 X N).

But I get the following error:

Could you please help me?

The function in the block is the following :

0 投票
1 回答
99 浏览

matlab - 使用 MatlabR2012a 编译到 LINUX Matlab 代码时出错

我正在尝试将 Matlab 函数编译为 C。这里有函数的声明:

所以我从 LINUX 的“UDP Receive”Simulink 块接收 UDP 数据。接收到的消息由 100 个以 ASCII 码编码的数据(函数的输出)组成。我的函数“解析器”接收 UDP 消息并将其解码以获得所需的输出。问题是当我尝试使用 Simulink Coder 编译它时,我收到以下消息:

错误:发生错误 - 中止

有人可以帮忙吗?

0 投票
1 回答
287 浏览

matlab - 不支持 Simulink 中可以是 2D 的 3D 矩阵

我正在使用 SIMULINK,我需要定义一个旋转矩阵 3,3,N,其中 N 是我要模拟的机器人的数量。为此,因为我也在使用 Simulink Coder,所以我必须将与该矩阵相关的信号定义为变量大小,并且必须按以下方式定义上限: 在此处输入图像描述

问题是,当我只想使用一个机器人(我将 n_robots 设置为 1)时,我收到以下错误。

无法将“test_pos_ctrl_target/旋转矩阵到欧拉角”的“R”维度初始化为 [3x3x1]。当矩阵的维数超过 2 时,尾随维度的大小必须大于 1。

有人可以帮助我吗?

多谢。

0 投票
1 回答
1751 浏览

matlab - 代码生成不支持 cell() 构造函数

当我在 Simulink 中使用 matlab 功能块时。我使用另一个包含单元格类型的 matlab 函数。但是simulink因为cell报错了。如何避免这种情况?我有点不想修改函数,因为我所有的函数都有单元格,要全部修改它们需要做很多工作。错误消息:模拟 28 清除保存 2014 年 11 月 27 日晚上 11:26:28 经过:7 秒

代码生成不支持 cell() 构造函数

函数 'RealCo.m' (#56.102.111),第 5 行,第 4 列:“cell(9,1)”启动诊断报告。组件:MATLAB 函数 | 类别:编码器错误

我的功能:

0 投票
2 回答
1487 浏览

c++ - 在 Visual Studio 或 g++ 上运行 Matlab Coder 输出项目

我想将我在 Matlab 中的仿真代码转换为 C++,并使用 Visual Studio 或 g++ 等 C++ 编译器运行它。我修改了我的代码以使用 Matlab Coder 成功构建一个 C++ 项目。编码器在顶层项目目录中返回一个 .prj 文件,在 dll 目录中返回数十或数百个 c++ source/header/object 文件。我尝试使用 Visual Studio 2012 或 2013(我尝试使用这两个版本)打开 .prj 文件,但均未成功,他们甚至无法打开 .prj 文件。我已确保使用 mex -setup 在 Matlab 中将 Visual Studio 配置为 C++ 语言编译器。有谁知道如何使用 Visual Studio 或 g++ 处理 .prj 和后续文件?我现在不想让它可执行;我只想使用任一编译器运行它并确保它正常工作。谢谢

0 投票
1 回答
983 浏览

linux - Windows下如何使用Matlab嵌入式编码器编译LINUX?

我正在尝试将 Simulink 算法编译到 CarPC。CarPC 基于 Intel Atom 处理器并在 LINUX 中运行。这个想法是使用 Matlab 嵌入式编码器将 Simulink 代码编译到特定目标。

问题是我不知道我是否可以使用我的 Windows 版本的 Matlab 来编译算法,然后在 LINUX 上使用它。我的意思是,从 Windows 编译到 LINUX。

我的 Matlab R2014a 是否可以从 Windows 到带有 LINUX 的 Intel Atom 处理器?

0 投票
0 回答
217 浏览

matlab - matlab codegen链接/嵌入mex

好的,所以我在 MATLAB 中开发了一个代码,其中包含许多无法矢量化的嵌套循环。为了加快处理我“codegen”这个文件。这里的问题是我正在调用 gcc(或 mex)中而不是 .m 文件中的函数。这里的功能:http: //www.mathworks.com/matlabcentral/fileexchange/21702-3d-volume-interpolation-with-ba-interp3--fast-interp3-replacement

有谁知道如何解决这个问题?

这是主文件(main.m)的结构:

MATLAB 错误:

0 投票
1 回答
433 浏览

c++ - 链接 Matlab 生成的 C++ 库的问题

我想在我的 C++ 代码中使用从 Matlab C/C++ 编码器生成的代码。
Matlab 以正确的方式创建文件,并带有一个 Makefile,以创建一个库。我想,我在 Makefile 中以正确的方式链接了库,但它仍然引发错误:

/HOMES/~~/testMatlab/main.cpp:11: 未定义对 `emxCreate_real_T(int, int)' 的引用

主.cpp:

libMat.h

生成文件:

该库位于 /libs 中,名为 libMat.a。所以这一切都应该是正确的

我是否必须以任何其他方式调用这些函数,因为它们是外部函数?文件 libMat.h 当然是在 libMat.cpp 中实现的,该文件在链接库中编译。但我无法更改 Matlab 生成的代码(libMat 等)

可能可以排除 32/64 位 Stuff 的问题,因为我在构建自己的项目的同一台机器上构建库。

怎么了?

0 投票
1 回答
1952 浏览

matlab - Simulink 中用于嵌入式模块的任何 Tic Toc 函数

我有一个带有一些嵌入式 Matlab 块的系统,我想在一定时间后执行一些操作,在这种情况下,在我从 Simulink 向其发送信号的接口中打开灯和开关。

问题是我认为我会在 Matlab 功能块中使用“tic”-“toc”和“while”来执行这些操作,比如一个参数在 5 秒后变为 1,以下参数在 12 秒后变为 1 等等开启,但我注意到 tic-toc 显然不适用于 Simulink 的嵌入式功能。

是否有任何类似的功能可以在 Simulink 中用于嵌入式功能,或者有没有其他方法可以做到这一点?

编辑:我也尝试过获取时钟的时间,但它的价值正在增长。执行块的功能时,有没有办法将时间“锁定”为参数?

0 投票
1 回答
194 浏览

c - Matlab 生成的 C 中的 Dll

我使用以下命令在 Matlab 中创建了一个简单函数的 dll:

简单的函数如下所示:

我需要通过 c 代码调用 dll。这就是我用来将 dll 函数的计算结果转换为文本文件的方法:

我的文本文件中总是出现“NOT”,因为 c 代码无法从 dll 中提取函数。为什么这不起作用?获取 dll 函数的 c 代码应该没问题,我用在 Visual Studio 中创建的 dll 对其进行了测试。