有没有办法在不使用 GUI 的情况下从特定行运行 MATLAB 脚本。
在 GUI 中我使用 %%
。
谢谢
最佳答案
可以写入一个函数,该函数将读取脚本 m 文件,跳过行直到需要的行并将其余部分写入临时 m 文件,然后运行它。或者从 line1 到 line2。抱歉,现在无法访问 Matlab 来实现它。可能是明天,除非有人自愿这样做。
更新
函数如下:
function runfromto(mfile, lfrom, lto)
% Runs mfile script from line lfrom to line lto.
if nargin < 1
error('No script m-file specified.');
end
if ~strcmp(mfile(end-1:end),'.m')
mfile = [mfile '.m'];
end
if ~exist(mfile,'file')
error(['Cannot access ' mfile])
end
M = textread(mfile,'%s','delimiter','\n');
if nargin < 2
lfrom = 1;
end
if nargin < 3 || lto > numel(M)
lto = numel(M);
end
if lfrom > numel(M)
error(['Script contains only ' num2str(numel(M)) ' lines.'])
end
for k=lfrom:lto
try
evalin('base',M{k})
catch ME
error('RunFromTo:ScriptError',...
[ME.message '\n\nError in ==> ' mfile ' at ' num2str(k) '\n\t' M{k}]);
end
end
更新 2 更正了anon 的以下评论。
关于scripting - 有没有办法在没有 GUI 的情况下从特定行运行 MATLAB 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2349083/