如何在元胞数组的上三角矩阵中找到零元素的索引
How to find the index of zero elements in upper triangle matrix in a cell array
我想在元胞数组内的矩阵的上三角中找到零元素的索引。假设我有一个元胞数组 A{1,1}
并且里面有一个大小为 19-by-19 的矩阵 B
A
的第一个单元格。如何在 B
矩阵的上三角找到 0
元素的索引?
我尝试使用 this link 中的答案并编写了以下代码:
which(upper.tri(Adjecany_Valid_vertices{1,1}) & Adjecany_Valid_vertices{1,1}==0, arr.ind=TRUE)
但它对我不起作用,它给了我一个错误:
The expression to the left of the equals sign is not a valid target for an assignment.
有人有找到这些请求的零的解决方案吗?
A{1,1}
不是元胞数组,它是元胞数组'A'中的一个元胞。但是您的问题实际上与单元阵列无关。您的问题是如何仅在矩阵的上三角部分中找到全零的索引。您要查找的代码是:
idx = triu(B==0)
idx
将是一个二维逻辑矩阵,只要元素为零,该矩阵就为真。下三角部分的所有条目都是假的。您可以像
这样使用这个矩阵
t = B(idx)
将所有零元素作为单列数组获取。如果你想获得 i,j
格式的索引,你必须这样做:
[i,j] = ind2sub(size(B), find(triu(B == 0)))
我建议在文档中查找 triu
、ind2sub
和 find
我想在元胞数组内的矩阵的上三角中找到零元素的索引。假设我有一个元胞数组 A{1,1}
并且里面有一个大小为 19-by-19 的矩阵 B
A
的第一个单元格。如何在 B
矩阵的上三角找到 0
元素的索引?
我尝试使用 this link 中的答案并编写了以下代码:
which(upper.tri(Adjecany_Valid_vertices{1,1}) & Adjecany_Valid_vertices{1,1}==0, arr.ind=TRUE)
但它对我不起作用,它给了我一个错误:
The expression to the left of the equals sign is not a valid target for an assignment.
有人有找到这些请求的零的解决方案吗?
A{1,1}
不是元胞数组,它是元胞数组'A'中的一个元胞。但是您的问题实际上与单元阵列无关。您的问题是如何仅在矩阵的上三角部分中找到全零的索引。您要查找的代码是:
idx = triu(B==0)
idx
将是一个二维逻辑矩阵,只要元素为零,该矩阵就为真。下三角部分的所有条目都是假的。您可以像
t = B(idx)
将所有零元素作为单列数组获取。如果你想获得 i,j
格式的索引,你必须这样做:
[i,j] = ind2sub(size(B), find(triu(B == 0)))
我建议在文档中查找 triu
、ind2sub
和 find