高斯消元法(三):用Python简单实现顺序消元法

本文介绍了如何使用Python实现高斯顺序消去法来解决线性方程组。通过设置系数矩阵和常数矩阵,利用高斯消元法将增广矩阵转换为上三角矩阵,然后进行回代计算,最终得出解。
摘要由CSDN通过智能技术生成
# coding:utf-8

import numpy as np
import sys

# 设置矩阵
def set_matrix():
    # 设置系数矩阵A
    matrix_a =np.mat([
        [2.0, 1.0, 2.0],
        [5.0, -1.0, 1.0],
        [1.0, -3.0, -4.0]],dtype=float)
    matrix_b = np.mat([5, 8, -4],dtype=float).T
    return matrix_a, matrix_b


# 高斯顺序消去法
def gauss_shunxu(mat):
    for i in range(0,mat.shape[0]-1):
        # 判断顺序顺序主子式的首个元素不为0
        if mat[i,i] == 0:
            print mat
            print 'break:(', i, ',', i, ')元素为0'
            break
        else:
            # i行下面的每一行分别跟i行做计算,消掉第i个元素
            mat[i+1:,:] = mat[i+1:,:] - (mat[i+1:,i]/mat[i,i])*mat[i,:]
    return mat

def huidai(mat):
    x = np.mat(np.zeros(mat.shape[0],dtype=float))
    # 先算x(n)   用 b(n)/a(nn)
    n = x.shape[1]-1
    x[0,n] = mat[n,n+1]/mat[n,n]
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值