lua语言编写矩阵乘法
时间: 2023-11-08 12:06:02 浏览: 77
以下是使用 Lua 语言编写矩阵乘法的示例代码:
```lua
-- 定义矩阵相乘函数
function matrix_mul(a, b)
local m = #a
local n = #a[1]
local p = #b[1]
local c = {}
for i = 1, m do
c[i] = {}
for j = 1, p do
c[i][j] = 0
for k = 1, n do
c[i][j] = c[i][j] + a[i][k] * b[k][j]
end
end
end
return c
end
-- 测试矩阵相乘函数
a = {{1, 2}, {3, 4}}
b = {{5, 6}, {7, 8}}
c = matrix_mul(a, b)
for i = 1, #c do
for j = 1, #c[1] do
io.write(c[i][j], " ")
end
io.write("\n")
end
```
在上面的代码中,我们定义了一个名为 `matrix_mul` 的函数,用于计算两个矩阵的乘积。该函数的参数为两个矩阵 `a` 和 `b`,返回值为它们的乘积矩阵 `c`。
在函数内部,我们首先获取矩阵 `a` 和 `b` 的维度信息,并创建一个空的矩阵 `c` 用于存储结果。然后,我们使用三重循环计算矩阵相乘的每一个元素,并将结果存储在矩阵 `c` 中。最后,返回矩阵 `c`。
在测试代码中,我们创建了两个 $2 \times 2$ 的矩阵 `a` 和 `b`,并调用 `matrix_mul` 函数计算它们的乘积。最后,我们将计算结果输出到控制台上。