题目
文章图片
代码
import numpy as np# 行列式的维度
n = int(input("请输入行列式的维度:"))# 要求解的行列式
x = np.empty([n, n])
print("请输入行列式:")
for i in range(n):
x[i] = np.array(list(map(float, input().split())))# 行列式的符号
result_sym = 1for i in range(n):
max_index = np.argmax(abs(x[i:, i])) + i
if max_index != i:
result_sym *= -1
x[[i, max_index], :] = x[[max_index, i], :]for j in range(i + 1, n):
k = -1 * x[j][i] / x[i][i]
x[j] += k * x[i]# 行列式x的值
x_result = result_sym
for i in range(n):
x_result *= x[i][i]print(x)
print(x_result)
运行结果 【数值分析实验 实验4-2 选主元高斯消去法 python3实现】
文章图片
推荐阅读
- 数值分析实验 实验2-1 复化梯形公式 python3实现
- 数值分析实验 实验1-1 拉格朗日插值公式 python3实现
- 数值分析实验 实验2-3 龙贝格公式 python3实现
- 数值分析实验 实验1-2 牛顿插值公式 python3实现