私のExcelファイルで。各列の最初の行は文字列です。列の残りの部分は、その文字列のデータです。
'time'
1
2
3
4
Excelの最初の行を取得し、それをMatlabの変数名にし、残りの列データはその変数の数値データにします。したがって、Matlabでは、時間は数値1、2、3、4の列ベクトルになります。
これを機能させることができません。
どうですか
[val nms] = xlsread( xlsFileName );
assert( size(val,2) == size(nms,2), 'mismatch number of columns and number of names');
for ci=1:size(val,2)
eval( [ nms{ci}, ' = val(:,ci);' ] ); % name the column
end
これが機能する理由:
このコードはxlsread
、2つの出力変数を使用して呼び出します。このようxlsread
にして、数値データを最初の変数に入れ、テキストデータを2番目の変数に入れます。詳細については、xlsread
ドキュメントを参照してください。
名前が別の変数()に格納されているeval
変数()に値を割り当てるために使用します。コマンドの引数は文字列であり、データの最初の列( )の値を。という名前の新しい変数に割り当てるMatlabコマンドです。time
nms{1}
eval
time = val(:,1);
val(:,1)
time