首页 > 解决方案 > 如何使用 python 中的非线性模型拟合来获得 2 参数拟合

问题描述

嗨,我对 python 很陌生。我的 Pi 的任务是使用 Python 中的非线性模型拟合我正在使用的方程的 2 参数。他做了同样的事情,但他使用了数学。我正在尝试在 python 中重新创建相同的魔法。我附上了我的 PI 在 Mathematica 中 所做图像1、2、3

这就是我到目前为止所拥有的。我不是要求你为我解决。我要一个指南

  Input = gam0 = 72.8;
  temp = 293.15 ;
  Input= gam[x2_] = gam0 - 0.0187 * temp * 'Natural logarithm[1+628.14*55.556*x2]';

标签: pythonwolfram-mathematica

解决方案


要修复这些行,您应该编写如下内容:

import math
gam0 = 72.8
temp = 293.15
def gam(x2):
  return gam0 - 0.0187 * temp * math.log(1+628.14*55.556*x2)

我不熟悉 Mathematica 的语法,所以这可能不是 100% 等效的,但它背后的逻辑是相同的。我做了什么?

  • remove input =,这不是 Python 语法。
  • 消除 ; 在行尾,这也不是 Python 语法。
  • 我认为你代码的最后一行是 Mathematica 中的一个函数(不是 100%),我把它重写为一个 Python 函数。
  • 将其更改'Natural logarithm[1+628.14*55.556*x2]'math.log(1+628.14*55.556*x2)使其成为 Python。

推荐阅读