对于Matlab,从xlsx导入数据,如何将第一行作为变量名,将列的其余部分作为变量名的数据



在我的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

是什么让它发挥作用:

  1. 此代码使用两个输出变量调用xlsread。这样,xlsread将数字数据放入第一个变量,将文本数据放入第二个变量。有关更多信息,请参阅xlsread文档。

  2. 使用eval为名称存储在另一个变量(nms{1}(中的变量(time(赋值。eval命令的自变量是字符串time = val(:,1);,它是将第一列数据(val(:,1)(的值分配给名为time的新变量的Matlab命令。

相关内容

  • 没有找到相关文章

最新更新