如何使用Python生成Hilbert矩陣
1.什么是Hilbert矩陣矩陣
下面分別列舉了1*1;2*2;3*3大小的矩陣;

通過觀察,我們發(fā)現(xiàn)其規(guī)律性極強(qiáng),那第三列舉個(gè)例子:
2.找規(guī)律
1.第一種思路:先從值出發(fā)(找規(guī)律)
我們會(huì)發(fā)現(xiàn)沿著主對(duì)角線從上往下是遞增的,但是元素的個(gè)數(shù)是先增加后減少的,這樣就不好處理,這種思路無法解出題目。
2.第二種思路:先從下標(biāo)索引出發(fā)(找規(guī)律)
- 第一行的三個(gè)數(shù),下標(biāo)索引為:[0][0],[0][1],[0][2],其對(duì)應(yīng)的值分別為:1;1/2 ;1/3。
- 第二行的三個(gè)數(shù),下標(biāo)索引為:[1][0],[1][1],[1][2],其對(duì)應(yīng)的值分別為:1/2 ;1/3;1/4。
- 第二行的三個(gè)數(shù),下標(biāo)索引為:[2][0],[2][1],[2][2],其對(duì)應(yīng)的值分別為:1/3 ;1/4;1/5。
我們發(fā)現(xiàn),,分子是不變的,然后索引相加然后再加1,作為分母,這樣就能夠計(jì)算出索引對(duì)應(yīng)的值。
3.代碼展示
import numpy as np#導(dǎo)入numpy計(jì)算模塊
def CreateHT(n):#創(chuàng)建Hilbert矩陣
a=np.zeros((n,n))#定義一個(gè)空的矩陣
for i in range(n):#遍歷的行數(shù)
for j in range(n):#遍歷的列數(shù)
a[i][j]=1/(i+j+1)#通過觀察簡單的來發(fā)現(xiàn)規(guī)律進(jìn)而寫出公式
return a
for i in range (5):#一共創(chuàng)建5個(gè)來看看
print(CreateHT(i))
print("\n")4.輸出展示

5.初始化解為1,1,
等構(gòu)建解的增廣矩陣(代碼展示)
(1)以生3*4的增廣矩陣為例
import numpy as np # 導(dǎo)入numpy計(jì)算模塊
def CreateHT(n): # 創(chuàng)建Hilbert矩陣
a = np.zeros((n, n+1)) # 定義一個(gè)空的矩陣
jie=[len(a)]
for i in range(n): # 遍歷的行數(shù)
x=0#初始化解為1,1,1等,用x將每一行的數(shù)據(jù)接起來然后在下面賦值給每一行的最后一個(gè)元素
for j in range(n): # 遍歷的列數(shù)
a[i][j] = 1 / (i + j + 1) # 通過觀察簡單的來發(fā)現(xiàn)規(guī)律進(jìn)而寫出公式
x+=a[i][j]
a[i][n]=x
return a
print(CreateHT(3))(2)輸出結(jié)果

到此這篇關(guān)于如何使用Python生成Hilbert矩陣的文章就介紹到這了,更多相關(guān)Python生成Hilbert內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python框架flask入門之路由及簡單實(shí)現(xiàn)方法
這篇文章主要介紹了python框架flask入門路由及路由簡單實(shí)現(xiàn)方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
pycharm 使用心得(五)斷點(diǎn)調(diào)試
PyCharm 作為IDE,斷點(diǎn)調(diào)試是必須有的功能。否則,我們還真不如用純編輯器寫的快。2014-06-06
夯實(shí)基礎(chǔ)python集合的應(yīng)用場景及字符串定義和表示
這篇文章主要為大家介紹了python集合的應(yīng)用場景及字符串定義和表示,來幫大家夯實(shí)基礎(chǔ),有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-10-10
Python中itertools庫的四個(gè)函數(shù)介紹
這篇文章主要介紹了Python中itertools庫的四個(gè)函數(shù),主要討論itertools庫中的十分使用的幾個(gè)函數(shù),并重點(diǎn)介紹什么時(shí)候我們應(yīng)該考慮使用它們,需要的朋友可以參考一下2022-04-04
Python增量循環(huán)刪除MySQL表數(shù)據(jù)的方法
這篇文章主要介紹了Python增量循環(huán)刪除MySQL表數(shù)據(jù)的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09

