matlab for循环 如何输出全部循环结果

问题遇到的现象和发生背景

下面这个代码如何输出所有for循环的结果呢

问题相关代码,请勿粘贴截图

numb=xlsread('D:\研究僧\行人实验\数据\Excel数据\0.20组\0.2-6-1.xlsx','A1:A50000');
frame=xlsread('D:\研究僧\行人实验\数据\Excel数据\0.20组\0.2-6-1.xlsx','B1:B50000');
Xposition=xlsread('D:\研究僧\行人实验\数据\Excel数据\0.20组\0.2-6-1.xlsx','C1:C50000');
Yposition=xlsread('D:\研究僧\行人实验\数据\Excel数据\0.20组\0.2-6-1.xlsx','D1:D50000');
ALL=[numb,frame,Xposition,Yposition];
length_data=length(numb)

person1=[]
for i=1:length_data
if numb(i)==2
person1=[numb(i), frame(i), Xposition(i), Yposition(i)]
end
end

运行结果及报错内容

person1 =

319.0000 44.7001 67.1341

person1 =

320.0000 42.6572 67.5844

person1 =

321.0000 40.4528 68.4368

person1 =

322.0000 38.2273 69.2746

person1 =

323.0000 35.7817 70.1989

person1 =

324.0000 33.8264 70.6387

person1 =

325.0000 31.3930 71.7059

最终得出来的person1之后最后一个循环的结果

我的解答思路和尝试过的方法
我想要达到的结果

求解答!

那就不要用循环了,建议是

for i=1:length_data
if numb(i)==2
person1=[numb(i), frame(i), Xposition(i), Yposition(i)]
end
end

改为:

p = find(numb==2); % 找到numb中等于2的下标
i = p(end);  % 把最后一个下标拿出来赋值给i
person1=[numb(i), frame(i), Xposition(i), Yposition(i)] % 这个person1就是最后的结果

如有帮助还望题主给个采纳支持答主答题哟,谢谢啦