使用 disp 函数显示值
Using disp function to display values
Data.xlsx
是一个 excel 文件,其中包含 156 名学生的数据。在 excel 文件的单元格 4 中,会显示 1st 学号,如果您增加 7,你有 2nd 学号等等,直到最后一个单元格 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)
Data.xlsx
是一个 excel 文件,其中包含 156 名学生的数据。在 excel 文件的单元格 4 中,会显示 1st 学号,如果您增加 7,你有 2nd 学号等等,直到最后一个单元格 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)