我是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
答案 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)
将返回一个矩阵,其行代表不同的函数,其列由角度确定。