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

Python使用curve_fit拟合自定义方程参数报错排查

问题排查与修复

核心错误:括号不匹配

你的自定义函数custom_exponential_equation中,np.exp()的调用缺少一个闭合括号,导致代码执行时无法生成合法的浮点数组,直接触发了Result from function call is not a proper array of floats错误。

修复后的代码

import numpy as np
from scipy.optimize import curve_fit

# Define your custom exponential equation
def custom_exponential_equation(X, param1, param2, param3):
    # X is a 2D array with shape (N, 2), where N is the number of data points
    # X[:, 0] corresponds to the first independent variable
    # X[:, 1] corresponds to the second independent variable
    # 修复括号不匹配问题:给np.exp添加闭合括号
    y = param1 * np.exp(param2 * (X[:, 0] * (X[:, 1]**param3)))
    return y

initial_params = [1.0, 1.0, 1.0]

# 确保x1是(45,2)的二维数组,y1是(45,)的一维数组
# 若需要测试可取消注释以下示例数据
# x1 = np.random.rand(45, 2)
# y1 = np.random.rand(45)

# Perform the curve fitting
params, _ = curve_fit(custom_exponential_equation, x1, y1, p0=initial_params)

print(params)

额外检查点

  • 确认x1的形状确实为(45, 2),y1为(45,)的一维数组,避免因输入维度不匹配引发其他错误。
  • 如果拟合时出现收敛问题,可尝试调整初始参数initial_params,使其更接近真实值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:35:05