我需要为此代码执行的操作是导入一个巨型(302x11)excel文档,然后询问用户输入。然后,我需要遍历excel数组的第5列中的每个元素,如果该元素与用户输入匹配,则将整行保存到新数组。经过所有302行后,我需要显示新数组。
到目前为止,我有这个:
Vin = input('Vin: ');
filename='MagneticCore.xlsx';
sheet=2;
xlRange='B2:L305';
[ndata, text, alldata] = xlsread(filename,sheet,xlRange,'basic');
在此之后,我不确定如何遍历alldata数组。
答案 0 :(得分:2)
alldata是一个单元格,用于选择可以使用的第五列alldata{:,5}
。在单元格中搜索this way without iterating
如果您遇到问题,请自行尝试使用代码和错误消息更新您的问题
答案 1 :(得分:0)
Daniel R是对的,您可以在不迭代单元格数组的情况下执行此操作。如果需要,您可以在这里迭代数组:
[ndata, text, alldata] = xlsread('Book1.xlsx');
target = 12;
newArray = {};
for r = 1:size(alldata, 1)
% get the element in the fifth column of the current row
e = raw{r,5};
if e == target
% add to newArray
newArray{end + 1} = alldata(r,:);
end
end
% display newArray
for r = 1:size(newArray, 1)
disp(newArray{r})
end