python多变量拟合_Python曲线拟合多变量

正如其他人所观察到的,您的函数需要返回具有输入数据形状的内容,因此您需要更改错误函数的输出形状。由于scipy执行一个最小二乘函数,所以这是通过使函数返回np.sqrt(val1 ** 2 + val2 ** 2)来实现的。在

但是,对于这类问题,我更喜欢使用我编写的scipy的包装器,以简化处理多个组件的过程,称为^{}。在

在symfit中,这个示例问题将按如下方式解决:from symfit import parameters, variables, log, Fit, Model

import numpy as np

import matplotlib.pyplot as plt

x, y, z1, z2 = variables('x, y, z1, z2')

a, b, c = parameters('a, b, c')

z1_component = log(a) + b * log(x) + c * log(y)

model_dict = {

z1: z1_component,

z2: log(a) - 4 * z1_component/3

}

model = Model(model_dict)

print(model)

# Make example data

xdata = np.linspace(0.1, 1.1, 101)

ydata = np.linspace(1.0, 2.0, 101)

z1data, z2data = model(x=xdata, y=ydata, a=10., b=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值