Articles of matlab

更安全的替代MATLAB的`系统`命令

我一直在使用MATLAB的system命令来得到一些linux命令的结果,就像下面这个简单的例子: [junk, result] = system('find ~/ -type f') 这个按预期工作, 除非用户同时input到MATLAB的命令窗口中。 在长时间的find命令中,这并不罕见。 如果发生这种情况,那么用户的input似乎与find命令的结果混在一起(然后事情就会中断)。 作为一个例子,而不是: /path/to/file/one /path/to/file/two /path/to/file/three /path/to/file/four 我可能会得到: J/path/to/file/one u/path/to/file/two n/path/to/file/three k/path/to/file/four 为了方便说明,我们可以运行如下的东西: [junk, result] = system('cat') 在命令窗口中键入内容,然后按CTRL + Dclosuresstream。 resultvariables将是您input到命令窗口的任何内容。 有没有一种更安全的方式来调用MATLAB的系统命令,而不会冒损坏的input风险?

Matlab – 无需打开GUI即可运行文件,然后退出

我想让Matlab运行一些.m文件,它写入一个文本文件。 我不希望GUI启动,我不希望命令行解释器运行。 我有 matlab -nodisplay -r myfile 但是这仍然运行着翻译。 我应该使用什么选项?

在没有graphics环境的Linux下运行Matlab?

我将使用SSH在远程Linux服务器上运行一个Matlab程序。 我想知道如何在Linux中只用命令行运行Matlab,这意味着没有graphics环境? 谢谢。

