用matlab编写一段代码,完成以下功能:按行比较矩阵A的行向量是否等于矩阵B的某一行向量,若相等则返回该行向量在矩阵B中处于第几行的坐标
时间: 2024-02-09 19:09:08 浏览: 67
使用matlab 判断两个矩阵是否相等的实例
5星 · 资源好评率100%
可以使用以下代码实现:
```matlab
function row_indices = find_matching_rows(A, B)
% A: m x n matrix
% B: p x n matrix
% row_indices: m x 1 vector, each element is the row index of the matching row in B, or 0 if no match
row_indices = zeros(size(A, 1), 1);
for i = 1:size(A, 1)
for j = 1:size(B, 1)
if isequal(A(i, :), B(j, :))
row_indices(i) = j;
break;
end
end
end
```
函数输入为两个矩阵 A 和 B,输出为一个向量 row_indices,长度为 A 的行数,每个元素表示 A 中对应行向量在 B 中第几行出现,若没有出现则为 0。
函数中使用了两个 for 循环,分别遍历 A 和 B 的每一行,使用 isequal 函数判断是否相等,若相等则记录 B 中的行索引并退出内层循环。
可以使用以下方式调用函数:
```matlab
A = [1 2 3; 4 5 6; 7 8 9];
B = [4 5 6; 1 2 3; 7 8 9];
row_indices = find_matching_rows(A, B);
disp(row_indices);
```
运行结果为:
```
2
1
3
```
阅读全文