杜利特尔分解法
博主目前大二在读,代码水平有限轻喷
使用的是python语言,适于数学者,通篇没有用到高级函数

a=[]
L=[]
U=[]
ling=0
jieshu=int(input("矩阵的阶数:"))
print("请输入方程的系数矩阵")
for i in range(jieshu):onerow=[]Lonerow=[]Uonerow=[]for j in range(jieshu):x=float(input())onerow.append(x)Lonerow.append(ling)Uonerow.append(ling)a.append(onerow)L.append(Lonerow)U.append(Uonerow)
print("请输入方程等式右边的常数项")
b=[]
for i in range(jieshu):onerow1=[]for i in range(1):xx=float(input())onerow1.append(xx)b.append(onerow1)
for i in range(jieshu):U[0][i]=a[0][i]
for i in range(1,jieshu):L[i][0]=a[i][0]/U[0][0]
for i in range(2,jieshu+1):for j in range(i,jieshu+1):he=0for k in range(1,j):he+=L[i-1][k-1]*U[k-1][j-1]U[i-1][j-1]=a[i-1][j-1]-hefor j in range(i+1,jieshu+1):he=0for k in range(1,j):he+=L[j-1][k-1]*U[k-1][i-1]L[j-1][i-1]=(a[j-1][i-1]-he)/U[i-1][i-1]
for i in range(jieshu):L[i][i]=1
print('L=',L)
print('U=',U)
Y=[]
X=[]
for i in range(jieshu):onerow2=[]onerow3=[]for i in range(1):onerow2.append(0)onerow3.append(0)X.append(onerow2)Y.append(onerow3)
for i in range(jieshu):  if i == 0:Y[0][0]=b[0][0]else: he=0for j in range(1,i+1):he+=L[i][j-1]*Y[j-1][0]Y[i][0]=b[i][0]-he
for i in range(jieshu):he1=0wuhu=jieshu-iif wuhu == jieshu:X[jieshu-1][0]=Y[jieshu-1][0]/U[jieshu-1][jieshu-1]else:for j in range(wuhu,jieshu):he1+=U[wuhu-1][j]*X[j][0]X[wuhu-1][0]=(Y[wuhu-1][0]-he1)/U[wuhu-1][wuhu-1]
print('x=',X)


上图为博主的输入案例

利用python实现杜利特尔分解法相关推荐

  1. 紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法

    紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法 标签:计算方法实验 /* 紧凑存储的杜利特尔分解法Doolittle:如果初始矩阵不要求保留的话,可以紧凑存储.因为每 ...

  2. 数值分析-杜利特尔分解法C语言代码

    直接三角分解法 如果方程组的系数矩阵可以分解为一个下三角矩阵和一个上三角矩阵的乘积,即:A=LU. Doolittle(杜利特尔)分解 在对系数矩阵进行三角分解时,如果L为单位下三角矩阵(主对角线系数 ...

  3. 杜利特尔 (Doolittle)矩阵分解法求线性方程组的解

    简介 若方阵 A 可以分解为一个下三角矩阵 L 和一个上三角矩阵 U的乘积,即 A = LU,则这种分解称为 A 的一种三角分解或 LU分解.如果 L 为单位下三角矩阵,则称为杜利特尔 (Doolit ...

  4. 解线性方程组的python实现(2)——矩阵三角分解法

    解线性方程组的python实现2--矩阵三角分解法 1. 矩阵三角分解法 实现代码 2. LU分解 2.1 基本步骤 2.2 LU分解的计算公式 2.3 LU分解的结果表示 实现代码 3. 选主元的L ...

  5. 乔利斯基三角分解_杜利特尔及乔利斯基三角分解

    /**********改进乔利斯基三角分解**********/ void Improved_Cholesky() { int i,j,k; float t; L=(float **)malloc(s ...

  6. 利用Python做绝地科学家(外挂篇)

    i春秋作家:奶权 前言  玩吃鸡时间长的鸡友们 应该都知道现在的游戏环境非常差 特别在高端局 神仙满天飞 搞得很多普通玩家非常没有游戏体验  因为吃鸡的火爆 衍生出了一条巨大的外挂利益链 导致市面上出 ...

  7. 利用Python进行简单杜邦分析

    利用Python进行简单杜邦分析 "巧妇难为无米之炊",找不到数据,量化分析.财务报表分析也就无从谈起.对于分析者来说,获取数据是量化分析的第一步.Python的一个强大功能之一就 ...

  8. 连分数分解法寻找整数的因子(Python)

    首先,先讲个小故事. 1903年10月,科尔(Cole)在纽约参加美国数学(AMS)的一个会议,议程里有他的一篇题目平淡的论文:"关于一个大数的分解".大会主席请他宣读论文时,一向 ...

  9. python程序实例电话本-利用Python电话本小程序!这波操作你给几分?

    原标题:利用Python电话本小程序!这波操作你给几分? 最近比较忙,只能抽空的写写文章,其实我也是一个上班族,python完全是个人想学然后希望以后对工作有所帮助,2019年了,祝大家新年快乐. 2 ...

  10. python做积分_利用python求积分的实例

    python的numpy库集成了很多的函数.利用其中的函数可以很方便的解决一些数学问题.本篇介绍如何使用python的numpy来求解积分. 代码如下: # -*- coding: utf-8 -*- ...

最新文章

  1. 微信是个坑货4-网页授权
  2. 接口测试用例测试模板
  3. As3回调函数的使用方法
  4. html旋转三角菜单,css3 这个三角怎么旋转_html/css_WEB-ITnose
  5. Winform开发框架里面使用事务操作的原理及介绍
  6. LeetCode 1695. 删除子数组的最大得分(前缀和+哈希+双指针)
  7. 计算机软件等级认证,中国计算机学会推出软件非专业级别能力认证
  8. 该怎么输出log?!
  9. hdu 3905(dp)
  10. 关于Scrapy爬虫项目运行和调试的小技巧(上篇)
  11. SVN创建分支及合并
  12. 使用vue开发的网易云音乐播放器
  13. CSM32RV20开发(二):Si24R1 通信模式调试
  14. 服务器不能使用无线键盘,台式机无线键盘不能使用解决方法
  15. 数值分析matlab最小二乘法,数值分析 最小二乘 matlab
  16. Fortran库函数atan与atan2
  17. 【AIX】AIX内存机制
  18. 指尖江湖李忘生鸿蒙初开,指尖江湖掌门天团年轻时外装来袭!其中,纯阳掌教李忘生的该系列外装名为?剑网3指尖江湖11.9答案_游侠手游...
  19. 【原创】新韭菜日记18--学习股市发展趋势,牛市回顾,券商分析
  20. Win10系统dos指令失效

热门文章

  1. 坚果云同步linux,备份Linux系统数据到坚果云
  2. 0X00000000指令引用的0x00000000内存该内存不能为read或written
  3. c++类模板用法讲解
  4. 网络通信——下载管理器DownloadManager——利用POST方式上传文件
  5. matlab 广义特征,特征值 特征向量 广义特征值 matlab
  6. java百度地图离线开发_【“零起点”--百度地图手机SDK】如何使用离线地图?
  7. html5橡皮擦,HTML5 Canvas笔记——实现橡皮擦功能,包括矩形擦和圆形擦。
  8. 基于大数据的资金流量分析:思路与应用前景设想
  9. 港科夜闻丨香港科大教授权龙:三维重建才是计算机视觉的灵魂
  10. Windows环境下edge浏览器点击下载没有反应