1. 问题所在: 每次循环都把结果赋值到x和y两个变量中,那么下一次循环不就把上一次循环的成果给覆盖了?
2. 解决办法,只要想办法不覆盖就行了嘛。把每次循环的结果都放在一个单独的变量中,例如放在一个cell数组中的一个格子里面。例如把那两句这么改一下:
y{i}=Y(i1:i2);
x{i}=X(i1:i2,:);
如果你想用x1,x2,... 之类的变量名,那么就要用到eval函数了。
eval('y%d=Y(i1:i2);',i);
另外,你没有仔细学课程啊, 在里面我不是说了不要用i这些作为循环变量嘛。至于为什么,你在讲义上找找吧。哈哈