Articles of matlab

Linux上的MATLAB MEX文件无法在libpython.2.7.so中find符号

我一直在做一个项目 ,使用libpython2.7.so将Python解释器作为MEX文件embedded到MATLAB中,但每当我尝试导入作为扩展模块实现的Python模块时遇到问题。 例如,试图导入itertools导致以下错误: >> py_import itertools ImportError: /usr/lib64/python2.7/lib-dynload/itertoolsmodule.so: undefined symbol: PyTuple_Type ??? Error using ==> pymex_fns Python exception inside py_import. Error in ==> py_import at 24 py_obj = pymex_fns(py_function_t.IMPORT, name); 无论是否在调用Py_Initialize()之前清除LD_LIBRARY_PATH ,并且在MATLAB中调用ldd (对于itertools.so ,在本示例中)不会导致任何(not found)消息,都会发生此问题。 下面我粘贴运行MATLAB的结果, LD_DEBUG=libs set,首先用MATLAB启动时设置的LD_LIBRARY_PATH ,然后在尝试导入之前运行setenv('LD_LIBRARY_PATH', '') 。 我怎样才能解决这个问题,并允许dynamic加载扩展模块? 使用MATLAB的默认LD_LIBRARY_PATH : >> py_import itertools 3018: find library=libpython2.7.so.1.0 [0]; searching 3018: search path=/usr/local/MATLAB/R2011a/bin/glnxa64/../../bin/glnxa64:/usr/local/MATLAB/R2011a/bin/glnxa64:/usr/local/MATLAB/R2011a/bin/glnxa64/../../sys/os/glnxa64 […]

将.m库封装到MATLAB可执行文件中

我觉得这是一个相对基本的问题,但解决scheme似乎超出了我的Google-fu。 build立: 我在〜/项目中有一个matlab项目,它引用了一个文件夹/ s / cplex / matlab中的一个matlab库(cplex)。 我可以通过调用addpath('/ s / cplex / matlab'),然后运行我的main()脚本来成功编译我的应用程序。 目标: 我想build立我的项目作为一个可执行文件,以便它仍然可以参考/ s / cplex / matlab。 理想情况下,/ s / cplex / matlab将被打包到这个可执行文件中,以便可移植。 问题: 我做这个工作的尝试都是徒劳的。 我已经浏览了http://blogs.mathworks.com/loren/2008/08/11/path-management-in-deployed-applications/并尝试: 在运行可执行文件之前,将/ s / cplex / cplex / matlab添加到LD_LIBRARY_PATH中 在启动MATLAB之前将/ s / cplex / cplex / matlab添加到LD_LIBRARY_PATH,以便它在MATLAB LD_LIBRARY_PATH 将/ s / cplex / cplex / matlab添加到MATLAB的deploytool中的Shared […]

MATLAB getenv无法find一些linux环境variables

我有一个小问题 – 解决方法是微不足道的,但我想知道为什么问题存在。 我在.bashrc中设置了一些环境variables: export FREESURFER_HOME=/usr/local/freesurfer 在我的startup.m文件中,我试图设置variables: freesurfer_home=getenv('FREESURFER_HOME'); 但是,这个对getenv的调用返回一个空的字符数组。 在MATLAB中调用getenv会返回一些环境variables(例如,getenv('HOME')),而不是其他的。 我可以看到哪些环境variables是可见的MATLAB从以下行: map = java.lang.System.getenv(); 我也可以确认缺less的值是可见的,至less在shell中,使用任何 export env printenv 有没有解释这种差异?

Linux与Windows在MatLab中执行lsqcurvefit和importdata

我最近在MatLab中编写了一个程序,它严重依赖于MatLab的'importdata'函数和优化工具箱中的'lsqcurvefit'函数。 这段代码在Windows中使用MatLab R2011b大约需要15秒。 当我将代码转移到Linux(CentOS)机器上时,大约花了30分钟。 使用configuration文件工具,我确定额外的计算时间的大部分花费在'importdata'函数和'lsqcurvefit'函数上。 我清除了两个环境中的所有variables,并使用“importdata”在两个环境中导入了相同的数据文件。 在Linux中,这花了大约5秒钟,而在Windows中,这花了大约0.1秒。 有没有办法解决这个问题? 代码在Linux中快速运行是非常重要的。 Linux机器的内存和处理速度都远远超过Windows机器。 在做了一些阅读之后,我尝试增加Java堆内存,但是这没有效果。

MATLAB 2013在32位Linux上安装(Xubuntu 14.04)

