标签: matlab-deployment

MCR和.NET不兼容

我正在尝试编译使用.NET模块的Matlab(R2010b)应用程序,但我遇到了MCR和.NET模块之间不兼容的问题:

  • .NET模块使用Visual Studio 2010编译.
  • MCR配置为使用Visual Studio 2010.
  • 该应用程序还包含一些使用Visual Studio 2010构建的Mex文件,它们在Matlab和MCR中都可以正常工作.

如果我从Matlab cli加载程序集一切正常,但是一旦我编译应用程序并从cmd.exe运行它,就会抛出一个错误,指出程序集是使用比当前加载的运行时更新的运行时构建的.我认为Matlab R2010b是用Visual Studio 2008构建的,并且相信这就是问题,但我想知道是否有人能解决这个问题?

.net matlab matlab-deployment matlab-compiler

8
推荐指数
1
解决办法
2312
查看次数

Python Mlab - 无法导入名称find_available_releases

我是Python的新手.我试图使用mlab包从Python内部运行MATLAB .我正在关注网站上的指南,我在Python命令行中输入了这个指南:

from mlab.releases import latest_release
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

cannot import name find_available_releases
Run Code Online (Sandbox Code Playgroud)

似乎matlabcom.py没有任何find_available_releases功能.

我可以知道是否有人知道如何解决这个问题?谢谢!

PS:我使用的是Windows 7,MATLAB 2012a和Python 2.7

python windows matlab matlab-deployment mlab python-mlab

8
推荐指数
2
解决办法
1890
查看次数

不显示.net对象的属性和方法

