package main import "log/slog" func main() { a1 := calculateAvgAcc(136960.88, 24.41978) a2 := calculateAvgAcc(34874, 14.97515) slog.Info("根据位移和时间计算平均加速度", "通号平均加速度", a1, "动力学平均加速度", a2) avt1 := calculateAvgAccByV(6.94444, 24.41978) avt2 := calculateAvgAccByV(6.94444, 14.97515) slog.Info("根据速度和时间计算平均加速度", "通号平均加速度", avt1, "动力学平均加速度", avt2) s1 := calculateS(0.28437766432762146, 24.41978) s2 := calculateS(0.46373090147972107, 14.97515) slog.Info("根据加速度和时间计算位移", "通号最小位移", s1, "动力学最小位移", s2) slog.Info("实际位移", "通号实际位移差", 136960.88-s1, "动力学实际位移差", 34874-s2) } // 根据位移和时间计算平均加速度(初始速度为0) // s单位为mm,t单位为s func calculateAvgAcc(s float32, t float32) float32 { return 2 * s / (t * t) / 1000 } // 根据速度和时间计算平均加速度(初始速度为0) func calculateAvgAccByV(v float32, t float32) float32 { return v / t } // 根据加速度和时间计算位移(初始速度为0) func calculateS(a float32, t float32) float32 { return 0.5 * a * t * t * 1000 }