matlab中的while循环问题

我用matlab生成了一个随机整数偏移量,但我担心这个偏移量加上之后会超出界限,所以我做了一个while循环,提取得到的矩阵的最大值进行判断

 while max_lm>R                           R就是最大界限   max_lm是生成的矩阵的最大值
        lm=round(rand(1,P)*R);         生成一个1xP的随机偏移量   
        l3=l2+lm;
        [max_lm,index]=max(l3,[],2);
        end

问题是进入循环要先判断条件,但条件需要进行循环才能得出,所以 max_lm 会报错 不知道该怎么解决

在循环上面做一次循环体内的内容就好