如何返回包含给定数字的位置索引的行向量

时间:2018-04-29 18:42:39

标签: matlab matrix vector row

在MATLAB中编写一个名为matrix_find_k的函数,它接受NxN矩阵m和值标量值k,并返回一个行向量,其中k的位置索引(即(i,j))在m内。如果矩阵不包含k,则返回空向量。

function rvector=matrix_find_k(m,k)
m=m==k

到目前为止,这就是我所拥有的一切。我不知道如何找到我在矩阵m中创建的所有位置。

1 个答案:

答案 0 :(得分:0)

这是一个使用find函数的可能解决方案 - 它返回一个包含矩阵中标量值索引的向量,如果找不到标量值,则返回一个空向量:

调用函数的示例脚本:

%Example matrix
m = [1 2 3 4;
    5 6 7 8;
    9 10 11 12];

k = 3; % Example value to find

rvector = matrix_find_k(m,k)

功能:

function rvector = matrix_find_k(m,k)
    [i,j] = find(m == k);
    rvector = [i,j];
end

示例输出:(示例k = 3在矩阵m的第1行第3列中)

rvector =

   1   3