我有.NET程序集文件,我需要它在MATLAB中工作.(该库是用C#创建的,我有相应的源代码)

文档之后,我发现以下命令将在MATLAB中加载程序集并使其类可用于"在MATLAB中".但它似乎没有起作用.我用它来加载文件:

  color = NET.addAssembly('c:\path\to\file\EvolutionMapsClassLib.dll');
Run Code Online (Sandbox Code Playgroud)

加载很好,我在工作区中看到一个1x1 .NET程序集对象.当我输入时,color我得到以下结果:

  color = 

    NET.Assembly handle
    Package: NET

  Properties for class NET.Assembly:

      AssemblyHandle
      Classes
      Structures
      Enums
      GenericTypes
      Interfaces
      Delegates
Run Code Online (Sandbox Code Playgroud)

所以显然它已经正确加载,而且打字color.Classes提供以下内容:

  >> color.Classes

  ans = 

      'EvolutionMaps.EvolutionMap'
      'EvolutionMaps.EvolutionMap+EstimationResults'
      'EvolutionMaps.PrincipalDirectionEvolutionMap'
      'EvolutionMaps.CharacterDimensionsEstemator'
      'EvolutionMaps.MapBlob'
      'EvolutionMaps.MapsMetric'
      'EvolutionMaps.MapsMetric+MapMinimalComparable'
      'EvolutionMaps.MapsL2Distance'
      'EvolutionMaps.DiagonalEvolutionMap'
      'EvolutionMaps.EvolutionMapGenerator'
      'EvolutionMaps.HeightEvolutionMap'
      'EvolutionMaps.FullnessEvolutionMap'
      'EvolutionMaps.YvalEvolutionMap'
      'EvolutionMaps.ImageExtractor'
      'EvolutionMaps.HorisontalProjectionDistance'
      'EvolutionMaps.StrokeWidthEvolutionMap'
      'EvolutionMaps.ConnectedComponentsFinder'
      'EvolutionMaps.ColorMap'
      'EvolutionMaps.ColorMap+GrayColorMap'
      'EvolutionMaps.ColorMap+JetColorMap'
      'EvolutionMaps.TransitionAvgEvolutionMap'
      'EvolutionMaps.PrincipalProjectionEvolutionMap'
      'EvolutionMaps.ConnectedComponent'
      'EvolutionMaps.WidthEvolutionMap'
Run Code Online (Sandbox Code Playgroud)

这似乎运作良好,但根据在线帮助,为了与这些类进行交互,我需要知道方法和属性.

这是我遇到问题的地方,既不是properties也不行methods.我尝试了每个变体来获取属性或方法列表但我不断收到此错误:

  >> properties color.EvolutionMaps.ColorMap

  No properties for class color.EvolutionMaps.ColorMap or no class color.EvolutionMaps.ColorMap.

  >> properties color.Classes.EvolutionMaps.ColorMap …
Run Code Online (Sandbox Code Playgroud)

.net c# matlab .net-assembly matlab-deployment

7
推荐指数
1
解决办法
1753
查看次数

使用Matlab从C#控制台应用程序创建图形或绘图?

如果我在C#中有一个二维数组,我如何在Matlab中绘制这个数组的内容,作为二维图?我正在使用扩展方法,即

my2DArray.PlotInMatlab();
Run Code Online (Sandbox Code Playgroud)

.net c# matlab graph matlab-deployment

6
推荐指数
1
解决办法
9345
查看次数

如何让Matlab Compiler运行得更快?

如何让Matlab编译器运行得更快?制定合理的计划需要很长时间.

我目前 在mbuild -setup 中的c:\ Program Files(x86)\ Microsoft Visual Studio 9.0中使用 Microsoft Visual C++ 2008 SP1

matlab matlab-deployment

6
推荐指数
1
解决办法
2813
查看次数

编译C++ 11代码作为MATLAB mex文件的一部分

我有一段用C++ 11编写的代码,我想将其编译为GNU/Linux的MATLAB MEX文件的一部分.

问题是Linux上的MATLAB仅支持GCC 4.3(及更早版本),并且不支持编译我的C++ 11代码所需的GCC 4.7.

有可能解决这个问题吗?

是否可以通过使用GCC 4.7编译一些目标文件并使用GCC 4.3将它们链接到MEX文件来解决这个问题?

提前致谢!

c++ matlab-deployment c++11

6
推荐指数
1
解决办法
1346
查看次数

用于MATLAB R2013b的Deploytool不起作用,有什么变化?

多年来,我一直在使用集成deploytool为我的同事创建易于分发的*.exe文件.我几天前安装了R2013b,我不能再用deploytool了.尝试打包时的日志文件给出了:

ant:
<ant>
  <mkdir dir="C:\Users\xxxx\Matlab\programxy\test\for_redistribution" />
  <mkdir dir="C:\Users\xxxx\Matlab\programxy\test\for_testing" />
</ant>
mcc -C -o test -W WinMain:test -T link:exe -d 'C:\Users\xxxx\Matlab\programxy\test\for_testing' -v 'C:\Users\xxxx\Matlab\programxy\test.m'
Test checkout of feature 'Compiler' failed.

mcc failed. 
Run Code Online (Sandbox Code Playgroud)

这看起来像许可证问题,但许可证确实包括编译器.

license('test', 'compiler')
Run Code Online (Sandbox Code Playgroud)

给'1'.

R2013b有什么新东西我只是缺少了吗?我是否必须安装一些插件才能再次使用?

matlab licensing mcc matlab-deployment matlab-compiler

6
推荐指数
1
解决办法
8634
查看次数

从Matlab代码创建独立应用程序

我有一些Matlab代码和一个GUI,我想制作一个独立的.exe,以便它可以在没有安装Matlab的计算机上使用.

我知道Matlab编译器以及如何使用它,但是这会创建一个仅在用户安装了MATLAB编译器运行时(MCR)时才有效的.exe.

我感兴趣的是,是否有任何方法可以创建一个仍然使用Matlab代码但不依赖于MCR的独立.exe.我想让它在你点击它时运行而不需要安装任何其他东西.

我知道C可以使用Matlab,有没有办法用C代码?任何开源的Matlab替代品怎么样呢?

作为最后的手段,如果我用另一种语言重写Matlab代码,你会推荐哪种语言?我在想C或Python.

谢谢.

matlab matlab-deployment matlab-compiler

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

如何在c中调用的matlab函数中使用"全局静态"变量

嗨我目前正在使用MATLAB和C进行编码.我已经使用MATLAB Compiler(mcc)将MATLAB函数编译到C共享库中,并在C++程序中调用共享库中的函数.

在C++中调用时,是否可以声明全局变量在MATLAB函数之间共享数据?

确切地说,如果在matlab中有一个函数matlabA()和函数matlabB(),并使用mcc编译器编译成c ++共享库作为cppA()cppB(),我可以通过将变量声明为全局in matlabA()而在它们之间共享一个变量matlabB()吗?

它似乎不起作用,那么我如何在函数之间共享变量?

谢谢!

MATLAB

function matlabA()
    global foo
    foo = 1;
end

function matlabB()
    global foo
    foo
end
Run Code Online (Sandbox Code Playgroud)

C++

cppA();
cppB();
Run Code Online (Sandbox Code Playgroud)

c++ matlab global-variables matlab-deployment matlab-compiler

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

'javac'未被识别为内部或外部命令

我必须在Java中转换我的Matlab算法.为此,我使用matlab builder ja toolbox,在完成所有必要步骤后,构建失败并显示以下错误:

'javac'未被识别为内部或外部命令,可操作程序或批处理文件.错误:外壳到javac时出错(错误代码= 1).无法构建可执行文件.

java -version在matlab命令行中输入时,这就是我得到的:

Java 1.6.0_12-b04与Sun Microsystems Inc. Java HotSpot(TM)客户端VM混合模式

这意味着我应该在我的计算机上安装这个java编译器,然后只有matlab构建器ja才能工作.我是Java的新手,我不确定我应该寻找什么样的编译器.

java matlab-deployment

5
推荐指数
2
解决办法
8万
查看次数