python - 从 2 个列表创建 3d 矩阵
问题描述
我有两个值列表,x和y:
index = np.arange(-1,1,0.01)
x = index
y = index
在这个列表中,我想创建一个3d plot,为此我需要z,我目前有以下代码:
z = []
for i in x:
temp_list = []
for i2 in y:
temp_list.append(-(i**2+i2**2))
z.append(temp_list)
问题:
如何(len(x), len(y))
仅使用 numpy方法而不使用此迭代生成具有形状的列表 z,我在我的示例中这样做?
+1 单线
解决方案
使用广播:
import numpy as np
index = np.arange(-1, 1, 0.1)
Z = -(index[:,None] ** 2 + index[None, :] ** 2)
这样你就可以避免使用np.meshgrid
. 如果轴不一样,你应该像这样使用它:
Z = -(x_axis[:,None] ** 2 + y_axis[None, :] ** 2)
推荐阅读
- typescript - 打字稿函数定义多种返回类型
- node.js - http-proxy-middleware + express + node.js - 无法重定向到启用客户端证书身份验证的端点
- node.js - 如何在 Reactjs 中加密请求负载
- jmeter - JMeter:在 HTTP 请求中使用字符串数组的 props.get
- angular - Angular - 在 loadChildren() 中使用 forRoot({}) 配置来配置延迟加载模块
- python - 在列上运行循环时面临的问题
- reactjs - reactpixi 错误:无法初始化着色器
- jenkins - Jenkins 如何处理并行阶段
- php - Twilio - 来电请求 - 无效的内容类型错误
- java - 与 EditText 冲突:View 的观察者 + MutableLiveData 的观察者