文章目录
数学基础:范数
当p=2时,类似均方误差
题目与要求
思路
实施办法
因为时间原因,我还粗略地思考了一下实现的版本:
最简单版本:分段实现各部分代码,然后组合起来。程序只运行一次
进一步版本:将细化的部分实现。
(实际上我以这个进一步版本为最低预期,所以一开始就是以这个条件做的。)
最理想版本:加入循环和退出按钮,使得程序能一次计算多个矩阵
困难/过程记录
不是很会矩阵的相关操作
Python读取一个字符串,并转化为列表
在python3.7中,运行上面的代码,获得对象的type为list(即数组)
读懂语句,在其基础上进行修改,并进行批注,获得一矩阵
(数列转到矩阵,我会,诶嘿)
import numpy as np
string = input()
arr = [] #用于存储字符中的数字
count = 0 #用于对对行数数进行计数
#从字符中读取数字,并且对每行中元素个数计数
for i in string:
try:
arr.append(int(i))
except:
if i == '[':
count += 1 #观察字符,可以发现多记了一个“[”
pass
count = count - 1 #真实行数
cols = int(len(arr)/count) #用于记录列数,
#并作为是否判断换行(或者说另起一个list)的依据
#每一列中元素个数(个数即代表行数)相同
grid = [] #导出目标
cur = [] #单一行
for i in arr:
if len(cur) < cols: #len(cur)= cols-1时执行最后一次,
#加上最后一个数,完成构建
cur.append(i) #构建该行
else:
grid.append(cur) #将改行储存进list
cur = [] #更新行
cur.append(i