我需要在HPC群集上运行MATLAB程序。我想做的是通过在参数中传递数据来运行程序。
addpath('path')
savepath
% a and b need to be passed through an argument
c = addition(a,b);
fileID=fopen('test.txt','w');
fprintf(fileID,'Num\n');
fprintf(fileID,'%f\n',c);
fclose(fileID);
我有两个问题: 1.如何编写参数以传递数据? 2.如何在MATLAB中编写代码以获取从参数传递的数据?
谢谢。
答案 0 :(得分:0)
您可以使用自己的参数编写一个Matlab m文件脚本(例如,此处名为 mymfile.m ),然后在群集上运行该脚本(可能需要使用Shell脚本启动)取决于您的集群)
matlab -r mymfile.m
(请注意,只能像这样运行脚本,而不能运行Matlab functions (尽管可以从脚本中调用函数))。或者,您也可以直接将纯命令显式运行为
matlab -r 'addpath('path'),savepath,c=addition(a,b); ... , exit'
您可能会在shell脚本中传递 a 和 b 的位置。如果您使用的是Linux群集/服务器,并且想要execute multiple parameter runs of the same Matlab script one can use xargs。