将Numpy数组附加到列表

时间:2016-04-19 09:42:02

标签: python arrays list numpy

我是Python的新手,甚至比Numpy更新,所以如果我在某个地方犯了一个大错,我会道歉。

基本上我正在根据这些值的trig函数计算一个数组的角度列表(不确定长度),然后创建一个新的列表,其中每个索引都是" trig数组"对应于在角度列表中创建它的值的索引。

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

非常感谢任何帮助!

            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

1 个答案:

答案 0 :(得分:0)

我认为你犯了一些错误并且

tmatrices = []

应该在循环之外吗?

那就是说,你可能更喜欢numpy更多numpython并去

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)

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