在matlab中使用编号文件名在循环中编写CSV
对于matlab来说,这里有点陌生,搜索和一些关于我的问题的现有门户网站无法找到一种方法,在以csv导出时通过值将我的变量传递给输出文件名;提供下面的脚本,我希望输出文件类似于在matlab中使用编号文件名在循环中编写CSV,matlab,csv,printf,export-to-csv,pass-by-value,Matlab,Csv,Printf,Export To Csv,Pass By Value,对于matlab来说,这里有点陌生,搜索和一些关于我的问题的现有门户网站无法找到一种方法,在以csv导出时通过值将我的变量传递给输出文件名;提供下面的脚本,我希望输出文件类似于output\u$aa\u$dd.csv,其中aa和dd分别是脚本计数器的第一个和第二个 for aa=1:27 for dd=1:5 M_Normal=bench(aa,dd).Y; for j=1:300 randRand=M_Normal(randperm(12000,12000));
output\u$aa\u$dd.csv
,其中aa和dd分别是脚本计数器的第一个和第二个
for aa=1:27
for dd=1:5
M_Normal=bench(aa,dd).Y;
for j=1:300
randRand=M_Normal(randperm(12000,12000));
for jj = 1:numel(randMin(:,1)); % loops over the rand numbers
vv= randMin(jj,1); % gets the value
randMin(jj,j+1)=min(randRand(1:vv)); % get and store the min of the selction in the matix
end
end
csvwrite('/home/amir/amir_matlab/sprintf(''%d%d',aa, bb).csv',randMin);
end
end
MATLAB中的字符串连接就像矩阵连接一样完成。比如说
a='app';
b='le';
c=[a,b] % returns 'apple'
因此,在您的问题中,完整路径可以这样形成
['/home/amir/amir_matlab/',sprintf('%d_%d',aa,bb),'.csv']
此外,通常最好不要显式指定文件分隔符,以便代码可以在其他操作系统中实现。我建议您将完整路径写为
fullfile('home','amir','amir_matlab',sprintf('%d_%d.csv',aa,bb))
干杯。干杯,伙计;)我想我必须在最后提到输出矩阵,对吗
fullfile('home','amir','amir\u matlab',sprintf('%d\u%d.csv',aa,bb),randMin)
Yes,作为csvwrite
的第二个参数。