在我的Excel文件中。每列中的第一行是一个字符串。该列的其余部分是该字符串的数据,即
'time'
1
2
3
4
我想取excel中的第一行,并将其作为Matlab中的变量名,其余的列数据是该变量的数值数据。所以在Matlab中,时间将是数字1,2,3,4的列向量。
我无法让它发挥作用。
答案 0 :(得分:2)
怎么样
[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
doc。
使用eval
将值分配给变量(time
),该名称存储在另一个变量(nms{1}
)中。 eval
命令的参数是字符串 time = val(:,1);
,其中Matlab命令将第一列数据(val(:,1)
)的值分配给新的变量名为time
。