我想在单元格数组内的矩阵的上三角形中找到零元素的索引。假设我有一个单元格数组A{1,1}
,并且{{19} -by- 1}}。如何在B
矩阵的上三角形上找到A
元素的索引?
我尝试使用this link中的答案,我写了这段代码:
0
但它对我没有用,它给了我一个错误:
等号左侧的表达式不是作业的有效目标。
有没有人找到这些请求零的解决方案?
答案 0 :(得分:2)
A{1,1}
不是单元格数组,它是单元格数组中的一个单元格' A'。但你的问题并不是真的要对单元格数组做任何事情。您的问题是如何仅在矩阵的上三角部分找到全零的索引。您正在寻找的代码是:
idx = triu(B==0)
idx
将是逻辑的二维矩阵,在元素为零的任何地方都为true。下三角部分中的所有条目都将为假。您可以使用此矩阵,如
t = B(idx)
将所有零元素作为单个列数组。如果您想以i,j
格式获取索引,则必须执行以下操作:
[i,j] = ind2sub(size(B), find(triu(B == 0)))
我建议在文档中查找triu
,ind2sub
和find