% 連番CSVファイルをセルに呼び込む
% [OutCell OutIndex] = csvread2cell(template,readnum,indexes,rettype)
% template  : 読み込むファイル名のテンプレート．###の部分が数字に置き換えられる．桁数分だけ#を書くこと．
% readnum   : 読み込むファイル番号．[1 3 5 7]のようにベクトルで指定．
% indexes   : 読み込み対象列のindex文字列．複数の場合はセル配列にする.
%             すべて読み込む場合には'all'を指定．省略ならば'all'
% rettype   : 出力する形式．'mat'=行列で読み込む．OutStは行列になる．
%             行列の場合，indexesにインデックスと列番号が格納される．
%             'struct'=構造体として読み込む．インデックスをフィールド名として
%             データを読み込む．省略すると'struct'が設定される
% ignorelu  : インデックス指定時，指定したインデックスの大文字小文字を無視する．
%             true(無視) もしくは false(無視しない) で指定．省略時は true
% 
% 使用例
% OutSt = csvread2cell('001.csv');
% →001.csvの中身が，インデックスをフィールド名としてOutSt構造体に読み込まれる
% [OutMat index] = csv_struct_read('001.csv',',','all',
%                                 {'step','time','pos'},'mat',true); 
% →001.csvのstep，time，posに合致する列のデータを，Outmatに設定，
% 同時にそのインデックスと列の関係をindexに出力する

% CSVデータをインデックス付きで読み込む．
function [OutCell] = csvread2cell(template,readnum,indexes,rettype)
%%
%  out = csv_struct_read('001.csv',',')

% 引数のエラー処理

% データ読み込み
OutCell = cell(1,readnum(end));
for i = readnum
    fn = get_numed_filename(template,i,true);
    OutCell{1,i}.Setting.fn = fn;
    [OutCell{1,i}.RawData OutCell{1,i}.Indexes] = csvread_ext(fn,',',indexes,rettype,true);
    OutCell{1,i}.Setting.RawLen = size(OutCell{1,i}.RawData,1);
end

