生成多元非线性函数拟合的代码
时间: 2023-12-08 17:04:09 浏览: 174
函数拟合的matlab代码
4星 · 用户满意度95%
以下是使用Python生成多元非线性函数拟合的代码示例:
```python
import numpy as np
from scipy.optimize import curve_fit
# 定义多元非线性函数
def nonlinear_func(x, a, b, c):
return a * np.exp(-b * x) + c
# 创建模拟数据
x_data = np.linspace(0, 4, 50)
y_data = nonlinear_func(x_data, 2.5, 1.3, 0.5) + 0.2 * np.random.normal(size=len(x_data))
# 拟合数据
popt, pcov = curve_fit(nonlinear_func, x_data, y_data)
# 输出拟合结果
print('拟合参数:', popt)
# 绘制拟合结果
import matplotlib.pyplot as plt
plt.plot(x_data, y_data, 'bo', label='Data')
plt.plot(x_data, nonlinear_func(x_data, *popt), 'r-', label='Fit')
plt.legend(loc='best')
plt.show()
```
以上代码使用了SciPy库中的curve_fit函数进行拟合,定义了一个多元非线性函数,再创建模拟数据进行拟合,并输出拟合结果。最后使用matplotlib库绘制拟合结果。
需要注意的是,具体的多元非线性函数形式需要根据实际问题进行定义,并且需要根据实际数据选择合适的拟合函数和拟合方法。
阅读全文