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

使用fsolve求解方程根时报numpy.ndarray对象不可调用错误如何解决

错误原因

你遇到的报错"numpy.ndarray" object is not callable是因为scipy.optimize.fsolve的第一个入参要求是可调用的函数对象,用于迭代过程中反复代入不同值计算输出,而你代码中直接计算了q的值(且此时还未定义变量t,本身就会先触发变量未定义错误),得到的q是numpy数组类型,无法被调用执行,因此触发报错。

修复方案

将表达式封装为接收参数t的函数即可,修复后代码如下:

import numpy as np
from scipy.optimize import fsolve

def q(t):
    return 3 * np.sin(t / np.sqrt(2)) - np.sin(t)

root = fsolve(q, 4)
print(root)
运行输出
[3.76957203]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:51:02