如何在MATLAB中查找两个矩阵之间的相似度百分比?
众所周知,MATLAB 是一款功能强大的工具,可用于对矩阵执行各种操作。其中一项操作就是查找两个矩阵之间的相似度百分比。在数字图像处理、数据分析、机器学习等各种应用中,查找两个矩阵之间的相似度百分比至关重要。
本教程将帮助您了解使用 MATLAB 查找两个矩阵之间相似度百分比的分步过程。
什么是两个矩阵之间的相似度百分比?
衡量两个矩阵在某些方面相关程度的指标称为“两个矩阵之间的相似度”。两个矩阵之间的相似度百分比只不过是衡量它们在元素方面有多么相似。
可以使用以下数学公式来计算两个矩阵之间的相似度百分比。
$$\mathrm{\% \:of \:Similarity =\frac{相同元素的数量}{元素的总数}× 100}$$
也可以写成:
$$\mathrm{\% \:of \:Similarity =\frac{相同元素的数量}{行数 × 列数}× 100}$$
相似度百分比用于量化两个矩阵之间接近程度的度量。
现在让我们了解查找两个矩阵之间相似度百分比的分步过程。
在MATLAB中查找两个矩阵之间的相似度百分比
此处解释了使用 MATLAB 查找两个矩阵之间相似度百分比的分步过程。
步骤 (1) − 创建两个大小相同的矩阵,您要在其之间查找相似度。
步骤 (2) − 使用“==”运算符查找两个矩阵之间的相等性。将结果布尔值存储在一个变量中。
步骤 (3) − 使用上面给出的公式计算两个矩阵之间的相似度百分比。
MATLAB 提供了一个简单的三步过程来查找两个矩阵之间的相似度百分比。
示例
让我们来看一些示例,了解如何在 MATLAB 中计算两个矩阵之间的相似度百分比。
% MATLAB program to find percentage of similarity between two square matrices % Create two sample square matrices A = [1 2 3 4; 1 4 2 3; 4 5 6 8; 2 3 7 6]; B = [1 4 3 2; 4 2 1 3; 1 5 7 8; 2 1 7 3]; % Specify the size of matrices rows = 4; cols = 4; % Find the equality between matrices same_elements = A == B; % Count the number same elements count_same_elements = sum(same_elements(:)); % Compute the percentage of similarity between two matrices per_sim = count_same_elements / (rows * cols) * 100; % Display the original matrices and percentage of similarity between them disp('Matrix A is:'); disp(A); disp('Matrix B is:'); disp(B); disp('Percentage of Similarity between Matrices A and B is:'); disp(per_sim);
输出
运行此代码时,它将产生以下输出 −
Matrix A is: 1 2 3 4 1 4 2 3 4 5 6 8 2 3 7 6 Matrix B is: 1 4 3 2 4 2 1 3 1 5 7 8 2 1 7 3 Percentage of Similarity between Matrices A and B is: 43.7500
代码解释
在此示例中,我们首先声明两个矩阵,其中一些元素相同。接下来,我们指定两个矩阵的大小。重要的是,为了查找它们之间的相似度,两个矩阵的大小必须相同。
然后,我们使用“==”运算符计算两个矩阵中相同元素的数量,并将布尔结果存储在变量“same_elements”中,该变量是一个矩阵,当矩阵“A”和“B”的元素相同时,每个元素为“1”,不相同时为“0”。
之后,我们使用“sum”函数计算矩阵“same_elements”中“1”的数量。这基本上是矩阵 A 和 B 中相同元素的数量。
然后,我们使用公式查找两个矩阵之间的相似度百分比。
最后,我们使用“disp”函数显示输入矩阵和矩阵 A 和 B 之间的相似度百分比。
示例
让我们考虑另一个示例来计算两个矩形矩阵之间的相似度百分比。
% MATLAB program to find percentage of similarity between two rectangular matrices % Create two sample rectangular matrices A = [1 2 3 4; 1 4 2 3; 4 5 6 8]; B = [1 4 3 2; 4 2 1 3; 1 5 7 8]; % Specify the size of matrices rows = 3; cols = 4; % Find the equality between matrices same_elements = A == B; % Count the number same elements count_same_elements = sum(same_elements(:)); % Compute the percentage of similarity between two matrices per_sim = count_same_elements / (rows * cols) * 100; % Display the original matrices and percentage of similarity between them disp('Matrix A is:'); disp(A); disp('Matrix B is:'); disp(B); disp('Percentage of Similarity between Matrices A and B is:'); disp(per_sim);
输出
运行此代码时,它将产生以下输出 −
Matrix A is: 1 2 3 4 1 4 2 3 4 5 6 8 Matrix B is: 1 4 3 2 4 2 1 3 1 5 7 8 Percentage of Similarity between Matrices A and B is: 41.6667
代码解释
此 MATLAB 代码的实现和执行与前一个相同。唯一的区别是,在此代码中,我们使用了两个矩形矩阵而不是方阵。
结论
这就是使用 MATLAB 查找两个矩阵之间相似度百分比的全部内容。在本教程中,我解释了分步过程和示例,以演示在 MATLAB 中计算两个矩阵之间相似度百分比的过程。您可以使用您自己的矩阵尝试上述代码。