用logspace和linspace计算正弦值,报错


import time
import numpy as np
import math

t2 = time.time()          
def content_l_math():
    for i in np.logspace(0,8,9):
        x = np.arange(0,10,10/i)
        math.sin(x)
        print("取点数10^%d耗时->%s"%(math.log(i,10),time.time()-t2))
        print(math.sin(x))
content_l_math()

出现
Traceback (most recent call last):

File "C:\Users\zzw918.spyder-py3\未命名0.py", line 12, in
content_l_math()

File "C:\Users\zzw918.spyder-py3\未命名0.py", line 9, in content_l_math
math.sin(x)

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

你好,不要用math啦,math下面的sin只能对单独的值进行求正弦。请改用np.sin
math.sin(x)改成np.sin(x)即可
有帮助望采纳