问题标签 [matlab-compiler]

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 回答
97 浏览

matlab - uitable编译后无法正常显示

我有一个嵌入在具有单元结构的 GUI 中的 uitable,它是可编辑的。在 Matlab 环境中一切正常,但编译后,uitable 只显示空白。它仍然是可编辑的,但在 GUI 中根本没有任何显示。

PS:我已经在编译中包含了arrayviewfunc和其他相关函数。因此,在这种情况下,缺少功能不应成为潜在原因。这个bug已经在2008b修复了,但是我只有2008a的license。尽管如此,这对我的程序来说非常重要,所以如果 2008a 中存在任何解决方法,我想在这里咨询一下。

太感谢了!

0 投票
1 回答
1131 浏览

matlab - 哪个是允许在没有管理员权限的情况下安装 MCR 的最新 Matlab 版本?

我想将一些 GUI 编译成 Windows 独立应用程序(*.exe)。主要思想是在不同的计算机上运行我的应用程序,而无需特权来运行它。

在执行这些步骤时,我注意到当我想vcredist_x86.exe在不同的计算机上运行时需要管理员权限。我在官方论坛上问过,他们确认这是不可能的。

旧版本还有其他有趣的替代方法: How can I install the Matlab Component Runtime without Administrator rights when using MATLAB Compiler 4.6 (R2007a)

尽管现在没有受支持的方式,但直到哪个 Matlab 版本才可以在没有特权的情况下运行独立应用程序?

我的版本是 2010b,但我可以使用支持在没有特权的情况下运行 MCR 的最新版本。我有 Matlab 编译器,但没有 Matlab 代码生成器(自动翻译成另一种语言)。

0 投票
3 回答
12399 浏览

c++ - 将 Matlab 转换为 C++

我需要将一些 MATLAB 代码转换为 C++。我正在使用 Visual Studio 2010 并安装了 MATLAB 编译器。我想知道我该怎么做。

此外,当我发布我的项目时,最终用户是否必须通过 MATLAB 安装任何东西?(这不可能)

0 投票
1 回答
1198 浏览

matlab - Matlab:如何从外部 API 调查编译的 m 代码进度?

我的问题非常具体到 matlab 编译器和运行时的奥秘。因为只有熟悉 matlab 运行时 API 的人才会回答,所以我缩短了很多细节。如果我应该更冗长,请告诉我。

介绍

使用 matlab 编译器和运行时,我可以从 C# 程序调用用 m 代码编写的函数。假设调用:

