在MATLAB中编写一个名为matrix_find_k的函数,它接受NxN矩阵m和值标量值k,并返回一个行向量,其中k的位置索引(即(i,j))在m内。如果矩阵不包含k,则返回空向量。
function rvector=matrix_find_k(m,k)
m=m==k
到目前为止,这就是我所拥有的一切。我不知道如何找到我在矩阵m中创建的所有位置。
答案 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