我有一些用Matlab编写的代码,我有矩阵A 3 x 3.如何获得块数A> th,并将其保存在Matlab中。而我只是想得到一个值下一个值“1”所以我应该只得到一个块是[1 2],我的代码有什么问题吗?请帮助谢谢你
这是我的代码
th = 0.1;
A =[1 0.2 0.03; 0.2 1 0.03; 0.2 0.03 1];
index = 0;
for i = 1:size(A,1)
for j = 1:size(A,2)
if i == j
[i j] = find(A > th)
index = index + 1;
hasil = [i j];
end
end
end
如果我运行我的程序,结果如下: (1 1),(1 2),(2 1),(2 2),(3 1),(3 3)
答案 0 :(得分:1)
ind2sub
可用于将线性索引转换为下标。
[hasilx,hasily] = ind2sub(size(A), find(A>th));
[hasilx hasily]
ans =
1 1
2 1
3 1
1 2
2 2
3 3
find
也可以直接返回下标:
[hasilx,hasily]=find(A>th);