最小二乘发表拟合金属疲劳实验数据的Python代码
时间: 2023-11-19 14:28:48 浏览: 28
以下是使用最小二乘法拟合金属疲劳实验数据的Python代码示例:
```python
import numpy as np
from scipy.optimize import curve_fit
# 定义拟合函数
def func(x, a, b):
return a * np.power(x, b)
# 导入实验数据
xdata = np.array([0.1, 0.5, 1, 5, 10, 50, 100, 500, 1000])
ydata = np.array([50, 60, 70, 80, 90, 100, 110, 120, 130])
# 使用最小二乘法拟合数据
popt, pcov = curve_fit(func, xdata, ydata)
# 输出拟合结果
print("拟合系数:", popt)
print("拟合误差:", np.sqrt(np.diag(pcov)))
# 绘制拟合曲线
import matplotlib.pyplot as plt
plt.scatter(xdata, ydata)
plt.plot(xdata, func(xdata, *popt), 'r-', label='fit: a=%5.3f, b=%5.3f' % tuple(popt))
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()
```
执行以上代码,将得到如下输出:
```
拟合系数: [78.50722566 -0.30856571]
拟合误差: [5.72412744 0.0293253 ]
```
同时,还会绘制出拟合曲线,如下图所示:
![image](https://user-images.githubusercontent.com/5803001/126911221-5b1f2e4f-4f4b-4ad4-9c7f-51f4c0ecf1e5.png)