Data.xlsx
是包含156学生数据的excel文件。从单元格4的excel文件,显示第一个学生号,如果你增加7,你有第二个学生号,以此类推,直到最后一个单元格1094。
F = xlsread('Data.xlsx');
for ii = 4:7:1094
studentNumbers = disp(F(ii));
end
,但这给了我一个错误说"Too many output arguments
"。然而,如果我只指定disp(F(ii))
,它不会给我任何错误,并按顺序显示所有的学生号码。
是否有更好的方法来做到这一点,以便我可以将所有这些学生号码分配到一个名为studentNumbers
的数组中?
如果我理解正确,您正在尝试做以下操作:
studentNumbers = F(4:7:1094);
disp
是一个在屏幕上显示数字的函数,而不是将其分配给另一个变量。如果你想分配,你只需使用=
。所以你的循环应该是:
for ii = 4:7:1094
studentNumbers = F(ii);
end
现在,正如@Sardar正确指出的那样,这里不需要循环,您可以在一个命令中分配所有值,使用向量4:7:1094
作为索引。正如他的回答:
studentNumbers = F(4:7:1094);
但是,如果您可以在Excel中定义数据的范围,那么xlread
允许您通过将函数设置为读取特定范围来跳过此分配,例如:
sheet = 1; % if the data in in sheet 1
xlRange = 'D:D'; % if all the data is in column D
studentNumbers = xlsread('Data.xlsx',sheet,xlRange)