问题标签 [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.
c++ - 使用 Matlab Coder 为 mex 函数组合 matlab 代码和 c/c++ 代码
好吧,Matlab Coder 能够在某些限制下将.m
文件转换为函数。mex
例如,不能在.m
要转换的文件中调用 mex 函数。
但是这个限制是否只针对那些我们没有源代码的 mex 函数?
也就是说,如果我们有一个函数的 C mex 源代码,并且该函数在一个 Matlab 函数内部被调用,像这样:
如上所述,cFun()
可以使用 mex 用 C 编写以提高性能,但在 Matlab 中而不是 C 中编写矩阵运算可能会更好。
因此,如果我们能提供转换成的源代码cFun()
和使用,我们将受益于 Matlab 中矩阵运算的便利性,以及 C 甚至 OpenCL 中某些运算的性能。Matlab Coder
fun()
mex
但有可能吗?
谢谢!
c++ - MATLAB Coder:稀疏矩阵
MATLAB Coder 看起来很花哨,可以通过将代码转换为 C/C++ 或 MEX 来大大加快 MATLAB 代码的速度。但它似乎不支持稀疏矩阵,或者sparse
对我的代码至关重要的 matlab 函数。有谁知道如何克服这个问题?非常感谢!
c - matlab函数griddata的c代码生成
在我的一个应用程序中,我正在使用 matlab griddata 函数。我想生成相同的c代码。但是matlab编码器不支持它。一种可能的解决方案是通过删除单元格数组和可变数量的参数来重写 griddata 函数。但是有一些内置函数,如 DelaunayTri 和 z=F(xi,yi) ,我看不到它们的代码。
请让我知道生成c代码的任何其他替代方法..或者是否有任何支持c代码生成的griddata替代matlab代码..
matlab - 设计一个二维平均滤波器,可以减少噪声对图像的影响
设计一个二维平均滤波器,可以减少噪声对图像“waves_noise.jpg”的影响。您可以使用 MATLAB 中的图像处理工具箱来读取图像,将它们从 RGB 转换为灰度,并使用 MATLAB 函数进行 2D 卷积
matlab - mex 文件出错 ....Index 超出矩阵尺寸。索引值 3 超出数组 gesgroup 的有效范围 [1-2]
我有一个 mex 文件的函数文件。但是在运行 mex 文件时会出错。以下是代码。
在代码中,我初始化了 3 个名为 group、horgroup、gesgroup 的向量,并将 gesgroup 声明为 varsize。
在几行中,group 和 horgroup 被计算为大小为 (1 * 2) 的数组,例如 group = [1 2] 和 horgroup = [3 4] 稍后我需要使用将 group 和 horgroup 合并到 gesgroup
此代码在生成 mex 文件时没有给出任何错误,但是当我运行 mex 文件时,它在上面两行中给出错误,说“索引超出矩阵维度。索引值 3 超出数组 gesgroup 的有效范围 [1-2]”
如果我需要更改代码中的任何内容并再次生成 mex 文件,请告诉我。
matlab - 从 Simulink 中的 Matlab 功能块调用的 sim 命令的 Simout 输出
我试图在根模型“outer.mdl”的一个时间步中模拟模型“inner.mdl”(几个时间步)。我想从 Matlab 功能块调用 simout = sim("inner.mdl") 。问题是:由于我使用的是外部 sim(绕过代码生成),simout 作为 MxArray 返回,我无法从中检索记录的信号。任何想法都会受到赞赏,无论它们是关于在模拟中进行模拟还是使用我正在尝试的方法获取记录的信号。
我这样做的主要原因是,作为控制器的一部分,我试图在未来提前几步模拟系统,以便以某种方式使用该信息。我不想把我的控制器变成代码,即使我摆脱了与仿真时间相关的块,我也不知道如何在整个模型不及时向前移动的情况下运行一个块。
matlab - 有没有办法在没有 mcr 的情况下在 matlab 中为 .m 文件创建 .exe 文件?
我有一个 matlab(.m) 文件和相应的 gui(.fig) 文件。现在我想生成(.exe)文件,即一个独立的应用程序,可以在没有安装matlab的电脑上运行。我可以在不添加 mcr(matlab 编译器运行时)的情况下执行此操作吗?因为 mcr 本身就是 400MB 的数据。
c++ - 没有“new”关键字的 C++ 中的内存分配
我有一些由MATLAB Coder生成的代码。它包括这种类型的一些变量定义:
在方法范围结束之前,这些变量不会被显式删除。
变量是分配在堆上还是栈上?这是否等同于以下内容?
为了内存管理的目的,最好用 重写这些变量定义new
吗int* tmp_size = new int[400];
?
我注意到内存是由我的程序分配的,它永远不会被释放。这会导致内存泄漏吗?
matlab - matlab 功能块没有响应
我试图使用 simulink 的 matlab 函数块来评估一个非常长的函数的值,如下所示(但大约 1.3 Mb):
其中qij
qdij
和qddij
是块的输入。
但是在运行仿真时将此块转换为 C 代码需要太多时间(几乎从不响应)。有没有其他方法可以更快地评估这个?
我还尝试编写一个函数并使用interpreted matlab function
块调用它,但它给了我“输入参数不足”错误。
matlab - 使用 Matlab Coder 的 imfilter 函数?
当我将imfilter()
函数与 Matlab coder 一起使用时,出现错误
我该如何解决这个问题?