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))\'];