首页 > 中学考试杂题 > 题目详情
求助如何计算两个矩阵中一行的三个元素均相同的行的个数有两个矩阵,均为3列,行数不同:a = [1 2 3; 3 4 5;
题目内容:
求助如何计算两个矩阵中一行的三个元素均相同的行的个数
有两个矩阵,均为3列,行数不同:
a = [1 2 3; 3 4 5; 6 7 8; 9 10 11; 22 23 26; 77 78 79; 41 48 54];
b = [1 2 3; 3 4 5; 13 14 15; 43 22 11];
想要做如下比较:比如将a的第一行中三个元素分别与b中的每一行元素进行比较,之后再分别将a的第二行中的三个元素分别与b中的每行中的元素进行比较,最后总计a与b中有多少行中的元素是完全相同的.
我请朋友,编了如下代码,不过有bug,本人实在是不知道怎么改,
for i = 1:7
index_of_b_row = find(a(i,1)) == b(:,1);
m = size (index_of_b_row,1);
for j = 1:m
if a(i,2) ==b(index_of_b_row,2) & a(i,3) == b(index_of_b_row,3)
index(j) =index_of_b_row;
j = j + 1;
end
end
end
same_point_position = b(index,:);
求助如何计算两个矩阵中一行的三个元素均相同的行的个数
有两个矩阵,均为3列,行数不同:
a = [1 2 3; 3 4 5; 6 7 8; 9 10 11; 22 23 26; 77 78 79; 41 48 54];
b = [1 2 3; 3 4 5; 13 14 15; 43 22 11];
想要做如下比较:比如将a的第一行中三个元素分别与b中的每一行元素进行比较,之后再分别将a的第二行中的三个元素分别与b中的每行中的元素进行比较,最后总计a与b中有多少行中的元素是完全相同的.
我请朋友,编了如下代码,不过有bug,本人实在是不知道怎么改,
for i = 1:7
index_of_b_row = find(a(i,1)) == b(:,1);
m = size (index_of_b_row,1);
for j = 1:m
if a(i,2) ==b(index_of_b_row,2) & a(i,3) == b(index_of_b_row,3)
index(j) =index_of_b_row;
j = j + 1;
end
end
end
same_point_position = b(index,:);
有两个矩阵,均为3列,行数不同:
a = [1 2 3; 3 4 5; 6 7 8; 9 10 11; 22 23 26; 77 78 79; 41 48 54];
b = [1 2 3; 3 4 5; 13 14 15; 43 22 11];
想要做如下比较:比如将a的第一行中三个元素分别与b中的每一行元素进行比较,之后再分别将a的第二行中的三个元素分别与b中的每行中的元素进行比较,最后总计a与b中有多少行中的元素是完全相同的.
我请朋友,编了如下代码,不过有bug,本人实在是不知道怎么改,
for i = 1:7
index_of_b_row = find(a(i,1)) == b(:,1);
m = size (index_of_b_row,1);
for j = 1:m
if a(i,2) ==b(index_of_b_row,2) & a(i,3) == b(index_of_b_row,3)
index(j) =index_of_b_row;
j = j + 1;
end
end
end
same_point_position = b(index,:);
本题链接: