首页 > 其他分享 >雅可比迭代法解线性方程组

雅可比迭代法解线性方程组

时间:2024-09-25 20:23:12浏览次数:7  
标签:10 线性方程组 shape np import 迭代法 可比 7.63769499

import os
os.getcwd()
'D:\\#Python\\jupter'
import numpy as np
def jacobi(a,b,c=0.0001,d=30):
    x1=np.zeros(a.shape[1])
    x2=np.zeros(a.shape[1])
    k=0
    while k<d:
        k=k+1
        print('k=',k)
        for i in range(a.shape[1]):
            x2[i]=(-a[i].dot(x1)+b[i]+a[i,i]*x1[i])/a[i,i]
        if np.max(np.abs(x2-x1))<=c:
            print("x%d=" % k,x2)
            print(np.max(np.abs(x2-x1)))
            break
        print("x%d=" % k,x2)
        x1=x2.copy()
    return x2

a=np.array([[1,0,0,0,0,0,0],
             [-0.9,1,0,0,0,0,0],
             [0,0.54,-1,0,0.36,0,0],
             [0.18,0,0.72,-1,0,0,0],
             [0,0,0.36,0.36,-1,0.18,0],
             [0,0,0,0.45,0,-1,0.45],
             [0,0,0,0,0,0.09,-0.19]]
             )
b=np.array([0,10,2,2,-1,2,1])
jacobi(a,b)
k= 1
x1= [ 0.         10.         -2.         -2.          1.         -2.
 -5.26315789]
k= 2
x2= [ 0.         10.          3.76       -3.44       -0.8        -5.26842105
 -6.21052632]
k= 3
x3= [ 0.         10.          3.112       0.7072      0.16688421 -6.34273684
 -7.75872576]
k= 4
x4= [ 0.         10.          3.46007832  0.24064     1.23321937 -5.17318659
 -8.26761219]
k= 5
x5= [ 0.         10.          3.84395897  0.49125639  1.40108501 -5.61213748
 -7.7136147 ]
k= 6
x6= [ 0.         10.          3.9043906   0.76765046  1.55049278 -5.25006124
 -7.92153881]
k= 7
x7= [ 0.         10.          3.9581774   0.81116123  1.73692376 -5.21924976
 -7.75002901]
k= 8
x8= [ 0.         10.          4.02529255  0.84988773  1.77749695 -5.1224905
 -7.7354341 ]
k= 9
x9= [ 0.         10.          4.0398989   0.89821064  1.83301661 -5.09849586
 -7.68960076]
k= 10
x10= [ 0.         10.          4.05988598  0.90872721  1.85999018 -5.05612556
 -7.67823488]
k= 11
x11= [ 0.         10.          4.06959646  0.92311791  1.87859815 -5.04627845
 -7.65816474]
k= 12
x12= [ 0.         10.          4.07629533  0.93010945  1.88904705 -5.03077107
 -7.65350032]
k= 13
x13= [ 0.         10.          4.08005694  0.93493264  1.89676693 -5.02552589
 -7.64615472]
k= 14
x14= [ 0.         10.          4.08283609  0.937641    1.90080159 -5.02004994
 -7.64367016]
k= 15
x15= [ 0.         10.          4.08428857  0.93964199  1.90376276 -5.01771312
 -7.64107629]
k= 16
x16= [ 0.         10.          4.0853546   0.94068777  1.90542664 -5.01564543
 -7.63996937]
k= 17
x17= [ 0.         10.          4.08595359  0.94145531  1.90655907 -5.01467672
 -7.63898994]
k= 18
x18= [ 0.         10.          4.08636127  0.94188658  1.90722539 -5.01389059
 -7.63853108]
k= 19
x19= [ 0.         10.          4.08660114  0.94218011  1.90766892 -5.01349002
 -7.6381587 ]
k= 20
x20= [ 0.         10.          4.08676081  0.94235282  1.90793305 -5.01319036
 -7.63796896]
k= 21
x21= [ 0.         10.          4.0868559   0.94246778  1.90810664 -5.01302726
 -7.63782701]
k= 22
x22= [ 0.         10.          4.08691839  0.94253625  1.90821162 -5.01291165
 -7.63774976]
