繁体   English   中英

将Numpy数组附加到列表

[英]Appending a Numpy array to a list

我是Python的新手,还是Numpy的新手,所以如果我在某个地方犯了错误,我深表歉意。

本质上,我要获取一个(不确定长度的)角度列表,该列表基于这些值的trig函数计算一个数组,然后创建一个新列表,其中每个索引处都是一个“ trig array”,对应于创建它的值的索引在角度列表中。

当前,循环计算正确的数组并按预期一次打印一个,但是,函数的最终输出是单个数组,而不是每个数组的列表。

任何帮助将不胜感激!

            def tmatrices(angles):
                for angle in angles:
                    tmatrices = []
                    cos = math.cos(angle)
                    cos2 = (math.cos(angle)) ** 2)
                    sin = math.sin(angle)
                    sin2 = (math.sin(angle)) ** 2)
                    T = np.array( (((cos2), (sin2), (sin*cos)), ((sin2), (cos2), ((-sin) * cos)), ((-2 * sin * cos), (2 * sin * cos), (cos2 - sin2))) )
                    print (T)
                    tmatrices.append(T)
                return tmatrices

我认为您犯了一些错误,

tmatrices = []

应该在循环之外?

也就是说,您可能更喜欢使用numpy numpy并继续

import numpy


def tmatrix(angles):
    cos  = numpy.cos(angles)[numpy.newaxis, :]
    cos2 = cos**2
    sin  = numpy.sin(angles)[numpy.newaxis, :]
    sin2 = sin**2
    T = numpy.concatenate( (cos2, sin2, sin*cos, sin2, cos2, -sin * cos, -2 * sin * cos, 2 * sin * cos, cos2 - sin2 ), axis=0)
    return T


angles = numpy.arange(0, 2*numpy.pi, numpy.pi/10)
print tmatrix(angles)

它将返回一个矩阵,其行代表不同的函数,其列由角度确定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM