文字列のセル配列には、次の単純な関数を使用します。これはC:\Users\NAME\Documents\MATLAB\@cell
、プラットフォーム()のまたは同等のユーザーパスに配置されます~/Documents/MATLAB/@cell
。この@cell
名前は、MATLAB内の関数@cell
がセル配列でのみ使用されることを通知します。
function csvwrite(fileName,cellArray)
fid = fopen(fileName,'w');
for i=1:size(cellArray,1)
fprintf(fid,'%s,',cellArray{i,1:end-1});
fprintf(fid,'%s\n',cellArray{i,end});
end
fclose(fid);
従来のWindows/DOS行末が必要な場合は、2回目のfprintf
呼び出しで「\n」を「\n\r」に置き換えます。タブが必要な場合は、最初の呼び出しで「、」を「\t」に置き換えることもできます。
数値配列の場合csvwrite
、MATLABに含まれている関数を使用できます。
混合データ型のセル配列を使用する必要がある場合は、フォーマット指定子の配列を受け入れるように関数を変更する必要があります。
function csvwrite(fileName,cellArray,spec)
fid = fopen(fileName,'w');
for i=1:size(cellArray,1)
fprintf([spec '\n'],cellArray{i,1:end});
end
fclose(fid);
次のような行を持つ配列の場合、たとえば、{ 1 3 5 'string1' string2' }
を使用spec = '%d,%d,%s,%s'
します。
これらの例に基づいて、各セルのデータの型をテストし、配列の内容が完全に不明な場合に一致するフォーマット文字列を作成する、より高度な関数を作成できます。