我有一个0
/1
值矩阵magnitude
和另一个矩阵edgels
。两者都是450x450的两倍。我想只保留与magnitude
中1
值对应的边缘单元格,其余为零。我尝试以下操作:为什么矩阵大小不同?
edgels(magnitude==1)=edgels;
我收到错误:
In an assignment A(:) = B, the number of elements in A and B must be the same.
- 为什么他们不一样的大小?
- 这样做的最佳方法是什么?
那么其余的值不是1呢?这些应该设置为什么?你也会得到这个错误,因为'magnitude == 1'给了你一个0/1的二进制掩码,并且通过逻辑索引,'magnitude == 1'中的非零值的总数必须与你的元素总数正在分配给'edgels',但事实并非如此。 – rayryeng
@rayryeng对不起。请参阅编辑。 – havakok
edgels(magnitude == 1)'有'numel'条目等于'1'而'edgels'是全矩阵。 – TroyHaskin