在here和here的Matlab中学习使用find(),我遇到了以下用法,但找不到代码功能的解释。
X = [0.00000 0.00000 0.00000;
4.24264 0.00000 0.00000;
8.48528 4.24264 0.00000]
[A(:,1),A(:,2),A(:,3)] = find(X)
评估结果为:
A =
2.0000 1.0000 4.2426
3.0000 1.0000 8.4853
3.0000 2.0000 4.2426
find()函数应返回一个列向量,但矩阵A如何初始化而没有错误?
答案 0 :(得分:4)
如果指定三个输出变量:
[row,col,v] = find(X)
find返回数组X
和向量v
中每个非零元素的行和列下标,其中包含X
的非零元素。
row =
2
3
3
col =
1
1
2
v =
4.2426
8.4853
4.2426
在您的情况下,这三个向量被分配到矩阵A
的列。