数值分析实验 实验4-2 选主元高斯消去法 python3实现

题目

数值分析实验 实验4-2 选主元高斯消去法 python3实现_第1张图片

代码

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 = 1

for 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张图片

你可能感兴趣的:(数值分析实验)