在我的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
此代码使用两个输出变量调用。这种方式xlsread
将数字数据放入第一个变量中,将文本数据放入第二个变量中。有关更多信息,请参阅xlsread
文档。
eval
用于为变量 ( ) 赋值,该变量time
的名称存储在另一个变量 ( nms{1}
) 中。命令的参数eval
是一个字符串 time = val(:,1);
,Matlab 命令将第一列 data( val(:,1)
) 的值赋给一个名为time
.