Skip to content
The Chat Archive
gpt-3.5-turbo-0301· OpenAI WildChat-4.8M (AI2)

用列主元法求解下列线性方程组:…

  1. User

    用列主元法求解下列线性方程组: [1.1348,3.8326,1.1651,3.4017;0.5301,1.7875,2.5330,1.5435;3.4129,4.9317,8.7643,1.3142;0.2371,4.998,10.6721,0.0147].*[x1;x2;x3;x4]=[9.5342;6.3941;18.4231;16.9237] 给出python代码

  2. Assistant

    import numpy as np

    A = np.array([[1.1348,3.8326,1.1651,3.4017], [0.5301,1.7875,2.5330,1.5435], [3.4129,4.9317,8.7643,1.3142], [0.2371,4.998,10.6721,0.0147]])

    b = np.array([9.5342, 6.3941, 18.4231, 16.9237]) n = A.shape[0]

    第一步:高斯消元过程,将系数矩阵A转换为上三角矩阵

    for i in range(n-1): # 选主元 row_idx = i + np.argmax(np.abs(A[i:, i])) # 交换第i行和第row_idx行 A[[i, row_idx], :] = A[[row_idx, i], :] b[[i, row_idx]] = b[[row_idx, i]] # 消元 for j in range(i+1, n): factor = A[j, i]/A[i, i] A[j, i:] = A[j, i:] - factorA[i, i:] b[j] = b[j] - factorb[i]

    第二步:回代过程,求解线性方程组的解

    x = np.zeros(n) x[n-1] = b[n-1]/A[n-1, n-1] for i in range(n-2, -1, -1): x[i] = (b[i]-np.dot(A[i, i+1:], x[i+1:]))/A[i, i]

    print("解为:", x)

Responses were produced in different, uncontrolled contexts (system prompts, settings, prior turns). This is not a benchmark.