栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

1112112我玩玩

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1112112我玩玩

2112

import numpy as np  # 本次仅需要用到这一个库

# a = input('需要计算的方程组为:')
a = np.array([[0.01, 2, -0.5, -5], [-1, -0.5, 2, 5], [5, -4, 0.5, 9]])  # 双括号   a即要计算的
i = a.shape[0]  # 得到a的行数
j = a.shape[1]  # 得到a的列数
print(i)
print(j)
X = []  # 建立一个X空列表,便于放入所得解
print(X)

for z in range(0, j - 2):  # 当z从第1列到j-1列循环,每一次循环中,都是#针对所在列,先排序,后消元(以下对应这两部分) 2.z还代表循环次数
    for x in range(z, i):  # x从z行到第最后一行循环,每次循环扔掉上次循#环的第一行,因为每次的第一行都用来存储每次的最大
        n = np.argmax(abs(a[x:i, z]))  #n为剩下的几行中,绝对值最大的值#所在行的索引
        print(n + x)  # 索引再加x,因为n为剩下的几行中的索引,而我们
#接下来的交换针对所有行
        a[[x, n + x], :] = a[[n + x, x], :]  # 数组特殊的交换数值方式
        print(a)

    for y in range(1 + z, i):  # 之所以从1+z,开始,最开始的z循环不仅仅#是列,也是循环次数,每循环一次,向下移动一列
        k = a[z, z] / a[y, z]
        print(k)
        a[y,] = a[z,] - k * a[y,]
print(a)

w = j - 1
g = 0
for q in range(i - 1, -1, -1):  # i为矩阵行数  这里是从最后一行开始向上#循环行!
    w = w - 1
    h = 2 - q  #3元,所以2

    if h == 0:
        X.append(a[q, j - 1] / a[q, w])
        print(X)
    else:
        for n in range(0, h):  # e+1决定让n循环几次
            g = g + a[q, 2 - n] * X[n]
            print(g)
        X.append((a[q, j - 1] - g) / a[q, w])  # 公式
        print(X)
        g = 0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989501.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号