在linux上的matlab不能绘制任何东西(无法加载libstdc ++。so.6:版本`CXXABI_1.3.8'找不到)

我在Fedora 24上运行matlab R2016a,我不能使用plot命令。 这是我得到的错误: Error using gca While setting the 'Parent' property of 'Axes': Can't load '/usr/local/MATLAB/R2016a/bin/glnxa64/libmwosgserver.so': /usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version 'CXXABI_1.3.8' not found (required by /lib64/libGLU.so.1) Error in newplot (line 73) ax = gca(fig); 我也看到如何解决:[程序名称] /usr/lib/x86_64-linux-gnu/libstdc++.so.6:版本CXXABI_1.3.8'找不到(需要[程序名称]) ,并没有帮助。

在Matlab mex文件中编译c ++ 11代码时出错

我已经下载了下面的代码 : CVPR 2014十字路口联合优化代码 cvpr2014-iou-code-1.0.zip http://research.microsoft.com/en-us/downloads/e164fe21-ef2b-4e34-98c1-4868968abb06/ 我得到的是两个文件夹,一个叫src/ ,另一个叫matlab/ 。 我正在运行Linux Fedora 19,我可以在src/编译代码src/很好。 当我尝试在matlab/编译代码时出现问题。 自述文件说: Matlab compilation —————— From within Matlab, configure the compiler using "mex -setup", then adjust the paths in matlab\compile_windows.m or matlab/compile_linux.m scripts and run either "compile_linux.m" or "compile_windows.m" in the "matlab" directory. 对于Linux更具体: Linux ===== From within Matlab run "mex -setup", then […]

未find版本GLIBCXX_3.4.11(buildW.mexglx需要)

我正在尝试通过matlab 在这里编译一个c ++ ubuntu项目。 当我试图用make命令编译后使用它时,出现以下错误: Invalid MEX-file '////fashionista_v0.2/lib/+bsr/buildW.mexglx': //local/MATLAB/R2011a/bin/glnx86/../../sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ////fashionista_v0.2/lib/+bsr/buildW.mexglx) 我对这些stream程并不熟悉,所以我不能理解这样的几个提议的解决scheme。 什么是libstdc ++和GLIBCXX,我该如何解决这个问题? 我正在尝试使用从nkjtbuild议的链接来解决问题: export LD_LIBRARY_PATH=${prefix}/lib:$LD_LIBRARY_PATH 但是,由于缺乏unix的shell知识,我不明白要在命令中放什么。 我有定位libstdc ++ .a和.so文件在gcc文件夹/usr/lib/gcc/i686-linux-gnu/4.6 ,我正在尝试以下操作: export LD_LIBRARY_PATH=/usr/lib/gcc/i686-linux-gnu/4.6:$LD_LIBRARY_PATH 但是,我的matlab错误仍然存​​在。 我正在使用Ubuntu 12.04版本的gcc 4.6和matlab r2011a。 编辑:我已经更新了matlab版本到r2012a的问题仍然是一样的。 我也尝试了以下内容: sudo ln -s /usr/lib/cc/i686-linux-gnu/4.6/libstdc++.so libstdc++.so.6 我无法创build文件已经存在的文件。 usr / lib / libstdc ++。so.6 |的输出 grep GLIBC: GLIBCXX_3.4 GLIBCXX_3.4.1 … GLIBCXX_3.4.10 […]

如何在Linux上运行的MATLAB中使用隐形graphics进行imshow

我的目标是: 创造一个看不见的身影 使用小图,绘制图像,然后 保存它而不用打开它。 因此,我正在运行以下代码: f = figure('Visible', 'off'); subplot(2, 2, 1), imshow(image1); subplot(2, 2, 2), imshow(image2); subplot(2, 2, 3), imshow(image3); subplot(2, 2, 4), imshow(image4); saveas(f, 'filename'); 但是我得到的错误: Error using imshow (line xxx) IMSHOW unable to display image. 这意味着imshow正在尝试显示图像。 有没有办法让imshow显示图像在看不见的身影,而不是试图popup?

matlab脚本编辑

我想在两种情况下编辑matlab脚本 (1)在matlab命令窗口中运行一个linuxterminal,如何创build和编辑脚本文件? 使用 edit(filename) 将调用交互式编辑器,这在Linux服务器上运行时是不需要的。 (2)在emacs中,有没有方法可以方便地编辑matlab脚本? 哪个更好,使用MATLAB-Emacs或EmacsLink? 当我试图从http://sourceforge.net/scm/?type=cvs&group_id=154105 cvs checkout MATLAB-Emacs时,我应该指定哪个模块名? 谢谢! 编辑: 在安装MATLAB-emacs时,有一些问题。 我以为我的CEDET安装在这里: /usr/share/emacs22/site-lisp/cedet-common /usr/share/emacs22/site-lisp/cedet-contrib 我的CEDET在Ubuntu上是版本1:1.0pre4-3(intrepid)。 所以我input命令: $ make "LOADPATH=/usr/share/doc/cedet-common /usr/share/doc/cedet-contrib" for loadpath in . /usr/share/doc/cedet-common /usr/share/doc/cedet-contrib; do \ echo "(add-to-list 'load-path \"$loadpath\")" >> autoloads-compile-script; \ done; "emacs" -batch –no-site-file -l autoloads-compile-script -f cedet-batch-update-autoloads matlab-load.el . Generatim autoloads for cedet-matlab.el… Generatim autoloads for […]

是否有可能使用Eclipsedebuggingmex代码?

我正在尝试写一些mex代码,但是用gbd在控制台上debugging是很痛苦的。 有没有可能使用Eclipse或Matlab的GUI? 如果这些不是可行的方法,那么编写mex代码的最佳方法是提供良好的debuggingfunction?

/usr/../libstdc++.so.6:未find版本'GLIBCXX_3.4.11'(必需)

我一直被困在这个问题上好几个星期,一直在互联网上寻找解决scheme,但目前为止不太好… 所以我有一个由别人编写的程序,我尝试在Matlab中编译,使其工作。 我的电脑是红帽企业Linux工作站(64位),安装了gcc 4.4.3和Matlab 2011b。 gcc与我的Matlab兼容( http://www.mathworks.com/support/compilers/R2011b/glnxa64.html )。 编译工作正常(我的意思是,没有错误信息发生在Matlab命令窗口)。 但编译之后,每当我使用编译的特定函数(称为“mexLasso”)时,都会显示如下错误: ***无效的MEX文件“/usr/local/matlab_R2011b/toolbox/spams-matlab/build/mexLasso.mexa64”:/usr/local/matlab_R2011b/bin/glnxa64/../../sys/os/glnxa64 /libstdc++.so.6:版本'GLIBCXX_3.4.11'找不到(需要/usr/local/matlab_R2011b/toolbox/spams-matlab/build/mexLasso.mexa64) testing错误(第24行)alpha = mexLasso(X,D,param); * 所以我在terminalinput“strings /usr/lib/libstdc++.so.6 | grep GLIBC”,我发现其中实际上是“GLIBCXX_3.4.11”。 我一直在使用Linux和gcc的东西只有几个月…所以还是有很多东西我不明白。 如果你能详细解释,这将是非常有帮助的。 谢谢!! %%更多详细信息:我从http://spams-devel.gforge.inria.fr/downloads.html获得了有关机器学习的这些程序。 奇怪的是,编译后,该包中的其他function工作正常(如“mexTrainDL”)。