相关疑难解决方法(0)

如何在命令行脚本完成之后停止MATLAB的返回?

我在MATLAB help(matlab -h)中看到我可以使用该-r标志来指定m要运行的-file.我注意到,当我这样做时,MATLAB似乎启动了脚本,但立即返回.脚本处理正常,但主应用程序已经返回.

有没有办法让MATLAB只在命令完成后返回?如果你从一个单独的程序中调用它,似乎等待进程比使用文件或套接字确认完成更容易.

为了说明,这是一个示例函数waitHello.m:

function waitHello
    disp('Waiting...');
    pause(3); %pauses 3 seconds
    disp('Hello World');
    quit;
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下方式运行:

matlab -nosplash -nodesktop -r waitHello
Run Code Online (Sandbox Code Playgroud)

matlab command-line

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

如何从PHP运行MATLAB代码进行隔离的口语识别?

正如标题所示,我有用于隔离口语识别的 MATLAB代码,并且我希望能够将该项目与另一个用PHP构建的项目集成用于某些目的.

我以前不习惯处理这样的问题.换句话说,这是我第一次需要集成PHP和MATLAB时,所以我真的不知道从哪里开始以及如何开始.

我已经阅读了几篇文章,但我无法使其有效.

我有PHP 5.4.9,MATLAB R2012A和Windows 7. MATLAB项目文件可以在GitHub上看到.

php matlab matlab-deployment

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

抑制Matlab的启动消息

我想以非交互方式在bash中调用matlab,并在Matlab之外使用它的结果.

例如,我有一个脚本test.m

rand(3,4)
quit
Run Code Online (Sandbox Code Playgroud)

当我在bash中执行时

$ matlab -nosplash -nodesktop -nodisplay -r test
Warning: No window system found.  Java option 'MWT' ignored

                        < M A T L A B (R) >
              Copyright 1984-2008 The MathWorks, Inc.
                     Version 7.7.0.471 (R2008b)
                         September 17, 2008


  To get started, type one of these: helpwin, helpdesk, or demo.
  For product information, visit www.mathworks.com.


ans =

0.8147    0.9134    0.2785    0.9649
0.9058    0.6324    0.5469    0.1576
0.1270    0.0975    0.9575    0.9706
Run Code Online (Sandbox Code Playgroud)

是否可以抑制Matlab的启动消息,并且只显示没有"ans ="的结果.

注意我不仅仅是针对这个例子提出一般性问题.

感谢致敬!

matlab command-line

14
推荐指数
2
解决办法
7576
查看次数

使用Matlab将日志语句写入标准输出

我们从Jenkins构建服务器启动Matlab .由于构建可能需要一些时间,因此在matlab运行时获取一些日志输出会很不错.有没有办法将文本打印到标准输出?disp,fprintf和java.lang.System.out.printline只写入matlab控制台,而不是标准输出.

使用日志文件或管道无济于事,因为Jenkins只在构建步骤中从标准输出读取.

在matlab运行时,我们如何将标准语句写入标准输出?

编辑: 我们在Windows上运行Matlab 2010b

matlab command-line batch-file

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

从命令行启动matlab后,在linux终端中丢失了一些东西

从linux中的命令行启动matlab时,我有一种奇怪的行为.

我在linux中有一个bash脚本,它从命令行在matlab中执行一个函数,并使用C++编写的自定义函数执行其他操作,如下所示:

#!/bin/bash
# prepare input data just to be sure it has not been written by other test!
matlab2011a -nodesktop -nosplash -r "prepare_data_matlab( 'A' ); quit"
# launch C++ program
...
# prepare more data
matlab2011a -nodesktop -nosplash -r "prepare_data_matlab( 'B' ); quit"
Run Code Online (Sandbox Code Playgroud)

当脚本完成后,虽然命令有效,但我看不到我在终端写的内容.我需要到reset终端.

事实上,如果我只使用matlab启动matlab,一切正常,prepare_data_matlab( 'A' )但是当我执行带有选项的函数时问题就出现了prepare_data_matlab( 'B' ).

我逐行评论,发现问题是B调用函数的选项

dlmwrite(file_name, B, ' ');
Run Code Online (Sandbox Code Playgroud)

不用于prepare_data_matlab( 'A' ).

那么,我应该如何从命令行执行matlab以避免这种行为?该dlmwrite()功能是否存在已知错误?

我正在使用Ubuntu 12.04 64位,GNU bash,versión4.2.24 (1)-release(x86_64-pc-linux-gnu)和matlab2011a …

linux bash matlab

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

标签 统计

matlab ×5

command-line ×3

bash ×1

batch-file ×1

linux ×1

matlab-deployment ×1

php ×1