Matlab 如何将不等维excel文件放入n*m数组?

Matlab 如何将不等维excel文件放入n*m数组?,matlab,Matlab,我想读取每个excel文件的E列,这些文件的维度不相等,并将它们放入n*m维数组中。 我使用了一个名为getAllFiles的函数来获取目录中的所有文件。我在此链接中找到了函数:。 这是我的密码: fileList = getAllFiles('C:\Users\asus\Network\econimi\S&P500\P1') for i=1:length(fileList) A(i,:)=xlsread(fileList{i},'E:E'); end 当它放置第一个文件的

我想读取每个excel文件的E列,这些文件的维度不相等,并将它们放入n*m维数组中。 我使用了一个名为
getAllFiles
的函数来获取目录中的所有文件。我在此链接中找到了函数:。 这是我的密码:

fileList =  getAllFiles('C:\Users\asus\Network\econimi\S&P500\P1')

for i=1:length(fileList)
    A(i,:)=xlsread(fileList{i},'E:E');
end
当它放置第一个文件的数据时,我看到以下错误:

??? Subscripted assignment dimension
mismatch.

xlsread
函数的输出是矩阵或向量(取决于xls数据)。当您使用
A(i,:)=xlsread(fileList{i},'E:E')
您对MATLAB说,您希望为矩阵的第i行和所有(:)列指定一个矩阵或向量。由于循环的第一次迭代中不存在矩阵,因此将根据赋值rvalue创建矩阵(
xlsread
output,在第一次迭代中似乎是nx1)。 在第二次迭代中,您似乎将一个矩阵分配给一个(i,:)向量,这是不允许的(将一个矩阵放入一个向量中似乎是不合理的)。 现在你说你的xls文件中有不同维度的矩阵。如果您坚持要将所有索引追加到一个矩阵中,那么必须首先决定要对空索引执行什么操作。假设您想将3x3矩阵附加到2x2!您可以将2x2转换为3x2,并将其附加到3x3以获得3x5矩阵。这样,在3x2矩阵中有两个零值