matlab中for循环内嵌套if语句无法得到正确结果输出

想要通过for和if循环从已经生成的颜色数组中按照条件生成两个新的颜色数组,但是最后输出的两个数组discolor1和discolor2还是原来的zeros(180,3)的样子,想知道我的代码到底是哪里出了问题呢?
代码如下:
%% 建立颜色库
RGB=imread([pwd,'\wheel.jpg'],'jpg');
color_seq=zeros(360,3);
for i=1:360
color_seq(i,:)=impixel(RGB,xy(i,1),xy(i,2));
end
%% 抽取cuecolor 确定discolor
a=randperm(360,1); %抽取cue的颜色
cuecolor=color_seq(a,:);
discolor1=zeros(180,3);
discolor2=zeros(180,3);

for i=1:180

if randIndexList1(i:2)==1  %条件1,包含6个子条件

    if randIndexList1(i:3)==1
        (discolor1(i,:)==discolor2(i,:))==cuecolor;  
      
    elseif randIndexList1(i:3)==2
         if a<4
            discolor1(i,:)=color_seq(a-3+359,:);
            discolor2(i,:)=color_seq(a+3,:);
        else 
            discolor1(i,:)=color_seq(a-3,:);
            discolor2(i,:)=color_seq(a+3,:);
         end

    elseif randIndexList1(i:3)==3
        if a<6
            discolor1(i,:)=color_seq(a-5+359,:);
            discolor2(i,:)=color_seq(a+5,:);
        else 
            discolor1(i,:)=color_seq(a-5,:);
            discolor2(i,:)=color_seq(a+5,:);
        end         

    elseif randIndexList1(i:3)==4
        if a<7
            discolor1(i,:)=color_seq(a-6+359,:);
            discolor2(i,:)=color_seq(a+6,:);
        else 
            discolor1(i,:)=color_seq(a-6,:);
            discolor2(i,:)=color_seq(a+6,:);
        end          

    elseif randIndexList1(i:3)==5
        if a<8
            discolor1(i,:)=color_seq(a-7+359,:);
            discolor2(i,:)=color_seq(a+7,:);
        else 
            discolor1(i,:)=color_seq(a-7,:);
            discolor2(i,:)=color_seq(a+7,:);
        end           

    else 
        if a<10
            discolor1(i,:)=color_seq(a-9+359,:);
            discolor2(i,:)=color_seq(a+9,:);
        else 
            discolor1(i,:)=color_seq(a-9,:);
            discolor2(i,:)=color_seq(a+9,:);
        end          
    end

elseif randIndexList1(i:2)==2 %条件2,也包含6个子条件
    if randIndexList1(i:3)==1
        (discolor1(i,:)==discolor2(i,:))==cuecolor;
        
    elseif randIndexList1(i:3)==2
        if a<9
            discolor1(i,:)=color_seq(a-8+359,:);
            discolor2(i,:)=color_seq(a-13+359,:);
        elseif 9<a &&a<14 
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-13+359,:);
        else
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-13,:);
        end
       
    elseif randIndexList1(i:3)==3
        if a<9
            discolor1(i,:)=color_seq(a-8+359,:);
            discolor2(i,:)=color_seq(a-13+359,:);
        elseif 9<a &&a<18 
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-17+359,:);
        else
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-17,:);
        end
      
    elseif randIndexList1(i:3)==4
        if a<9
            discolor1(i,:)=color_seq(a-8+359,:);
            discolor2(i,:)=color_seq(a-19+359,:);
        elseif 9<a &&a<20 
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-19+359,:);
        else
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-19,:);
        end
      
    elseif randIndexList1(i:3)==5
        if a<9
            discolor1(i,:)=color_seq(a-8+359,:);
            discolor2(i,:)=color_seq(a-21+359,:);
        elseif 9<a && a<22
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-21+359,:);
        else
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-21,:);
        end
      
    else
        if a<9
            discolor1(i,:)=color_seq(a-8+359,:);
            discolor2(i,:)=color_seq(a-25+359,:);
        elseif 9<a &&a<26 
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-25+359,:);
        else
            discolor1(i,:)=color_seq(a-8,:);
            discolor2(i,:)=color_seq(a-25,:);
        end           
    end
end

end


discolor1=[]
discolor2=[]
for i=1:n
if 条件
discolor1(end+1,:)=........
discolor2(end+1,:)
end
end