matlab find函数

find函数用来获取向量或矩阵中非0元素的索引

假设X是行向量,则find(X)返回的是一个行向量;X\'为列向量,find(X\')返回的是一个列向量。

看一个例子:A是一个行向量,B是一个列向量,将B中非0元素的索引添加到A中

A = [1 2 3];

B = [0;0;0;4;5;6];

A = [A, find(B)];

结果出现错误:

Error using horzcat

CAT arguments dimensions are not consistent.

原因:B是一个列向量,find(B)返回的是一个列向量,而A是行向量,无法进行拼接

正确写法是

A = [A, (find(B))\'];

matlab find函数