MATLAB - 数组除法



MATLAB 是一种功能强大的编程语言,广泛用于数值计算、数据分析和可视化。其基本操作之一是数组除法,它允许您对数组和矩阵执行逐元素除法。

数组除法

在 MATLAB 中,数组除法使用逐元素除法运算符 (./) 执行。此运算符允许您除以相同大小的两个数组或矩阵的对应元素,创建一个包含除法结果的新数组。

语法

result = array1 ./ array2;

让我们在下面的示例中检查向量和数组的除法。

两个向量的除法

在此示例中,vector1 的每个元素都除以 vector2 的对应元素,得到数组 [5, 5, 5]。

示例

vector1 = [10, 20, 30]
vector2 = [2, 4, 6]
result = vector1 ./ vector2

当您在 matlab 命令窗口中执行相同的操作时,输出为 -

vector1 =

    10    20    30

vector2 =

     2     4     6

result =

     5     5     5

数组的除法

在此示例中,我们有 matrix1 和 matrix2。运算符 (./) 用于将 matrix1 除以 matrix2。结果包含输出。

示例

matrix1 = [1, 2; 3, 4]
matrix2 = [0.5, 1; 1.5, 2]
result = matrix1 ./ matrix2

当您在 matlab 命令窗口中检查输出时,输出为 -

matrix1 =

     1     2
     3     4

matrix2 =

    0.5000    1.0000
    1.5000    2.0000

result =

     2     2
     2     2

Matlab 中用于除法的 rdivide() 方法

MATLAB 是一种广泛用于数值计算和数据分析的编程语言,它提供了各种内置函数来简化复杂操作。其中一个函数是 rdivide(),它对数组和矩阵执行逐元素除法。在本文中,我们将探讨 rdivide() 函数,了解其功能并逐步完成示例,以了解如何在数组和矩阵上使用 rdivide()。

MATLAB 中的 rdivide() 函数对两个数组或矩阵执行逐元素除法,类似于 ./ 运算符。但是,rdivide() 简化了语法,并提供了一种更直观的方法来获得相同的结果。

语法

result = rdivide(array1, array2);

以下是我遇到的一些使用 rdivide() 方法的优点。

  • 语法简单,使用 rdivide() 函数消除了显式使用 ./ 运算符进行逐元素除法的需要,使代码更易于阅读。
  • 函数名称清楚地传达了除法运算,提高了代码的清晰度。

以下是一些您可以在您自己的环境中尝试的示例。

使用 rdivide() 与向量

在下面的示例中,我们有两个向量:vector1 为 [10, 20, 30],vector2 为 [2,4,6]。rdivide() 方法用于将 vector1 除以 vector2。

示例

vector1 = [10, 20, 30]
vector2 = [2, 4, 6]
result = rdivide(vector1, vector2)

当您在 matlab 命令窗口中执行上述代码时,输出为 -

vector1 =

    10    20    30

vector2 =

     2     4     6

result =

     5     5     5

在矩阵上使用 rdivide()

在下面的示例中,我们使用了两个矩阵 matrix1 和 matrix2。rdivide() 函数用于将 matrix1 除以 matrix2。

示例

matrix1 = [1, 2; 3, 4]
matrix2 = [0.5, 1; 1.5, 2]
result = rdivide(matrix1, matrix2)

当上述代码在 matlab 命令窗口中执行时,输出为 -

matrix1 =

     1     2
     3     4

matrix2 =

    0.5000    1.0000
    1.5000    2.0000

result =

     2     2
     2     2

使用 mrdivide() 和 / 运算符进行右矩阵除法

可以使用 / 运算符和 mrdivide() 函数执行除法运算。在这里,我们将了解右矩阵除法的原理以及如何使用 / 运算符和 mrdivide() 函数,并查看一些相关的示例。

使用 / 运算符进行右矩阵除法

语法

X = A/B

X = A/B 执行右矩阵除法。

这里 A 是分子,可以是标量、向量或矩阵。

B 是分母,可以是标量、向量或矩阵。

让我们看几个例子。

示例 1

在下面的示例中,我们将 matrix A 除以 matrix B。

A = [7, 8; 5, 6]
B = [3, 2; 1, 4]
X = A / B

执行后,输出为 -

A =

     7     8
     5     6

B =

     3     2
     1     4

X =

    2.0000    1.0000
    1.4000    0.8000

示例 2

让我们将矩阵除以如下所示的标量值。

A = [7, 8; 5, 6]
B = 2
X = A/B

当您在 matlab 命令窗口中执行相同的操作时,输出为 -

A =

     7     8
     5     6

B = 2

X =

    3.5000    4.0000
    2.5000    3.0000

使用 mrdivide() 方法

mrdivide() 函数是执行右矩阵除法的另一种方法。它允许您显式使用除法语法,尤其是在处理涉及矩阵的复杂方程式时非常有用。

语法

X = mrdivide(A, B)

以上语法与 A/B 相同。

让我们使用 mrdivide() 测试几个示例

示例

在下面的示例中,我们有两个矩阵 A1 和 B1。A1/B1 的输出使用 mrdivide() 方法完成。

A1 = [2, 3, 1; 0, 8, 4; 1, 1, 0]
B1 = [7, 6, 6; 1, 0, 5; 9, 0, 4]
X = mrdivide(A1,B1)

当您在 matlab 命令窗口中执行相同的操作时,输出为 -

A1 =

     2     3     1
     0     8     4
     1     1     0


B1 =

     7     6     6
     1     0     5
     9     0     4


X =

    0.5000   -0.2927   -0.1341
    1.3333    0.0325   -1.0407
    0.1667   -0.2033    0.0041 
广告