Numpy/Python 数组数值错误

5

我正在尝试使用numpy数组创建一个计算机器人臂末端位置的函数,但是当代码运行时遇到了错误。我有一个将角度作为参数传递的函数。

def FinalPosition(angle1, angle2, angle3, angle4, angle5, angle6):

我的IDE在突出显示数组的最后两行:

    T1 = np.array([np.cos(angle1), -np.sin(angle1)*np.cos(b1), np.sin(angle1)*np.sin(b1), a1*np.cos(angle1)],
        [np.sin(angle1), np.cos(angle1)*np.cos(b1), -np.cos(angle1)*np.sin(b1), a1*np.sin(angle1)],
        [0, np.sin(b1), np.cos(b1), d1],
        [0, 0, 0, 1])

我收到的错误信息是:
     .............................................in FinalPosition
[0, np.sin(b1), np.cos(b1), d1], [0, 0, 0, 1])
ValueError: only 2 non-keyword arguments accepted

不确定问题是什么,可以有人解释一下吗?

编辑:IDE中最后两行的高亮显示显示如下。

Expected type 'Optional[bool]', got 'List[Union[int | TypeVar('T'), Any]]' instead less... (Ctrl+F1 Alt+T) 

这个检查会在函数调用表达式中检测类型错误。由于动态分派和鸭子类型,这在有限但有用的情况下是可能的。函数参数的类型可以在文档字符串或Python 3函数注释中指定。


5
请用一对方括号括住这些列表:np.array([ your lists ]) - ForceBru
1
np.array 接受一个列表、一个数据类型和一些关键字参数。看起来你的输入是多个列表。 - hpaulj
@ForceBru 哈哈,真不敢相信我错过了那个!谢谢你 :P - AnthonyT
1个回答

15

由@hpaulj和@ForceBru在评论中回答。缺少一组[]方括号。

np.array([ your lists ])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接