Matlab报错,有人能看看是什么原因吗?


for i=5:1:97

    h=[];

    for j=hmin+2:i:hmax+2
        h=[h,j];
        if(j~=hmax+2)
            jp=j+i;
            h=[h,jp];
        end
        disp(h);

        p=hmin;
        u=1;
        while(u<=numel(h))
            hn=[];
            while(h(u)-table3(p,1)>=2&&p<=hmax)  
                p=p+1;
                hn=[hn,(h(u)-table3(p,1)-2)*table3(p,2)];
            end
            u=u+1;
            c=sum(hn,['all']);
            disp(c);
        end
        c=0;
    end
end

img


我做的是2014年数学建模d题储药柜的设计第三问,用这个代码求某高度间隔种类下的高度总冗余。
最外面的for循环,我想用等差数列来选择高度间隔,然后步长i的值就决定了高度间隔有多少种类。里面的for循环,我让h储存步长为i时所有的高度间隔,然后与数据对应计算,求出步长为i时,各规格药盒的高度冗余,保存在hn里面,最后用c代表hn所有元素的和,再输出h和c。
但是编了一天了代码一堆问题。