2 条题解
-
0
NUMPY046 题解:创建结构化坐标数组
题目
创建结构化数组表示 [0,1]×[0,1] 区域内的坐标点。
解题思路
使用
np.meshgrid()生成网格坐标,然后用结构化数组存储。代码
import numpy as np Z = np.zeros((5, 5), [('x', float), ('y', float)]) Z['x'], Z['y'] = np.meshgrid(np.linspace(0, 1, 5), np.linspace(0, 1, 5)) print(Z)代码详解
np.zeros((5, 5), [('x', float), ('y', float)])—— 创建结构化数组np.linspace(0, 1, 5)—— 在 [0,1] 上取 5 个点np.meshgrid()—— 生成网格坐标
结构化数组
# 定义数据类型 dtype = [('x', float), ('y', float)] # 创建数组 Z = np.zeros(3, dtype=dtype) Z['x'] = [1, 2, 3] # 设置 x 字段 Z['y'] = [4, 5, 6] # 设置 y 字段meshgrid 的作用
# 一维坐标 x = [0, 1] y = [0, 1, 2] # 生成网格 X, Y = np.meshgrid(x, y) # X = [[0, 1], # 每个元素重复 n 次 # [0, 1], # [0, 1]] # # Y = [[0, 0], # 每个元素重复 m 次 # [1, 1], # [2, 2]]核心知识点
- 结构化数组 —— 带字段名的数组
np.meshgrid()—— 生成网格np.linspace()—— 等差数列
- 1
信息
- ID
- 97
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者