如何将循环生成的roll数组汇总后在外部输出复用?
解决方法
你可以按以下步骤把每次循环生成的roll矩阵汇总到一个数组里,方便循环外复用:
- 循环开始前初始化一个空列表,用来临时存储每个
roll矩阵 - 每次循环生成
roll后,把它添加到这个列表中 - 循环结束后,将列表转换为numpy数组即可
修改后的完整代码如下:
import math import numpy as np # 初始化空列表存储所有roll矩阵 rolls_list = [] for angle in range(0, 46, 1): print("***For the angle: ", angle) # 注意:原代码中的rollangle未定义,若实际需要请补充定义逻辑 print("Roll angle", rollangle) roll = np.array([[1,0,0],[0,math.cos(angle),-math.sin(angle)],[0,math.sin(angle),math.cos(angle)]]) print("roll =", roll) # 将当前roll矩阵加入列表 rolls_list.append(roll) # 把列表转成numpy数组,最终形状为(46, 3, 3) rolls_array = np.array(rolls_list) # 循环外输出或复用汇总后的数组 print("\n所有roll矩阵汇总结果:") print(rolls_array) # 示例:访问angle=0对应的roll矩阵 print("\nangle=0的roll矩阵:") print(rolls_array[0])
说明
- 最终的
rolls_array是三维numpy数组,维度对应(循环次数, 3, 3),这里循环次数为46(对应angle从0到45) - 可以通过索引直接获取任意角度对应的roll矩阵,比如
rolls_array[10]就是angle=10时生成的矩阵 - 这个数组可直接用于后续的矩阵运算、数据存储等场景
内容的提问来源于stack exchange,提问作者Damuluri Suraj Bharajathya
相关产品推荐
相关产品推荐

