我正在尝试保存除循环内的所有变量。但错误或错误的文件扩展名始终是MATLAB返回的答案。 我哪里错了?
for SESSION=1:3
for trial_number=1:10
eval(['save data_',num2str(SESSION),'_trial_',num2str(trial_number),'.mat'...
,'-regexp','^(?!(RESPONSE)$). ']);
end
end
答案 0 :(得分:2)
你想要做的直接问题是,在连接字符串时,你未能在文件名和PK
参数之间放置一个空格('')
但是,我建议你利用save
的能力来获取多个参数来清理事物并防止不必要的字符串连接:
-regexp
其中save(filename, variablename)
是* .mat文件的路径,filename
是表示您要保存的工作空间中的变量的字符串。
您还可以将variablename
标记值传递给-regexp
函数。 (以下示例假设您的正则表达式是正确的。)
save
你可以接近这个的另一种方式(如果你不喜欢正则表达式或你的匹配对于排除多个值来说太难了),就是得到工作区中所有变量的列表,删除我不喜欢的那个变量。我想保存,并明确地将所有其他变量名称传递给output_file = sprintf('data_%d_trial_%d.mat', SESSION, trial_number);
save(output_file, '-regexp', '^(?!(RESPONSE)$.')
函数。
save