如何在 Python 中使用数学函数

扎眼的阳光 python 170

原文标题How to use math function in Python

如何执行此代码:

import numpy as np
import math

x = np.arange(1,9, 0.5)
k = math.cos(x)
print(x)

我收到这样的错误:

TypeError: only size-1 arrays can be converted to Python scalars

先感谢您。

原文链接:https://stackoverflow.com//questions/71477620/how-to-use-math-function-in-python

回复

我来回复
  • codingray的头像
    codingray 评论

    所以发生这种情况是因为math.cos不接受大于大小 1 的 numpy 数组。这就是为什么如果你有一个大小为 1 的 np 数组,你的方法仍然有效。

    一个更简单的实现结果的方法是直接使用np.cos(x)

    import numpy as np
    
    x = np.arange(1,9, 0.5)
    k = np.cos(x)
    print(x)
    print(k)
    

    如果必须使用数学模块,可以尝试遍历数组并将math.cos应用于数组的每个成员:

    import numpy as np 
    import math 
    
    x = np.arange(1,9,0.5) 
    for item in x:
        k = math.cos(item) 
        print(k) # or add to a new array/list
    
    2年前 0条评论
  • Python learner的头像
    Python learner 评论

    你正在寻找这样的东西吗?

    import numpy as np 
    import math 
    x = np.arange(1,9, 0.5) 
    for ang in x:
        k = math.cos(ang) 
        print(k)
    
    2年前 0条评论
  • teplandr的头像
    teplandr 评论

    您正在尝试将 ndarray (由arange返回)传递给一个函数,该函数只需要实数。使用senp.cos代替。

    2年前 0条评论