对于涉及多个并行模拟和记录大量数据的工作流,可以使用parsim
或batchsim
函数,或使用多个模拟面板金宝app®编辑器。这种方法在模型测试、实验设计、蒙特卡罗分析和模型优化等场景中非常有用。
有关命令行工作流(parsim
或batchsim
函数),您可以使用数组来创建模拟集金宝app仿真软件。SimulationInput
对象来运行多个模拟。或者,您可以使用多个模拟面板模型。金宝app
在多个模拟面板,您可以创建设计研究,以为模拟指定值。该面板允许您指定块参数的值,以及模拟的变量。
使用并行计算工具箱™,您还可以使用parsim
和batchsim
功能,多个模拟面板并行运行模拟。
使用。运行多个模拟金宝app仿真软件。SimulationInput
对象和parsim
功能,请参阅使用parsim对房屋的热模型进行并行模拟.了解更多关于parsim
函数并行运行模拟,参见运行并行模拟.
要了解批量运行多个模拟,请参见batchsim
.
要了解命令行工作流之间的区别及其工作方式,请参见多个仿真工作流的比较.
要使用图形用户界面运行多个模拟,请参见配置和运行模拟与多个模拟面板.
要了解如何监控模拟并查看结果,请参见分析多个模拟的数据.
请注意
当池还没有打开并且第一次运行模拟时,启动模拟需要额外的时间。随后的并行模拟速度更快。
的多个模拟面板允许您设置多个模拟块参数和变量的不同值。您可以从模型画布中选择一个感兴趣的块参数,并指定要用于模拟的值。您还可以为模拟提供变量。要运行您设置的模拟,首先,选择设计研究,然后单击运行所有上的按钮模拟选项卡。金宝app要学得多,看得多多仿真面板:对汽车动力学系统的不同刚度值进行仿真的例子。
的parsim
函数和多个模拟面板将每个模拟分配给并行池工作人员,以减少并行运行时的总体模拟时间。使用parsim
函数和多个模拟面板创建一个并行池,它允许您在加速和快速加速模式下识别文件依赖项并管理模拟的构建工件。
的batchsim
命令功能卸载仿真到计算集群。模拟是在集群上执行的,这允许您在处理批作业时执行其他任务。也可以关闭客户端MATLAB®会话并在稍后访问批处理作业。
的batchsim
函数使用并行计算工具箱™许可证在计算集群上运行模拟。的batchsim
函数在无法创建并行池时以串行方式运行模拟。如果并行计算工具箱许可,batchsim
函数给出错误。
sim卡
函数如果没有并行计算工具箱许可证,则parsim
函数和多个模拟面板的行为类似于sim卡
命令。模拟是串行运行的。
金宝app仿真软件。SimulationInput
对象在命令行工作流中,您可以使用金宝app仿真软件。SimulationInput
对象,并在这些更改时并行运行模拟。的值金宝app仿真软件。SimulationInput
对象覆盖模型中的值,这允许您在不破坏模型的情况下修改模型。通过金宝app仿真软件。SimulationInput
对象,也可以指定MATLAB函数在每次仿真的开始和结束时运行PreSimFcn
和PostSimFcn
函数,分别。当你使用金宝app仿真软件。SimulationInput
对象,则在仿真结束后恢复模型参数。看到使用parsim对房屋的热模型进行并行模拟.的金宝app仿真软件。SimulationInput
对象允许你在模型中更改这些设置:
初始状态
外部输入
模型参数
块的参数
变量
仿真管理器允许您监视多个并行模拟。它显示了并行运行时的运行进度。您可以查看每次运行的详细信息,如参数、运行时间和诊断。Simulation Manager作为一个有用的工具,为您提供了在Simulation Data Inspector中分析和比较结果的选项。您还可以选择运行并将其值应用到模型。有关更多信息,请参见仿真管理器.
parsim / batchsim
函数的功能在模拟输出对象中输出错误,以便于调试
兼容快速加速器和快速重启
兼容文件日志(方便大数据)
兼容MATLAB并行服务器™除了本地并行池
能够将基本工作空间变量传递给工作人员
避免透明度错误
由此产生的金宝app仿真软件。SimulationOutput
对象,该对象包含模拟输出,捕获错误消息和模拟元数据。当你选择数据导入/导出>日志数据集到文件中配置参数时,Simulink创建金宝app金宝appSimulink.SimulationData.DatasetRef
为每一个对象数据集
存储在生成的MAT文件中。你可以使用DatasetRef
对象访问的数据数据集
元素。用于运行的模拟金宝app仿真软件。SimulationInput
对象时,DatasetRef
对象的一部分返回SimulationOutput
对象。因此,您可以更快地访问它们,而不需要创建它们。
并行仿真可以产生比MATLAB存储器所能容纳的更多的记录数据。考虑将日志记录到并行模拟的持久存储,以减少内存需求。当你选择数据导入/导出>日志数据集到文件中配置参数(LoggingToFile
),用于Simulink中的并行模拟:金宝app
数据以数据集格式记录在mat文件中
一个金宝appSimulink.SimulationData.DatasetRef
对象为每个Dataset元素创建(例如,logsout
)的每个模拟
您可以使用DatasetRef
对象来访问特定信号的数据。您可以创建matlab.io.datasetore.SimulationDatastore
对象,用于将记录的数据从持久存储流到模型中。
金宝app仿真软件。SimulationInput
|applyToModel
|setExternalInput
|setInitialState
|setVariable
|setModelParameter
|setBlockParameter
|验证
|setPostSimFcn
|setPreSimFcn
|parsim