0

ここでmatlabを初めて使用する場合、csvwriteチュートリアルと私の質問に関する既存のWebポータルのいくつかを検索すると、csvでエクスポートするときに変数を出力ファイル名に値で渡す方法が見つかりませんでした。output_$aa_$dd.csv次のスクリプトを提供すると、 aa と dd がそれぞれスクリプトのカウンターの 1 番目と 2 番目になるような出力ファイルが必要になります。

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
4

1 に答える 1

1

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

乾杯。

于 2013-11-15T02:53:30.483 に答える