Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在matlab中使用编号文件名在循环中编写CSV_Matlab_Csv_Printf_Export To Csv_Pass By Value - Fatal编程技术网

在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));

对于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));
            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
的第二个参数。