标签: matlab-deployment

是否有已建立的方法为已部署的MATLAB应用程序使用配置文件?

我正在使用MATLAB项目,并希望能够配置变量和路径而无需重新创建可执行文件(目前通过使用MATLAB的内置deploytool完成).我意识到我可以创建一个简单的文本文件,列出key = value对,并在运行时读取它.在MATLAB中似乎没有任何内置支持来创建遵循标准格式的配置文件.

是否有任何标准的现有方法来为MATLAB生成的可执行文件使用配置文件?

matlab file configuration-files matlab-deployment

5
推荐指数
1
解决办法
1342
查看次数

如何在Ubuntu下编译和包含Python中的Matlab文件

我在Matlab中编写了一个轨迹规划器,我想编译为.dll或.so以包含在Python中.是否可能,如果是,我在哪里以及如何开始?我已经安装了gcc和g ++.

python dll matlab shared-libraries matlab-deployment

5
推荐指数
1
解决办法
726
查看次数

从MATLAB创建一个DLL

我在MATLAB中创建了一个DLL,它为我的.m函数提供了一个接口.

现在我想将它与MCR运行时库一起使用.(MCR = Matlab编译器运行时).

我在一个C例程中调用这个DLL,最终用GCC(MinGW)编译成一个包装器DLL.

现在我的函数分为两种形式:

extern LIB_XYZ_C_API 
bool MW_CALL_CONV mlxGet_path(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[]);
extern LIB_XYZ_C_API bool MW_CALL_CONV mlfGet_path(int nargout, mxArray** p);
Run Code Online (Sandbox Code Playgroud)

从这些我选择后者,因为前者似乎是一种"旧式/遗产".

我这样称呼它:

char get_path(LStrHandle path)
{
    char mret = init_XYZ(); // here I call mclmcrInitialize(), mclInitializeApplication(NULL, 0) etc.
    if (mret) return mret;
    mret = 2;
    // here the relevant part begins
    mxArray * mxpath = NULL; // set it to NULL and let the callee allocate it
    bool bret = mlfGet_path(1, &mxpath);
    // now …
Run Code Online (Sandbox Code Playgroud)

matlab linker matlab-deployment matlab-compiler

5
推荐指数
1
解决办法
1832
查看次数

4
推荐指数
1
解决办法
780
查看次数

从matlab构建.exe格式

我的m文件是:

   x=0:0.01:2*pi;
   y=sin(x);
   plot(x,y)
Run Code Online (Sandbox Code Playgroud)

我想用.exe格式构建这个程序.我想在没有matlab的计算机上运行此.exe.

matlab matlab-deployment

4
推荐指数
1
解决办法
515
查看次数

从Matlab代码构建一个独立的应用程序

我有一些Matlab代码和一个GUI,我想制作一个独立的应用程序来保护我的源代码.我该如何构建这个独立的?谢谢你的任何指导.

================================================== ==============================

我在帮助中找到了:

如果您不想以此格式分发您的专有应用程序代码,则可以使用以下更安全的选项之一:

•部署为P代码 - 将部分或全部源代码文件转换为称为P代码文件的内容模糊形式(来自其.p文件扩展名),并以此格式分发应用程序代码.

•编译成二进制格式 - 使用MATLAB编译器编译源代码文件以生成独立应用程序.将后者分发给应用程序的最终用户.

使用P代码很简单,也没问题.

构建独立的可执行文件

保护源代码的另一种方法是将其构建为独立的可执行文件,并将可执行文件以及任何其他必要的文件分发给外部客户.您必须安装MATLAB编译器和支持的C或C++编译器才能准备文件以进行部署.但是,最终用户不需要MATLAB.

要为MATLAB应用程序构建独立应用程序,请按照MATLAB程序文件的常规步骤开发和调试应用程序.然后,按照程序员在MATLAB编译器文档中部署到最终用户的步骤中的说明生成可执行文件.

  1. 创建一个包含运行时所需软件的包.看看程序员需要什么软件?更多细节.

要将使用MATLAB编译器创建的独立应用程序分发到开发计算机,请创建包含以下文件的包.

MCRInstaller.exe(Windows)

MCRInstaller是一个自解压缩的可执行文件,可以安装必要的组件来开发您的应用程序.该文件包含在MATLAB Compiler中.

application_name.exe(Windows)

应用程序由MATLAB Compiler创建.Maci64必须包含bundle目录层次结构.

matlab source-code-protection matlab-deployment matlab-compiler

4
推荐指数
1
解决办法
2万
查看次数

确定文件是否在matlab中编译(在exe'中)

所以我有一段MATLAB代码,我在exe中编译.这个exe文件将由未安装MATLAB的人使用.但原始的m文件也被一些高级用户使用.我在编译的exe版本中无法提供一些功能.我的问题是我想为exe和m原始版本维护相同的代码.为了做到这一点,我希望我的代码能够自动检测正在运行的文件是exe还是m文件,以便我可以使用if语句禁用exe版本的某些函数.有办法做到这一点???

matlab exe matlab-deployment matlab-compiler

4
推荐指数
1
解决办法
130
查看次数

如何将Matlab类编译成C lib?

这个问题的起源是从这里如何在c中调用的matlab函数中使用"全局静态"变量.

我试图将"全局变量"封装到一个对象中.但是我不知道如何使用MATLAB Compiler(mcc)将matlab类导出到c ++

为此,我尝试了标准命令

Matlab命令

mcc -W cpplib:Vowel4 -T link:lib Vowel4.m
Run Code Online (Sandbox Code Playgroud)

Matlab脚本

classdef Vowel4

  properties
    x
    y
  end

  methods
    Vowel4
    A
    B
  end

end
Run Code Online (Sandbox Code Playgroud)

生成的lib实际上是独立的函数而不是c ++类.

如何将Matlab中的类编译成c ++类?

我一直在寻找答案,但没有找到答案.

显然matlab命令不适合这种情况.但是我找不到有关将matlab类构建到c ++类中的任何信息.

==========================编辑======================= =

实际的cpp代码如下:@Alan

mclInitializeApplication(NULL, 0);
loadDataInitialize();
soundByCoefInitialize();
loadData(); 

mwArray F(4, 1, mxDOUBLE_CLASS);
float test[4];

for ( ;; ){
    const Frame frame = controller.frame();
    const FingerList fingers = frame.fingers();
    if ( !fingers.empty() ){
        for ( int i = 0; i < 4; i ++ ){ …
Run Code Online (Sandbox Code Playgroud)

matlab matlab-deployment matlab-compiler

4
推荐指数
1
解决办法
3245
查看次数

如何快速启动MCR启动时间

我将我的matlab程序转换为.net程序集,即dll文件.我已经制作了一个控制台C#应用程序添加dll文件并从php调用它.每次调用.exe时都会调用MCR.如何在服务器启动时初始化MCR而不是每次都关闭,即使在一段时间后调用了exe ??如果有任何其他方法可以使这个过程快速,请建议.

.net dll matlab matlab-deployment

4
推荐指数
1
解决办法
2621
查看次数

Matlab MCR已过期

我在我的机器上安装了Matlab Compiler Runtime.它工作正常,但现在当我运行一些需要它的代码时,我收到此错误:

无法初始化MCR实例:指定的组件已过期.

我认为MCR基本上是免费下载的,但现在我想知道我是否有试用版或者其他东西,尽管据我所知,没有什么可以说在Matlab下载网站上就是这种情况.

还有其他人有同样的问题吗?

matlab matlab-deployment matlab-compiler

4
推荐指数
1
解决办法
1119
查看次数