with(在 C# 代码中的某些 dllimports 后面的某个地方):

到目前为止,一切都很好,我对此没有任何问题(即初始化运行时、加载“.cft”文件、使用 .Net 类型来回编组 MxArray 等......)

我的问题

我想foo使用一些回调cancel来调查我的函数的进展:progress

但我当然希望这些回调在 C# 代码中,而不是在 m-one 中。

调查

  1. 查看“mclmcr.h”头文件,看起来这些函数可能会有所帮助:

    不幸的是,这些完全没有文档记录,我发现没有可以模仿的用例来理解它们是如何工作的。

  2. 我还考虑过在 C# 中创建一个 COM 可见对象并将其作为参数传递给 matlab 代码:

     

    我非常熟悉创建数字和结构数组的函数,并且知道如何使用它们:

    无论如何,COM对象是如何打包到MxArrays的,我不知道?

进一步调查

第 1 天

即使仍然不稳定,我也成功地让 matlab 回调到我的 C# 代码中,这似乎mclCreateSimpleFunctionHandle是前进的方向。

注意:以下代码仅供参考。它可能不适合您自己的上下文。稍后我将提供更简单的代码(即一旦我得到稳定的解决方案)。

  1. 查看 的签名mxFunctionPtr,我创建了两个这样的代表:

    /li>
  2. 我还像这样链接到运行时:

    /li>
  3. 假设MxArray是我的一个简单封装mxArray*句柄的 .NET 类,然后我像这样编组我的代表:

    /li>
  4. 最后,假设module是一个实例MCRModule(同样,我的一个类封装hInst*在低级mclFevalAPI 中),我能够调用foo函数并让它进入我的 .NETcancel委托,如下所示:

    此 .NET 代码运行良好,并且foo确实正确地回调了cancel委托。

    唯一的问题是它非常不稳定。我的猜测是我使用了太多匿名函数,并且可能其中一些被过早地处理了......

    将在接下来的几天内尝试提供稳定的解决方案(希望使用更简单的代码来阅读和复制粘贴到您自己的上下文中以便立即进行测试)。

    如果您认为我走错了方向,请告诉我mclCreateSimpleFunctionHandle

0 投票
4 回答
7750 浏览

matlab - Matlab 部署工具-Windows 独立应用程序

我正在尝试使用 Deploytool 在 Matlab 中创建一个 Windows 独立应用程序来为我的项目生成一个 .exe 文件。(如此处所述:http: //www.mathworks.co.uk/products/demos/compiler/deploytool/index.html)。

问题是当我在 Deploytool 中添加我的文件并按下 Build 按钮时,它要求我使用 mbuild -setup 来设置我的编译器。当我这样做时,我得到的唯一选择是:

当我选择任何我得到这些:

我在构建时也收到以下错误:

你能帮我解决这个问题吗?

提前致谢。

0 投票
1 回答
547 浏览

matlab - 在使用 Matlab Builder NE 编译 COM 服务器时,我不断收到错误消息:“描述:MCR 实例不可用”

我正在尝试使用 Matlab Builder NE 在 Matlab 2011a 中编译 COM 对象。我设法构建和打包它,部署它,甚至启动 COM 服务器。我在 Matlab 中使用以下命令

c = actxserver('MyFirstComServer.Class1');

但是,当我尝试在此句柄上运行任何方法时,我会收到如下错误消息:

c.GetNames(0,'')
??? 调用错误,调度异常:
来源:MyFirstComServer.Class1.1_0
描述:MCR 实例不可用

我在网上找到了一些与之相关的东西,但是,它对我没有帮助 http://www.mathworks.com/support/solutions/en/data/1-2VS4TC/index.html?product=MN&solution=1- 2VS4TC

有人知道该怎么做吗?

编辑:
我发现只有当我从 Matlab 调用组件时才会出现问题。这可能与 MCR 混淆有关,COM 组件使用与 Matlab 相同的 MCR。

0 投票
2 回答
2236 浏览

windows - 如何隐藏随我的应用程序打开的控制台窗口?

我有一个控制台窗口,它与我的应用程序一起打开。我能以某种方式找到它的句柄并将其隐藏或至少将其最小化吗?假设我可以使用任何语言(C++、C#、Visual Basic、批处理文件等)

我无法移除控制台,因为每个 Matlab 编译的应用程序都有一个。

0 投票
1 回答
1390 浏览

matlab - 使用代码包将 Matlab 代码转换为 .mex

我想通过将代码转换为 C\C++ 来优化用 Matlab 编写的函数。结果应该可以从 matlab 中调用,因为它只是较大 matlab 代码的一小部分。

例如,将我的函数转换为包含在 .mex 文件中的 C 代码就可以了。我听说 matlab 编码器包可以帮助解决这个问题。

由于我不熟悉此软件包,因此实现此目的的最快方法是什么?

0 投票
1 回答
121 浏览

matlab - Matlab 编码器 - 接收二维双精度矩阵的函数中的 mex - 如何指定动态大小?

我的 matlab 函数是这样的:

我如何告诉 matlab 编码器参数 M 是动态维度的。我只看到如下选项: assert(isa(M, 'double')); 或断言 M 具有恒定的尺寸。

0 投票
1 回答
1396 浏览

matlab - 为什么 Matlab 独立应用程序退出并出现错误“TooManyOutputs”?

我在 Matlab 中创建了一个独立的应用程序,实际上它可以工作,它显示所需的输出但它立即关闭,甚至没有足够的时间检查输出并阅读 DOS(独立模式)上的错误消息,上面写着:

任何帮助,将不胜感激。