zoukankan      html  css  js  c++  java
  • 求2,3元线性方程组的解(python代码)

    a = []
    iu=[]
    num=input('请输入是几元:')    #输入要求解的线性方程组是几元的
    count=0
    for i in range(num*(num+1)):        #将方程组对齐,把系数提出来做矩阵,之后按列输入进去存储起来
    u = input('请输入第%d个数:' %(i+1))
    iu.append(u)
    if (i+1) % num == 0:
    a.append(iu)
    iu=[]

    def fun(list):            #传入参数list(list是一个二维列表)
    sum = sum1 = 0
    for z in range(num):          #计算从左往右斜乘积之和
    ss=1
    row=-1
    for g in range(z,z+num):
    row+=1
    ss *= list[row][g % num]
    sum+=ss
    for i in range(num-1, -1, -1):    #计算从右往左斜乘积之和
    zz=1
    row = -1
    for u in range(i,i-num,-1):
    row+=1
    if u<0:
    zz*=list[row][num+u]
    else:
    zz*=list[row][u]
    sum1+=zz
    a1 = sum - sum1          #从右往左斜乘积之和减去从右往左斜乘积之和
    return a1        #返回结果值a


    y=fun(a)            #得到分母的值,即系数行列式的值
    for c in range(num):      #把值组成的列替换第1至num列的其中一列
    ff=a[:]
    ff[c]=a[num]
    print "x%d的值为:%d"%((c+1),(fun(ff)/y))    #得到num元方程组的未知数的解



    #样列输入:

    请输入是几阶:3
    请输入第1个数:7
    请输入第2个数:9
    请输入第3个数:0
    请输入第4个数:2
    请输入第5个数:0
    请输入第6个数:1
    请输入第7个数:3
    请输入第8个数:2
    请输入第9个数:1
    请输入第10个数:0
    请输入第11个数:2
    请输入第12个数:7

    #样列输出
    x1的值为:-6
    x2的值为:-21
    x3的值为:28

    7*x1+2*x2+3*x3=0

    9*x1+0*x2+2*x3=2

    0*x1+1*x2+1*x3=7

    求出来的是该三元线性方程组的解。



  • 相关阅读:
    IO操作之BIO、NIO、AIO
    IO之Socket网络编程
    this.getClass()和super.getClass()得到的是同一个类
    经济增长的背后
    SVN分支创建与合并
    .net类库里ListView的一个BUG
    VS2010调试技巧
    用C#代码编写的SN快速输入工具
    请教如何改善C#中socket通信机客户端程序的健壮性
    利用WebClient实现对Http协议的Post和Get对网站进行模拟登陆和浏览
  • 原文地址:https://www.cnblogs.com/super-liuxueqi/p/8666222.html
Copyright © 2011-2022 走看看