您现在的位置是:网站首页> 编程资料编程资料
如何使用Python生成Hilbert矩阵_python_
2023-05-25
417人已围观
简介 如何使用Python生成Hilbert矩阵_python_
1.什么是Hilbert矩阵矩阵
下面分别列举了1*1;2*2;3*3大小的矩阵;

通过观察,我们发现其规律性极强,那第三列举个例子:
2.找规律
1.第一种思路:先从值出发(找规律)
我们会发现沿着主对角线从上往下是递增的,但是元素的个数是先增加后减少的,这样就不好处理,这种思路无法解出题目。
2.第二种思路:先从下标索引出发(找规律)
- 第一行的三个数,下标索引为:[0][0],[0][1],[0][2],其对应的值分别为:1;1/2 ;1/3。
- 第二行的三个数,下标索引为:[1][0],[1][1],[1][2],其对应的值分别为:1/2 ;1/3;1/4。
- 第二行的三个数,下标索引为:[2][0],[2][1],[2][2],其对应的值分别为:1/3 ;1/4;1/5。
我们发现,,分子是不变的,然后索引相加然后再加1,作为分母,这样就能够计算出索引对应的值。
3.代码展示
import numpy as np#导入numpy计算模块 def CreateHT(n):#创建Hilbert矩阵 a=np.zeros((n,n))#定义一个空的矩阵 for i in range(n):#遍历的行数 for j in range(n):#遍历的列数 a[i][j]=1/(i+j+1)#通过观察简单的来发现规律进而写出公式 return a for i in range (5):#一共创建5个来看看 print(CreateHT(i)) print("\n")4.输出展示

5.初始化解为1,1,
等构建解的增广矩阵(代码展示)
(1)以生3*4的增广矩阵为例
import numpy as np # 导入numpy计算模块 def CreateHT(n): # 创建Hilbert矩阵 a = np.zeros((n, n+1)) # 定义一个空的矩阵 jie=[len(a)] for i in range(n): # 遍历的行数 x=0#初始化解为1,1,1等,用x将每一行的数据接起来然后在下面赋值给每一行的最后一个元素 for j in range(n): # 遍历的列数 a[i][j] = 1 / (i + j + 1) # 通过观察简单的来发现规律进而写出公式 x+=a[i][j] a[i][n]=x return a print(CreateHT(3))
(2)输出结果

到此这篇关于如何使用Python生成Hilbert矩阵的文章就介绍到这了,更多相关Python生成Hilbert内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- python正则表达式对字符串的查找匹配_python_
- Python实现IP代理批量采集的示例代码_python_
- Python正则表达式re.sub()用法详解_python_
- Python+OpenCV之直方图均衡化详解_python_
- Seaborn数据分析NBA球员信息数据集_python_
- Python property装饰器使用案例介绍_python_
- Python利用keyboard模块实现键盘记录操作_python_
- Python hashlib模块与subprocess模块使用详细介绍_python_
- Python面向对象的内置方法梳理讲解_python_
- Python threading模块中lock与Rlock的使用详细讲解_python_
