DHU Computational Physics Learning【1】——Week 1_2

本文介绍了DHU计算物理课程第一周的学习内容,主要探讨了数学基础中的矩阵范数,特别是2范数和F范数。作者记录了在Python中处理矩阵的困难,分享了学习过程中遇到的句法错误,并引用了相关资料来探究矩阵范数的不同表示和区别。
摘要由CSDN通过智能技术生成

数学基础:范数

在这里插入图片描述
当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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼犬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值