# 实际运行结果

最终运行：`results/validated-v03-isolated-20260907`。MATLAB R2025b Update 6 / maca64，最终批处理 **exit=0**，**8/8 自动测试通过**。8个`.m`源文件哈希与运行记录独立重算一致；全部8文件`checkcode`无诊断。静态依赖分析仅报告基础MATLAB。

| 指标 | 真实运行值 |
|---|---:|
| 留出点 Ef | 0.0016432232176870234 |
| 留出点 Eg | 0.0019980570197349885 |
| 生成元字典秩 | 71/71 |
| 坐标列相对拟合残差 | 1.4983813262045726e-6 |
| 初始K0平均10秒成本 | 1.9811436181590023 |
| 数据模型策略平均10秒成本 | 1.7123312531944543 |
| truth-model PI平均10秒成本 | 1.7123312443914511 |
| 0–10秒最大平均成本曲线差 | **3.1461074437431e-5** |
| 10秒终点平均成本差 | 8.803003215263061e-9 |
| 50条轨迹最大终端状态范数 | 0.0012299763698272951 |
| 数据策略与truth-model PI的留出控制RMS差 | 0.00012791591692802836 |
| 真实动力学HJB残差RMS | 0.0033272774791102025 |
| 第10轮策略变化RMS | 2.4586447412875464e-14 |

曲线和50初值轨迹见 [实际生成图](https://github.com/tanjunkai2001/adp-matlab/blob/v0.5.3/reproductions/koopman_l4dc2025/results/validated-v03-isolated-20260907/trajectories_cost.png)。完整历史运行的 `result.mat` 包含逐条成本、随机特征、配点、完整生成元与每轮奇异值；它未随当前源码包发布，保留方式见 [历史归档说明](https://github.com/tanjunkai2001/adp-matlab/blob/main/docs/ARTIFACTS.md)。

令 `d_j(t)=J_data,j(t)-J_truth,j(t)`，两套策略从同一批50个初值出发。上表的曲线指标是 `max_t abs(mean_j d_j(t))`，终点指标是 `abs(mean_j d_j(10))`。**二者都先对初值求平均，再取绝对值**，因此可能发生正负抵消；它们不是 `mean_j abs(d_j(10))`，也不是某条轨迹的最大绝对成本差。3.1461e−5 与8.8030e−9应分别按整段曲线和终点解读。

当前公开轨迹CSV保留了状态，没有两套逐初值成本；不能从这份CSV补出50个配对成本差或分位数。入口会在新运行中保存 `result.rollouts.learned.integratedCost`、`result.rollouts.oracle.integratedCost`，并计算 `result.metrics.maximumTrajectoryCostGap`；这里尚未取得对应冻结运行的原始MAT，故不增加历史逐轨迹最大值或分布数字。

从仓库根目录运行现有配置，会创建新的数据模型辨识、PI和50初值闭环记录：

```matlab
[result,runDir] = demo_reproductions('koopman_l4dc2025');
```

8项测试涵盖：留出辨识与闭环；锚定特征梯度；解析Yosida矩阵与求积收敛；真实状态-输入耦合项；秩/NaN/执行标签拒绝；独立ode45；真值字段隔离；lambda及初始策略/迭代预算敏感性。最终状态和原始日志见 [CSV](https://github.com/tanjunkai2001/adp-matlab/blob/v0.5.3/reproductions/koopman_l4dc2025/evidence/isolated-test-results.csv)、[完整日志](https://github.com/tanjunkai2001/adp-matlab/blob/main/docs/ARTIFACTS.md)。

独立线性解析Yosida对照：采样间隔0.02秒时最大误差1.3351705240971512e-5，0.01秒时1.4114852233682029e-6。识别参数敏感性如下；同一批轨迹重复使用，未重新抽样：

| lambda | Ef | Eg |
|---:|---:|---:|
| 20 | 0.0764692023008941 | 0.09344075095235453 |
| 100 | 0.01620692184754115 | 0.01972061536420594 |
| 1000 | 0.0016432232176870234 | 0.0019980570197349885 |

另将K0从[4,3]改为[5,4]、PI从10轮改为12轮，留出控制RMS差通过预先设定0.01门槛。不能据三点lambda试验推断任意更大lambda总会更好；低采样率、插值偏差、噪声和数值相消仍需独立研究。

调试记录：首次完整运行在多项式数组幂处失败，原因是MATLAB中未加括号的指数转置结合次序；改为显式括号后，通过后续解析生成元和非线性端到端检验。失败日志保存在 `evidence/debug-first.log`。第一次8项通过后又显式拆分learner配置，避免把无用的真实阻尼参数交给辨识/PI函数，并增加字段断言；最终再次完整执行通过。

`results/validated-v03-20260907` 是配置隔离前的中间运行，保留用于追溯。它与当前源码版本不能混作最终身份验证；最终证据以名称含 `isolated` 的运行和测试文件为准。

这次完成方法级数值实现，尚未完成原文Table3/4对象全实验的精确参数复现；truth-model PI也只是同一近似解法的参照，非解析最优证书。物理参数、特征修改及原文缺失项见 [METHOD.md](https://github.com/tanjunkai2001/adp-matlab/blob/main/reproductions/koopman_l4dc2025/METHOD.md)。