我正在尝试将64位MATLAB 2013a安装到32位Linux上,这是我以前能够做的(谁知道如何),根据Mathworks论坛助手完全可以实现。 注意这是Xubuntu的全新安装。 我从ISO安装,但我装入图像,并将内容复制到我的主文件夹。 我已经尝试了一些运行安装脚本的变种,首先:./install – 这只是显示一个错误,说它找不到java目录。 ./install -glnxa64 – 这给出了一个语法错误: / tmp / mathworks_17016 / sys / java / jre / glnxa64 / jre / bin / java:1:/ tmp / mathworks_17016 / sys / java / jre / glnxa64 / jre / bin / java语法错误:“(”unexpected ./install -glnxa64 -javadir / usr / lib / jvm […]

我应该如何设置MATLAB来正确显示俄文(西里尔字母)在Linux上的数字?

我在Ubuntu 12.04.4 LTS和Windows XP上安装了MATLAB R2008b。 Ubuntu中的系统区域设置是Unicode – en_US.UTF-8。 为了与Windows兼容,我使用ru_RU.CP1251语言环境在Ubuntu中启动MATLAB – 所以我有简单的脚本来启动MATLAB: cat /opt/MATLAB_R2008b/bin/matlab-run #!/bin/bash export LANG="ru_RU.CP1251"; export LC_ALL="ru_RU.CP1251"; /opt/MATLAB_R2008b/bin/matlab -desktop 之后, slCharacterEncoding和function('DefaultCharacterSet')按预期返回所需的windows-1251。 我的系统中有很多字体,几乎都支持俄文(西里尔字母)字形。 俄文文本通常在uicontrol中显示(请参见截图 ) uicontrol('String','Русский=Russian','Position',[0 0 200 200]) 但是并不在图标和标题中,所以 x = linspace(0,2*pi,100); y = sin(x); xlabel('x, в радианах','interpreter','none'); ylabel('y, значение sin(x)','interpreter','none'); title('y, значение sin(x)','interpreter','none'); 在标签和标题中产生错误的字符 。 我不知道如何解决这个问题。 我应该如何设置MATLAB来正确显示俄文(西里尔字母)在Linux上的数字?

gsl:make文件不能链接,/ usr / bin / ld:找不到-lgsl

我在linux服务器上出现以下错误 gcc -m64 -O3 /export/projects/EL/mlml21/gsl-1.16/.libs/libgsl.a /export/projects/EL/mlml21/gsl-1.16/cblas/.libs/libgslcblas.a -I/export/projects/EL/mlml21/gsl-1.16 -std=c99 -o em em.c data.c prob_functions.c -lgsl -lgslcblas -lm / usr / bin / ld:找不到-lgsl collect2: ld returned 1 exit status make :*** [em]错误1' 通过运行下面的makefile default: em em_mex clean:`rm -f * .o em CBLAS_LIB=/export/projects/EL/mlml21/gsl-1.16/cblas/.libs .libs GSL_LIB = / export / projects / EL / mlml21 / gsl-1.16 / […]

Java Home设置不正确?

我想在我的Fedora 22上安装MATLAB。最后,我得到一个错误 应用程序遇到意外错误,需要closures。 您可能想尝试重新安装您的产品。 更多信息可以在/tmp/mathworks_root.logfind 当我查看mathworks_root.log文件时,发现Java Home在安装过程中没有正确设置 Java Home / tmp / mathworks_32206 / sys / java / jre / glnxa64 / jre 虽然我设置了这个环境variables,输出这个命令 echo $ JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.45-40.b14.fc22.x86_64/jre/bin/java 你知道,为什么会发生这种情况? 谢谢!

Matlab安装(LD_LIBRARY_PATH)弄乱了其他库文件

我试图在Linux机器上安装Matlab,但设置LD_LIBRARY_PATH(如安装需要)会中断其他库文件。 我不是一个Linux专家,但我已经尝试了几件事情,不能正常工作。 我甚至联系了Matlab的支持,把问题提到了开发团队,基本上被告知“哈哈吸吮”。 我在网上看到其他一些人有同样的问题,但是他们的问题都没有回答,或者他们有一个稍微不同的问题,他们的解决scheme并不适用于我。 在运行Ubuntu的虚拟机上安装: 按照说明设置LD_LIBRARY_PATH,然后中断networking文件。 我可以ping google.com,但我不能nslookup google.com或在浏览器中访问它。 Nslookup提供了这个错误: nslookup: /usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by /usr/lib/libdns.so.100) 03-Feb-2016 11:32:22.361 ENGINE_by_id failed (crypto failure) 03-Feb-2016 11:32:22.362 error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244: 03-Feb-2016 11:32:22.363 error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:447: 03-Feb-2016 11:32:22.363 error:2606A074:engine routines:ENGINE_by_id:no such engine:eng_list.c:418:id=gost (null): dst_lib_init: crypto failure 安装虽然工作(我可以运行我的Java程序引用编译的Matlab函数)。 取消设置LD_LIBRARY_PATH可修复networking文件,但不能再运行程序。 在EC2实例上安装: 在EC2实例上,它不会破坏networking文件(nslookup很好)。 […]

无法启动appdesigner

我试图运行matlabs appdesigner,但我得到这个错误: Warning: The following error was caught while executing 'appdesservices.internal.browser.AbstractBrowserController' class destructor: Undefined function 'isvalid' for input arguments of type 'double'. Error in appdesservices.internal.browser.WebWindowController/closeBrowser (line 127) if isvalid(obj.WebWindow) && obj.WebWindow.isWindowValid Error in appdesservices.internal.browser.AbstractBrowserController/delete (line 51) obj.closeBrowser(); Error in appdesservices.internal.browser.WebWindowController (line 28) function obj = WebWindowController(varargin) Error in appdesservices.internal.peermodel.BrowserControllerFactory/launchWebwindow (line 81) browserController = appdesservices.internal.browser.WebWindowController(varargin{:}); Error […]