存储循环中的数值.ndarray [英] Storing numpy.ndarrays from a loop

查看:0
本文介绍了存储循环中的数值.ndarray的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为循环的每次迭代存储定义为x_cy_cz_c的numpy.ndarray:

for z_value in np.arange(0, 5, 1):
    ms.set_current_mesh(0) 
    planeoffset : float = z_value 
    ms.compute_planar_section(planeaxis = 'Z Axis', planeoffset = planeoffset)
    m = ms.current_mesh()
    matrix_name = m.vertex_matrix()
    x_c = matrix_name[:,0]
    y_c = matrix_name[:,1]
    z_c = matrix_name[:,2]

我希望能够回忆起任何z值的三个数组,最好参考z值,即x_c @ z_value = 2或类似的。

谢谢您的帮助!

P.S对编码非常陌生,所以请对我宽容些。

推荐答案

必须将每个数组存储在外部变量中,例如字典

x_c={}
y_c={}
z_c={}
for z_value in np.arange(0, 5, 1):
    ms.set_current_mesh(0)
    planeoffset = float(z_value)
    ms.compute_planar_section(planeaxis = 'Z Axis', planeoffset = planeoffset)
    m = ms.current_mesh()
    m.compact()
    print(m.vertex_number(), "vertices in Planar Section Z =", planeoffset)

    matrix_name = m.vertex_matrix()
    x_c[planeoffset] = matrix_name[:,0]
    y_c[planeoffset] = matrix_name[:,1]
    z_c[planeoffset] = matrix_name[:,2]
请确保在访问VERTEX_MATRIX之前调用m.compact(),否则将收到MissingCompactnessException错误。请注意,在x_c[2]或x_c[2.0]中存储任何内容是不同的,因此请选择您的索引是否必须是整数o浮点数,并保持相同的类型(在本例中,它们是浮点数)。

稍后,您可以回调如下值:


print("X Values with z=2.0")
print(x_c[2.0])

这篇关于存储循环中的数值.ndarray的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