PHP程序:两个矩阵的减法


2022 年 2 月 15 日, Learn eTutorial
1959

这是一个基于数组的PHP程序。矩阵是一个二维数组,减法是两个矩阵之间进行的操作

注意:进行矩阵减法时,两个矩阵的阶数必须相同。

我们需要以下知识来清晰理解程序。因此,让我们看看它们。

如何查找两个矩阵的减法?

要查找两个二维数组的减法,首先我们必须找到数组中的行数和列数,并将对应的索引相减。例如,如果数组是

        2  5  8              1  3  1

a[] = 6  2  5     b[] =  3  1  1

        4  5  6               3  1  2

那么结果将是

1  2  7

3  1  4

1  4  4

如何使用PHP查找两个矩阵的减法?

在这个程序中,我们使用在代码中初始化的静态值。首先,我们必须初始化两个二维数组 arr1arr2,我们必须使用内置函数 count() 将行数和列数分配给变量 rowcol。然后我们必须创建一个空数组 sub_arr[ ] 来存储数组 arr1[ ]arr2[ ] 的减法结果。然后使用嵌套的 for 循环,直到第一个循环中的条件 'i < row' 变为假,以及第二个循环中的条件 'j < col' 变为假,将 arr1[i][j] - arr2[i][j] 的计算差值赋值给数组 sub_arr[i][j]。减法后,使用 for loop 打印二维数组 sub_arr[ ][ ] 的元素。

算法

步骤1: 初始化两个二维数组 arr1[ ]arr2[ ]

步骤2: 使用内置函数 count() 将行数和列数分配给变量 rowcol

步骤3: 打印数组 arr1[ ]arr2 [] 中的元素

步骤4: 创建一个空数组 sub_arr[ ] 来存储数组 arr1[ ]arr2[ ] 的减法结果

步骤5: 将值 0 分配给变量 i,并执行步骤6直到条件 'i < row' 变为假,并在每次迭代中增加变量 i 的值

步骤6: 将值 0 分配给变量 j,并执行子步骤直到条件 'j < col' 变为假,并在每次迭代中增加变量 j 的值

  • 'arr1[i][j] - arr2[i][j]' 的计算结果分配给数组 sub_arr[i][j]

步骤7: 使用 for loop 打印二维数组 sub_arr[ ][ ] 的元素

PHP 源代码

                                          <?php
$arr1 = array(
    array(6, 7, 7),
    array(9, 5, 2),
    array(8, 4, 8)
);
$arr2 = array(
    array(4, 6, 5),
    array(3, 2, 1),
    array(6, 3, 3)
);
$row = count($arr1);
$col = count($arr1[0]);
echo "First matrix: \n";
for ($i = 0; $i < $row; $i++) {
    for ($j = 0; $j < $col; $j++) {
        echo $arr1[$i][$j] . " ";
    }
    echo "\n";
}
echo "Second matrix: \n";
for ($i = 0; $i < $row; $i++) {
    for ($j = 0; $j < $col; $j++) {
        echo $arr2[$i][$j] . " ";
    }
    echo "\n";
}
$sub_arr = array();
for ($i = 0; $i < $row; $i++) {
    for ($j = 0; $j < $col; $j++) {
        $sub_arr[$i][$j] = $arr1[$i][$j] - $arr2[$i][$j];
    }
}
echo "Subtraction of two matrices: \n";
for ($i = 0; $i < $row; $i++) {
    for ($j = 0; $j < $col; $j++) {
        echo $sub_arr[$i][$j] . " ";
    }
    echo "\n";
}
?>

                                      

输出

First matrix:
6 7 7
9 5 2
8 4 8
Second matrix:
4 6 5
3 2 1
6 3 3
Subtraction of two matrices:
2 1 2
6 3 1
2 1 5