wwtiemuer 2021-10-17 10:18 采纳率: 100%
浏览 15
已结题

用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

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-10-17 10:34
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月17日
  • 已采纳回答 10月17日
  • 创建了问题 10月17日