0
我在尝试填充数组时遇到了MatLab中的此错误。 MatLab说,赋值B(j, 1) = z(z-counter)
包含一个负值或非整数值。但是,当我尝试执行代码后查看工作空间中的变量值时。
j =1, counter =1, z =1
获取错误“下标索引必须是真正的正整数或逻辑”尽管工作空间表示我的可变全部= 1
for j= 1:1:totalSizeOfMatrix
if(j <= totalNumberInBottom)
if(mod(j, lengthOfBottomRow) == 1)
counter= counter +1;
end
z = mod(j,lengthOfBottomRow);
B(j,1) = z(z-counter);
end
if(j > totalNumberInBottom && j <= totalNumberNotInTop)
if(mod(j, lengthOfSecondRow) == 1)
counter= counter +1;
end
z = mod(j,lengthOfSecondRow);
B(j,1) = z(z-counter);
end
if(j > totalNumberInBottom)
if(mod(j, lengthOfTopRow) == 1)
counter= counter +1;
end
z = mod(j,lengthOfTopRow);
B(j,1) = z(z-counter);
end
end
MATALB索引从1开始。因此,z(0)无效。 –
另请参见[此问题](http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-integers-or-logicals-generic-sol)[通用方法] (http://stackoverflow.com/a/20054048/983722)来处理这个错误。 –