You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python函数中使用NumPy与浮点数时触发TypeError报错求助

报错原因
  • 直接触发类型错误的代码行为si = np.sin(x - sine):此处sine是你定义的函数对象本身,你将浮点类型的x数组与函数对象做减法运算,两种类型不支持该操作,因此抛出对应报错。
  • 额外存在的问题:你的计算逻辑完全不符合目标公式A sin(B(x-C)),既没有用到传入的水平偏移量参数horizontal_shift,频率参数frequency的使用位置也完全错误。
  • 你此前尝试的所有修改方向都和报错根源无关,因此无法解决问题。
修复方案

修正函数内部的计算逻辑,对齐目标公式即可,修改后的完整代码如下:

import numpy as np
import matplotlib.pylab as plt

x = np.linspace(-np.pi, np.pi, 201)

def sine(amplitude, frequency, horizontal_shift):
    # 按公式A*sin(B*(x-C))计算,对应参数:A=amplitude,B=frequency,C=horizontal_shift
    si = np.sin(frequency * (x - horizontal_shift))
    si = amplitude * si
    return si

test = sine(4, 1, 2)
print(test)

plt.plot(x, test)
plt.show()

内容的提问来源于stack exchange,提问作者petmarilyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:36:08