编写函数f1(n)实现如下功能:随机生成n阶矩阵A,其元素均匀分布在[-5,5]内。生成矩阵B使得 输出矩阵A,并显示元素的最大值、最小值、均值;输出矩阵B。
时间: 2023-05-22 17:05:24 浏览: 99
以下是实现此功能的Lua代码:
```lua
function f1(n)
-- 生成矩阵A
local A = {}
for i = 1, n do
A[i] = {}
for j = 1, n do
A[i][j] = math.random(-5, 5)
end
end
-- 生成矩阵B
local B = {}
for i = 1, n do
B[i] = {}
for j = 1, n do
B[i][j] = A[n-i+1][j]
end
end
-- 输出矩阵A并显示元素的最大值、最小值、均值
local max_element = -math.huge
local min_element = math.huge
local sum = 0
for i = 1, n do
for j = 1, n do
max_element = math.max(max_element, A[i][j])
min_element = math.min(min_element, A[i][j])
sum = sum + A[i][j]
io.write(A[i][j], "\t")
end
io.write("\n")
end
local avg = sum / (n*n)
print("max element:", max_element)
print("min element:", min_element)
print("avg:", avg)
-- 输出矩阵B
for i = 1, n do
for j = 1, n do
io.write(B[i][j], "\t")
end
io.write("\n")
end
end
-- 示例调用
f1(3)
```
该函数实现了随机生成n阶矩阵A和由A翻转得到的矩阵B,并输出A的所有元素、最大值、最小值、均值以及矩阵B的所有元素。函数中利用了Lua的随机函数math.random、矩阵的两层循环遍历以及逆序生成矩阵B的技巧,同时也计算了矩阵A的各种统计数据。