Major changes: - New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind - 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理 - Data catalog with charts (DMS/ADAS/Lane 3-tab view) - Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance - Audit enhancements: batch operations, rejection categories, Feishu notifications - Operation audit log (操作日志) - World model simulation studio (仿真工坊) - Dataset version management with snapshots and diff - ADAS 7-class dataset integration (138K images organized + compressed) - User management with Feishu integration and pagination - CRUD/search/filter on all pages, card layout redesign - PIL-optimized image overlay rendering - Auto-snapshot on build, in_review workflow stage - Removed embedded algorithm code (now in workspace)
46 lines
1.1 KiB
Python
Executable File
46 lines
1.1 KiB
Python
Executable File
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
from scipy.optimize import curve_fit
|
|
|
|
|
|
# 自定义函数 e指数形式
|
|
def func(x, a, b, c):
|
|
return a * np.sqrt(x) * (b * np.square(x) + c)
|
|
|
|
|
|
# 定义x、y散点坐标
|
|
x = [20, 30, 40, 50, 60, 70]
|
|
x = np.array(x)
|
|
num = [453, 482, 503, 508, 498, 479]
|
|
y = np.array(num)
|
|
|
|
|
|
def get_curve_fit(x, y):
|
|
# 非线性最小二乘法拟合
|
|
popt, pcov = curve_fit(func, x, y)
|
|
# 获取popt里面是拟合系数
|
|
# print(popt)
|
|
a = popt[0]
|
|
b = popt[1]
|
|
c = popt[2]
|
|
yvals = func(x, a, b, c) # 拟合y值
|
|
# print('popt:', popt)
|
|
# print('系数a:', a)
|
|
# print('系数b:', b)
|
|
# print('系数c:', c)
|
|
# print('系数pcov:', pcov)
|
|
# print('系数yvals:', yvals)
|
|
return yvals
|
|
|
|
|
|
yvals = get_curve_fit(x, y)
|
|
print(yvals)
|
|
# 绘图
|
|
plot1 = plt.plot(x, y, 's', label='original values')
|
|
plot2 = plt.plot(x, yvals, 'r', label='polyfit values')
|
|
plt.xlabel('x')
|
|
plt.ylabel('y')
|
|
plt.legend(loc=4) # 指定legend的位置右下角
|
|
plt.title('curve_fit')
|
|
plt.show()
|