多数据集操作
后处理功能可以整合不同结果源的数据进行变量处理。例如,您可以将实验数据与批量运行结果结合处理,甚至无需加载实验即可访问其实验结果。
后处理选项卡包含默认结果集列,显示所有可用数据集:

本示例显示除了标准运行(ref)和5个批量运行外,还可访问多个实验的结果(exp_1.1, exp_1.2...)。
您可以通过默认结果集列为每个变量单独选择数据集,也可通过结果集下拉列表全局设置。

若变量配置了不同数据集,全局结果集下拉框将显示???。

后处理允许在表达式中指定不同结果源,实现在单个用户变量中混合引用当前运行、批量运行或实验的结果文件。
概述
默认结果集列的选择将作用于后处理表达式中未用方括号[]显式指定结果集的变量。
例如:
标题 |
表达式 |
结果集 |
---|---|---|
A1 |
var@comp |
集1 |
A2 |
A1 |
集2 |
A3 |
var@comp[2]-var@comp |
集1 |
注意A3表达式中指定了[2]。
-
A1包含来自"集1"的var@comp值
-
A2包含来自"集2"的var@comp值
-
A3等效于"集2"与"集1"的var@comp差值
若表达式中所有变量均已显式定义结果集,默认结果集列将禁用:

上例中A3变量表达式为:(x1@mass_friction_endstops[1])-((x1@mass_friction_endstops_1[2]))
表示表达式中两个变量分别使用[1]和[2]结果集。此时默认结果集列禁用。且一旦通过方括号定义结果集,该变量的结果集将在所有引用它的后处理表达式中固定。
语法规则
变量与结果集定义语法:
-
<变量名@组件名>[N]
[N]用于指定批量结果文件编号
-
<变量名@组件名>[实验名_batch_run.N]
用于指定名为exp_1实验中第N次批量运行结果
应用示例

上例将参考结果集的x1@mass_friction_endstops变量与批量运行2结果集的x1@mass_friction_endstops_1变量相减。

-
A1 = x1@mass_friction_endstops_1 - 结果集2
-
A2 = A1 (x1@mass_friction_endstops_1 - 结果集2)
-
A3 = A1[1]
此处A1已指定结果集[2],而A3又指定[1]。实际表达式为x1@mass_friction_endstops_1[2][1],系统将保留首个定义[2]。

-
A1 = v1@PS_CarBody - 参考结果集
-
A2 = v1@PS_CarBody[1]
-
A3 = A1-A2[2]
等效于v1@PS_CarBody[2]-v1@PS_CarBody[1],系统会优先采用[1]的定义。

注意表达式会通过工具提示显示计算结果。
错误处理
若后处理变量A已定义结果集,而在变量B的表达式中又用方括号指定A的结果集,表达式将无效。无效的方括号会被高亮显示:

本例中A2使用结果集3,而A3试图让A2使用[1],导致表达式无效并显示错误。
监视器中的结果集
当仿真包含多个结果集时,您可以在后处理面板中为每个监视变量单独选择结果集,也可通过结果集下拉列表全局设置。

图6-137. 监视变量面板的结果集下拉列表
图6-111显示三个监视变量分别配置不同结果集(3, ref, 5),因此全局结果集下拉框显示???。通过全局下拉列表可统一设置所有监视变量的结果集:

图6-138. 设置所有监视变量的结果集
图6-112演示通过全局结果集下拉列表将所有变量切换至结果集6。
译文质量与官方无关,仅做辅助学习使用,帮助大家更方便高效的掌握工具.文档网址:www.tech-doc.cn;公众号:Amesim学习与应用、译匠工厂