文章目录
数学建模笔记(一)python使用入门
这一节课讲的比较基础,就把常用的库和函数列出来加深印象
常用内置函数
dir(__builtins__) # 查看所有内置函数和内置对象
help(函数名) # 查看函数的用法
eval(s) # 反回字符串表示的值
sorted(x,key=lambda x:x) # 指定规则排序
enumerate(x) # 同时获得索引和值
map(fuc, [1,2,3,4,5]) # 对所有元素执行fuc操作
filter(lambda x: x>10,[1,2,43,123]) # 过滤不满足条件的对象
zip('abcd',range(4)) # 将两个列表对应元素构成元组
numpy数组
创建
b = np.array([[1, 2, 3], [4, 5, 6]])
c = np.arange(1,5) #生成数组[1, 2, 3, 4]
d = np.linspace(1, 4, 4) #生成数组[1, 2, 3, 4]
e = np.logspace(1, 3, 3, base=2) #生成数组[2, 4, 8]
f = np.eye(3) # 三阶单位阵
g = np.eye(3, k=1) #生成第k 对角线的元素为1,其他元素为0 的3 阶方阵
合并与分割
合并
import numpy as np
a = np.arange(16).reshape(4,4) # 生成 4 行 4 列的数组
b = np.floor(5*np.random.random((2, 4))) # floor向上取整
c = np.ceil(6*np.random.random((4, 2))) # ceil向下取整
d = np.vstack([a, b]) # 上下合并矩阵
e = np.hstack([a, c]) # 左右合并矩阵
分割
import numpy as np
a = np.arange(16).reshape(4,4) #
生成 4 行 4 列的数组
b = np.vsplit(a, 2) # 行分割
c = np.hsplit(a, 4) # 列分割
矩阵运算
c = a @ b # 矩阵乘法
# 解方程组
a = np.array([[3, 1], [1, 2]])
b = np.array([9, 8])
x1 = np.linalg.inv(a) @ b #第一种解法
x2 = np.linalg.solve(a,