一个矩阵一共有多少个子矩阵?在网上找了一圈也没有找到公式。要想依次列出子矩阵的内容,更是无从下手。想了很多天,试着自己写了一个方案,通过暴力穷举的方式来列出所有矩阵。暂时不考虑性能,只求结果。如果可行,以后会封装为方法,试着处理更高阶数的矩阵。
Python代码如下:
import numpy
#输入参数,测试的时候用默认值,其中:
#第1行的两个2,依次代表矩阵有2行2列
#第2和第3行内容,存储矩阵的元素
text = '''2 2
-3 5
2 4'''
text_split = [] #存储输入的参数
para_list = [] #参数列表
s_text = [] #存储矩阵的一行
matrix_list = [] #二维列表,存储要加工的矩阵
mid_list = [] #中间值列表,存储子矩阵的4个顶点坐标和元素值
mid_list_value = [] # 矩阵切片后形成一个子矩阵,元素存储在这里
#mid_result = []
matrix_count = 0 # 统计子矩阵的个数,初始值为0
#打印参数,方便对照
print("初始参数:")
print(text)
print("\n")
text_split = text.split("\