beg*_*inh 3 string file-io matlab filenames save
关于matlab的这个问题:我正在运行循环并且每次迭代都会生成一组新数据,我希望每次都将它保存在一个新文件中.我还通过更改名称来覆盖旧文件.看起来像这样:
name_each_iter = strrep(some_source,'.string.mat','string_new.(j).mat')
Run Code Online (Sandbox Code Playgroud)
而我在这里苦苦挣扎的是迭代,以便我获取文件:... string_new.1.mat ... string_new.2.mat等.
我尝试使用()[] {}以及'string_new.'j'.mat'的各种组合(这给出了语法错误)
怎么做到呢?
字符串只是字符的向量.因此,如果您想迭代地创建文件名,那么这是一个如何执行此操作的示例:
for j = 1:10,
filename = ['string_new.' num2str(j) '.mat'];
disp(filename)
end
Run Code Online (Sandbox Code Playgroud)
上面的代码将创建以下输出:
string_new.1.mat
string_new.2.mat
string_new.3.mat
string_new.4.mat
string_new.5.mat
string_new.6.mat
string_new.7.mat
string_new.8.mat
string_new.9.mat
string_new.10.mat
Run Code Online (Sandbox Code Playgroud)
您还可以使用NUM2STR提前生成所有文件名:
>> filenames = cellstr(num2str((1:10)','string_new.%02d.mat'))
filenames =
'string_new.01.mat'
'string_new.02.mat'
'string_new.03.mat'
'string_new.04.mat'
'string_new.05.mat'
'string_new.06.mat'
'string_new.07.mat'
'string_new.08.mat'
'string_new.09.mat'
'string_new.10.mat'
Run Code Online (Sandbox Code Playgroud)
现在,像filenames{i}每次迭代一样访问单元格数组内容