最近想给公司的服务器安装一个 Matlab 试一下, 因此写这篇博客把主要过程记录下来。

我是通过 xshell 远程连接的服务器, 然后通过 xftp 新建了一个 Softwares 文件夹, 并通过 xftp 把 Matlab 的镜像文件上传到了服务器上,也就是在 Softwares 文件夹里面,文件名是 R2014b_glnxa64_withcrack.iso. 之后就可以开始安装了.

" hljs bash">sudo /usr/local/MATLAB/R2014b/bin/matlab

激活之后执行启动命令就成功了,但是为了启动的方便,我们需要添加环境变量,即打开 /etc/profile 文件,添加以下语句即可。

" hljs ruby">export PATH=$PATH:/usr/local/MATLAB/R2014b/bin

然后输入matlab就可以启动了。

这里直接上个图

 

值得注意的是,在哪个目录启动的Matlab,那么启动后的默认工作目录就在哪里。

启动后,直接输入命令或者程序名就可以运行程序了

 

如果想退出,直接输入 quit 就可以了,其实跟普通平台是一样的。

如果想在命令行里直接执行脚本的话,比如上面的简单求和脚本,如下

n = 10000;
 tic % 程序计时开始
 s = 0;
 i = 0;
 for i = 1:n
 s = s + i;
 end
 t = toc; %程序计时结束
 disp(['1到', num2str(n), '的累加和为: ', num2str(s)]);
 disp(['求解所用的时间为', num2str(t), 's']);
 quit()
 matlab -r simplesum

其中 simplesum 是程序文件名,同样不需要加 .m 后缀。

 

 

% 简单求和程序
 % 需要传递参数 n
 tic % 程序计时开始
 s = 0;
 i = 0;
 for i = 1:n
 s = s + i;
 end
 t = toc; %程序计时结束
 disp(['1到', num2str(n), '的累加和为: ', num2str(s)]);
 disp(['求解所用的时间为', num2str(t), 's']);
 quit()然后执行如下语句即可
matlab -r "n = 100; simplesum"
 
 
nohup matlab -r simplesum &

如果有输出,输出结果会存到 nohup.out 文件中,比如上面的输出就是

 

可以看到,这与在后台执行 Python 和 R 脚本是几乎一模一样的。

至于如何像 Python 和 R 那样, 让Matlab 程序执行结束后自动给我们发一个带程序运行结果的邮件,有时间我会研究一下并更新。

下面更新一下如何发送邮件,其实网上资料很多,以163邮箱为例,我最终参考的模板如下

% 发送邮件

MyMailAddress = '*********@'; % 发送邮件所用的邮箱的地址
 MyPassword = '****************'; % 发送邮箱的密码
 setpref('Internet','E_mail',MyMailAddress);
 setpref;
 setpref('Internet','SMTP_Username',MyMailAddress);
 setpref('Internet','SMTP_Password',MyPassword);
 props = java.lang.System.getProperties;
 props.setProperty('mail.smtp.auth','true');
 subject = '***程序执行状态报告'; % 发送的邮件主题
 content = 'Hello, 您的程序已经运行结束,运行结果可见附件'; % 发送的邮件内容
 sendmail % 设置需要接收的邮箱及主题、内容、附件等
 % disp('Succesfull');
 quit()