k= 23
x23= [ 0.         10.          4.08695618  0.94258124  1.90827957 -5.01284608
 -7.63769499]
6.795344688015348e-05





array([ 0.        , 10.        ,  4.08695618,  0.94258124,  1.90827957,
       -5.01284608, -7.63769499])

标签:10,线性方程组,shape,np,import,迭代法,可比,7.63769499
From: https://www.cnblogs.com/HorizonTree/p/18432115

相关文章

  • 第七章习题12-用牛顿迭代法求根。方程为一元三次函数,系数a,b,c,d的值依次为1,2,3,4,由
     ......
  • 线性代数 第五讲:线性方程组_齐次线性方程组_非齐次线性方程组_公共解同解方程组_详解
    线性方程组文章目录线性方程组1.齐次线性方程组的求解1.1核心要义1.2基础解系与线性无关的解向量的个数1.3计算使用举例2.非齐次线性方程的求解2.1非齐次线性方程解的判定2.2非齐次线性方程解的结构2.3计算使用举例3.公共解与同解3.1两个方程组的公共解3.2同......
  • 2.7 先判断下列线性方程组解的情况,然后求对应的唯一解、最小二乘解或最小范数解
    (1)4x1+2x2-x3=23x1-x2+2x3=1011x1+3x2=8点击查看代码importnumpyasnp#定义系数矩阵A和常数项向量bA=np.array([[4,2,-1],[3,-1,2],[11,3,0]])b=np.array([2,10,8])#使用numpy的lstsq求解最小二乘解......
  • 559. N 叉树的最大深度(迭代法)
    目录一:题目:二:代码:三:结果:一:题目:给定一个N叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。N叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。二:代码:/*//DefinitionforaNode.classNode{public:int......
  • 高斯消元解线性方程组
    高斯消元解线性方程组输入一个包含n个方程n个未知数的线性方程组。方程组中的系数为实数。求解这个方程组。下图为一个包含m个方程n个未知数的线性方程组示例输入格式第一行包含整数n。接下来n行,每行包含n+1个实数,表示一个方程的n个系数以及等号右侧的常数......
  • 【数值计算方法】线性方程组的迭代解法-数值实验
    fromformu_libimport*importnumpyasnpA=np.array([[-55,-5,12],[21,36,-13],[24,7,47]])b=np.array([41,52,12])w=lambdat:0.1*txs,ys,ts=[],[],[]foriinrange(1,20):_,err=SORIter(A,b,w(i))xs.append(list(......
  • 线性方程组迭代算法的Python实现
    更多精彩,关注博客园主页,不断学习!不断进步!我的主页csdn很少看私信,有事请b站私信博客园主页-发文字笔记-常用有限元鹰的主页内容:ABAQUS数值模拟相关Python科学计算开源框架,编程学习笔记哔哩哔哩主页-发视频-常用FE-有限元鹰的个人空间内容:模拟案例网格划分游戏视频,......
  • 【数值计算方法】线性方程组迭代算法的Python实现
    线性方程组迭代算法的Python实现jacobi迭代法defJacobiIter(A:np.ndarray,b:np.ndarray,tol:float=1e-5,maxIter:int=100)->Tuple[np.ndarray,np.ndarray]:"""使用Jacobi迭代法求解线性方程组Ax=binput:......
  • 【数值计算方法】线性方程组的迭代解法
    目录第6章线性方程组的迭代解法1.范数和条件数1.1向量和矩阵的范数1.2条件数和扰动分析2.基本迭代法2.1迭代法基本思路2.2雅可比迭代法2.3高斯–赛德尔迭代法2.4超松弛(SOR)迭代法第6章线性方程组的迭代解法graphLRA[迭代法]-->B[定常迭代法]A-->C[不定常迭......
  • 华南理工大学线性代数笔记整理4——线性方程组
    本人华工21级电信本科生,目前大四,前段时间收拾书本时发现了自己保存完整的线代笔记和一些整理,应该会对大一新生的期末考试起作用,故作分享。注:大一时本人都是用手写A4纸的方式做笔记做复习,所以这里上传的都是一些纸质笔记的扫描件,尽量可以保证清晰。以分章节的方式,本章为第4章......