主要内容

采用并行计算进行灵敏度分析

为并行计算配置系统

要执行全局敏感性分析,您需要对模型参数和状态进行抽样,通过在模型信号上创建设计需求来定义成本函数,并为每个样本评估成本函数。为许多样本评估模型可能是耗时的。你可以在灵敏度分析仪,或在命令行上使用多核处理器或多处理器网络上的并行计算。

当您在启用并行计算选项的情况下评估成本函数时,软件将使用可用的并行池。如果没有可用的,和自动创建并行池在并行计算工具箱™首选项中选择时,软件将使用这些首选项中的设置启动并行池。要打开使用特定集群配置文件的并行池,请使用:

parpool (MyProfile);

MyProfile集群配置文件的名称。

有关创建集群配置文件的信息,请参见添加和修改集群概要文件(并行计算工具箱)

模型的依赖性

模型的依赖性是任何引用的模型、数据,如模型变量、s -函数或运行模型所需的附加文件。在开始并行模型评估之前,请验证模型依赖项是否完整。否则,你可能会得到意想不到的结果。

使远程工作人员可以访问模型依赖项

当你使用并行计算时金宝app®优化设计™软件帮助您识别模型依赖关系。为此,软件使用依赖分析器。依赖关系分析可能无法找到模型所需的所有文件。想要了解更多,请看依赖性分析器范围和限制.如果您的模型有未被并行池工作人员检测到或无法访问的依赖项,那么将它们添加到模型依赖项列表中。

通过指定以下其中之一,并行池工作人员可以访问依赖项:

  • 文件依赖关系:模型依赖关系文件被复制到并行池工作器。

  • 路径依赖关系:模型依赖关系的路径被添加到并行池工作器的路径中。如果您在多平台场景中工作,请确保路径跨平台兼容。

推荐使用文件依赖关系,但是,在某些情况下,选择路径依赖关系可能更好。例如,如果在本地多核计算机上设置并行计算,则使用路径依赖关系是首选,因为使用文件依赖关系会在本地计算机上创建依赖文件的多个副本。

使用并行计算(GUI)进行敏感性分析

中使用并行计算进行灵敏度分析灵敏度分析仪

  1. 确保软件可以访问使用适当集群配置文件的并行池工作人员。

    有关更多信息,请参见为并行计算配置系统

  2. 打开灵敏度分析仪的Simulin金宝appk模型。

  3. 指定参数集,生成参数样本,并指定灵敏度分析的要求。例如,请参见使用参数采样的设计探索(GUI)识别评估的关键参数(GUI)

  4. 敏感性分析选项卡上,单击选项打开评估选择对话框。

  5. 选择平行的选项选项卡。

  6. 选择在评估期间使用并行池复选框。

    此选项检查Simulink模型中的依赖项。金宝app文件依赖项显示在模型文件的依赖关系列表框中文件的对应路径模型的路径依赖.中列出的文件模型文件的依赖关系复制到远程工作人员。

    请注意

    自动依赖项检查可能不会检测到模型中的所有依赖项。

    有关更多信息,请参见模型的依赖性.在这种情况下,手动添加未检测到的依赖项。

  7. 添加自动检查没有检测到的任何文件依赖项。

    中的文件模型文件的依赖关系列表框由分号分隔或在单独的行上。

    或者,单击添加文件的依赖打开一个对话框,并选择要添加的文件。

    请注意

    如果不希望将文件复制到远程工作人员,请删除模型文件的依赖关系列表框。填充模型的路径依赖列表框,单击从模型同步路径依赖,并添加任何未检测到的路径依赖项。此外,在列表框中,更新本地驱动器上的路径,使远程工作人员可以访问它们。例如,改变C: \\ \ \ \主机名\ \ \ \加元

  8. 如果您修改了Simulink模型,请金宝app重新同步依赖项,以确保检测到任何新的依赖项。点击从模型同步文件依赖平行的选项选项卡以重新运行模型的自动依赖项检查。

    此操作将更新模型文件的依赖关系列表框中包含模型中发现的任何新文件依赖项。

  9. 点击好吧

  10. 灵敏度分析仪,点击评估使用并行计算进行敏感性分析。对参数集中的每个参数值组合评估设计需求。

中不支持此功能金宝app金宝app仿真软件在线™

使用并行计算进行敏感性分析(代码)

使用并行计算评估模型:

  1. 确保软件可以访问使用适当集群配置文件的并行池工作人员。

    有关更多信息,请参见为并行计算配置系统

  2. 打开模型。

  3. 指定成本函数并生成灵敏度分析的参数样本。例如,请参见使用参数取样的设计探索(代码)

  4. 使用评估选项集启用并行计算。

    选择= sdo.EvaluateOptions;opt.UseParallel = true;
  5. 找到模型依赖项。

    [dirs、文件]= sdo.getModelDependencies (modelname)

    请注意

    sdo.getModelDependencies可能无法检测到模型中的所有依赖项。有关更多信息,请参见模型的依赖性.在这种情况下,手动添加未检测到的依赖项。

  6. 修改文件以包含任何文件依赖项sdo.getModelDependencies不检测。

    文件= vertcat(文件、“C: \ matlab \ \ filename.m工作”

    请注意

    如果不希望将文件复制到远程工作人员,请将任何未检测到的路径依赖项添加到dirs并更新本地驱动器上的路径,使远程工作人员可以访问它们。看到sdo.getModelDependencies为更多的细节。

  7. 添加用于评估的文件依赖项。

    opt.ParallelFileDependencies =文件;
  8. 指定要并行计算的模型的名称。

    opt.EvaluatedModel = modelname;
  9. 评估模型。

    [pOpt, opt_info] = sdo.evaluate (fcn,样本,选择);

故障排除

为什么我没有看到我预期的评估速度使用并行计算?

当您评估一个不需要大量评估或不需要很长时间模拟的模型时,您可能不会看到评估时间的加速。在这种情况下,与创建和分发并行任务相关的开销超过了并行运行评估的好处。

另请参阅

|||(并行计算工具箱)

相关的话题