最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)由數(shù)組生成對(duì)稱矩陣

 更新時(shí)間:2021年05月05日 09:36:14   作者:快到皖里來(lái)  
本文給大家分享的是由數(shù)組生成對(duì)稱矩陣的思路并附上了使用Python實(shí)現(xiàn)的代碼,希望大家能夠喜歡

在實(shí)際應(yīng)用中,經(jīng)常會(huì)遇上這樣的小需求:根據(jù)一段給定的數(shù)組,生成由這一段數(shù)組值構(gòu)成的對(duì)稱矩陣。

例如,給定數(shù)組[1,2,3,4,5,6,7,8,9,10],要求生成如下的矩陣:

[[0,1,2,3,4],
 [1,0,5,6,7],
 [2,5,0,8,9],
 [3,6,8,0,10],
 [4,7,9,10,0]]

其中,對(duì)角元全為0,該類型的矩陣完全由給定的數(shù)組決定。

筆者給出實(shí)現(xiàn)以上功能的一種python參考代碼如下:

def semi_to_full(m):
    import numpy as np
    n = len(m)
    n_matrix = int((1+int((1+8*n)**0.5))/2)
    semi_matrix = np.zeros((n_matrix,n_matrix),dtype='int32')

    start_index = 0
    for row in range(n_matrix-1):
        end_index = start_index+(n_matrix-1-row)
        semi_matrix[row,row+1:]=m[start_index:end_index]
        start_index = end_index

    full_matrix = semi_matrix+semi_matrix.T
    
    return full_matrix

代碼邏輯如此:先得到數(shù)組長(zhǎng)度以推定出所欲生成矩陣的規(guī)格,接著按照數(shù)組值的順序生成矩陣的上對(duì)角元,最后利用對(duì)稱性完成整個(gè)矩陣輸出。

該函數(shù)參數(shù)只有一個(gè),即給定的numpy數(shù)組。

到此這篇關(guān)于python實(shí)現(xiàn)由數(shù)組生成對(duì)稱矩陣的文章就介紹到這了,更多相關(guān)由數(shù)組生成對(duì)稱矩陣內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

老河口市| 海兴县| 桂东县| 东乡县| 伊宁市| 烟台市| 宁化县| 姚安县| 平定县| 云林县| 肃南| 冀州市| 中超| 水城县| 内黄县| 安新县| 桐梓县| 连云港市| 武安市| 永昌县| 酉阳| 江安县| 乌兰浩特市| 临沧市| 黎川县| 旬邑县| 东至县| 阿瓦提县| 衡东县| 栾城县| 田阳县| 宽甸| 仁化县| 山西省| 徐汇区| 浠水县| 宁南县| 循化| 安阳县| 宾阳县| 合作市|