在我的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
为名称存储在另一个变量(nms{1}
(中的变量(time
(赋值。eval
命令的自变量是字符串time = val(:,1);
,它是将第一列数据(val(:,1)
(的值分配给名为time
的新变量的Matlab命令。