我在图中创建了一组线条。线条句柄占用由imline.empty(0,x)
创建的矩阵。当我删除某一行(使用delete(.)
)时,矩阵的大小会发生变化。我想通过用空格(或其他任何东西)填充矩阵中的特定位置来避免这种情况,以保持数据结构化,并且矩阵具有相同的大小。这样做的最佳方式是什么?
答案 0 :(得分:2)
在我的previous answer上构建,请考虑以下示例:
lines = imline.empty(0,10);
for i=1:10
lines(i) = imline(gca, rand(2,2));
end
现在说我们要删除第三行和最后一行:
>> whos lines
Name Size Bytes Class Attributes
lines 1x10 96 imline
>> lines.isvalid
ans =
1 1 1 1 1 1 1 1 1 1
>> delete( lines([3 end]) )
>> whos lines
Name Size Bytes Class Attributes
lines 1x10 88 imline
>> lines.isvalid
ans =
1 1 0 1 1 1 1 1 1 0
所以当delete
- ing ...
如果您想从数组中删除其条目,请尝试:
>> lines(~lines.isvalid) = [];
>> size(lines)
ans =
1 8