Python 如果变量中有一个列表,如何输出函数数组

Python 如果变量中有一个列表,如何输出函数数组,python,arrays,Python,Arrays,我有一个变量f,它是一个函数数组 import numpy as np import random f = np.array([np.sin(x)-np.cos(x), np.cos(2*x), np.sin(x)+np.cos(x), (np.cos(x)**2), (np.sin(x)**2)]) 我创建了一个变量x,它是 random.seed(5) x = np.array(np.random.uniform(0,2*np.pi)for j in range(5)).reshape(

我有一个变量
f
,它是一个函数数组

import numpy as np
import random

f = np.array([np.sin(x)-np.cos(x), np.cos(2*x), np.sin(x)+np.cos(x), (np.cos(x)**2), (np.sin(x)**2)])
我创建了一个变量
x
,它是

random.seed(5)
x = np.array(np.random.uniform(0,2*np.pi)for j in range(5)).reshape(5,1)for i in range(0,2)
变量x产生2个随机5by1向量,例如

[array([[2.83299959],
        [3.0761472 ],
        [3.31156297],
        [5.32141915],
        [5.80267552]]), array([[0.50920597],
        [1.28818661],
        [4.60886743],
        [5.1166359 ],
        [5.66032732]])]
我的目标是让函数
f
x
的输出一样输出2个5by1向量。即

f = array([[np.sin(2.832..)-np.cos(2.832..), np.cos(2*3.07.), np.sin(3.311..)+np.cos(3.311..),(np.cos(5.321..)**2), (np.sin(5.802..)**2)]]), 
          array([[np.sin(0.509..)-np.cos(0.509..), np.cos(2*1.288..), np.sin(4.608..)+np.cos(4.608..), (np.cos(5.116..)**2), (np.sin(5.660..)**2)]])

f
不是一个函数数组;它只是一个值数组。指定给
f
的表达式只有在定义了
x
后才有效,在该表达式处,它将计算为显示的数字数组。你的目标不是用任何简单的方法(如果有的话)就能实现的。函数数组类似于
f=np.array([lambda x:np.sin(x)-np.cos(x),lambda x:np.cos(2*x),…])
。好的,谢谢。因此,我只需要更改分配给f的数组,看看它是否有效。它肯定不会使
f
的输出看起来像是对各种trig函数的未赋值调用。我怀疑这部分是可以实现的。哦,天哪,好吧。我会绕着它玩看看。但是你建议我做什么来实现我的目标呢?