Numpy/Python数组值

2024-05-16 06:06:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数来计算使用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) 

此检查检测函数调用表达式中的类型错误。由于动态分派和duck类型,这在有限但有用的情况下是可能的。函数参数的类型可以在docstring或Python 3函数注释中指定。


Tags: 函数numpy类型a1错误np数组sin