2

在我的excel文件中。每列的第一行是一个字符串。该列的其余部分是该字符串的数据,即

'time' 
1
2
3
4

我想在 excel 中取第一行,并在 Matlab 中设置变量名,其余列数据是该变量的数值数据。所以在 Matlab 中,时间将是数字 1、2、3、4 的列向量。

我不能让它工作。

4

1 回答 1

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

是什么让这项工作:

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

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

于 2013-01-03T15:35:26.747 回答