【再回首Python之美】【矩陣】求矩陣中最大元素/最小元素的行列座標 For 層次聚類演算法Hierarchical Clustering Alg
阿新 • • 發佈:2019-02-02
求多維矩陣中最小元素的行列座標,這個在層次聚類演算法中用到,這裡實現記錄一下。
1.簡介
矩陣M:
[[1 3 2]
[2 6 0]
[9 8 5]]
最大元素是9,對應的行列座標為(2,0)
最小元素是0,對應的行列座標是(1,2)
現在任務就是:輸入M,輸出最小/大元素的行列座標,程式碼如下所示:
2.code
# -*- coding: utf-8 -*- """ @author: 蔚藍的天空Tom :計算矩陣中的最小元素,最大元素,以及對應的行列座標 """ import numpy as np def indmax_matrix(M): '''得到矩陣M中最大元素的行列座標''' row,col = divmod(np.argmax(M), np.shape(M)[1]) return row,col def indmin_matrix(M): '''得到矩陣M中最小元素的行列座標''' row,col = divmod(np.argmin(M), np.shape(M)[1]) return row,col if __name__=='__main__': M = np.array([[1,3,2], [2,6,0], [9,8,5]]) print('矩陣:\n', M) print('矩陣中最大元素值:', np.max(M)) print('矩陣中最小元素值:', np.min(M)) print('矩陣中最大元素的行列座標:', indmax_matrix(M)) print('矩陣中最小元素的行列座標:', indmin_matrix(M))
3.執行結果
runfile('C:/Users/tom/hierarchical_clustering.py', wdir='C:/Users/tom')
矩陣:
[[1 3 2]
[2 6 0]
[9 8 5]]
矩陣中最大元素值: 9
矩陣中最小元素值: 0
矩陣中最大元素的行列座標: (2, 0)
矩陣中最小元素的行列座標: (1, 2)
(end)