主要内容

管理估计速度和内存

加速频率响应估计的方法

频率响应估计期间最耗时的操作是模拟您的Simulink金宝app®模型。您可以尝试使用以下任何方式加快估算:

  • 减少模拟停止时间

  • 指定加速器模式

  • 使用并行计算

减少模拟停止时间

执行频率响应估计所需的时间取决于仿真停止时间。

获得仿真停止时间,在模型线性化器,在线性分析工作区,选择输入信号。仿真时间将显示在变量预览

利用MATLAB从输入信号中获取仿真停止时间®代码:

tfinal = getsimulationtime(输入)

在哪里输入为输入信号。模拟停止时间,tfinal,用作频率响应估计持续时间的指示。

您可以通过修改信号属性来减少模拟时间。

输入信号 行动 警告
Sinestream

减少每个频率的周期数,NumPeriods,特别是在较低的频率下。

您的模型必须处于稳定状态,以实现准确的频率响应估计。减少周期的数量可能不会激发你的模型足够长的时间来达到稳定状态。

尖声地说

减少信号采样时间,Ts,或样本的数量,numsamples.

估计响应的频率分辨率取决于样本的数量numsamples..降低样本的数量会降低估计频率响应的频率分辨率。

有关修改输入信号的信息,请参阅修改估计输入信号

指定加速器模式

您可以尝试通过在Simulink中指定Rapid Accelerator或Accelerator模式来加速频率响应估计。金宝app

有关更多信息,请参阅什么是加速?

使用并行计算

您可以尝试使用以下情况下并行计算加速频率响应估计:

  • 您的模型有多个输入。

  • 你的单输入模型使用一个sinstream输入信号,其中sinstreamSimulationOrder属性的值为“OneAtATime”

    有关设置此选项的信息,请参阅弗列斯特。Sinestream参考页面。

在这些情况下,频率响应估计执行多次仿真。如果您已经安装了并行计算工具箱™软件,您可以在多个MATLAB会话上并行运行这些多个模拟(MATLAB的工人)。

有关使用并行计算的更多信息,请参阅使用并行计算加速估计

使用并行计算加速估计

配置马铃薯草对于并行计算

您可以使用并行计算来加速执行多个模拟的频率响应估计。您可以使用并行计算模型线性化器吝啬.当您使用并行计算执行频率响应估计时,该软件使用可用的并行池。如果没有可用的并行池自动创建并行池在“并行计算”工具箱首选项中选择,然后软件使用这些首选项中的设置启动并行池。

您可以配置软件以自动检测模型依赖项,并临时将它们添加到并行池工人。但是,要确保工人能够访问未检测到的文件和路径依赖项,请创建指定相同的群集配置文件。用于优化模型的并行池必须与此集群配置文件相关联。有关创建群集配置文件的信息,请参阅添加和修改集群概要文件(并行计算工具箱)

要手动打开使用特定群集配置文件的并行池,请使用:

Parpool(MyProfile)

我的简历是群集配置文件的名称。

利用并行计算方法估计频率响应模型线性化器

配置并行计算设置后,请参见配置MATLAB进行并行计算,您可以使用的Simulink模型估计频率响应金宝app模型线性化器应用程序。

  1. 模型线性化器,在估计选项卡上,单击更多选择

  2. 在“频率响应估计选项”对话框中,在平行的选项选项卡,选择在估计期间使用并行池

  3. (可选)点击添加路径依赖

    在Browse For Folder对话框中,导航到并选择要添加到模型路径依赖项的目录。

    点击好吧

    提示

    或者,在Model路径依赖项列表中手动指定路径。您可以指定用新行分隔的路径。

  4. (可选)点击从模型同步路径依赖项

    此操作在您的Simulink模型中找到模型路径依赖项,并将它们添加到金宝app模型的路径依赖列表框。

利用并行计算估计频率响应(马铃薯草代码)

配置并行计算设置后,请参见配置MATLAB进行并行计算,可以估计Simulink模型的频率响应。金宝app

  1. 找到Simulink模型需要运行的文件的路径金宝app路径依赖

    dirs = frest.finddepend(model)

    dirs是字符向量的单元格数组,其中包含路径依赖项,如引用模型、数据文件和s -函数。

    有关此命令的详细信息,请参见frest.findDepend

    要了解更多关于模型依赖关系的信息,请参见分析模型依赖性依赖性分析器范围和限制

  2. (可选)检查dirs包括所有路径依赖项。添加任何丢失的路径dirs

    dirs = vertcat (dirs,' \ \主机名\ \ matlab \加元工作’
  3. (可选)检查所有工人是否可以访问路径dirs

    如果任何路径驻留在您的本地驱动器上,请指定所有工作人员都可以访问您的本地驱动器。例如,该命令将所有对C驱动器的引用转换为所有工作人员都可以访问的等效网络地址:

    dirs = regexprep (dirs,'C:/'“\ \ \ \加元主机名\ \ \ \ '

  4. 通过创建并行计算并指定模型路径依赖性选项对象使用疯狂选择命令:

    选项= freestimiteOptions(“UseParallel”“上”“ParallelPathDependencies”dirs)

    提示

    要对所有估计启用并行计算,请选择全局首选项使用“Frestimation”命令时使用并行池复选在Matlab首选项中。如果您的模型具有路径依赖项,则必须创建自己的频率响应选项对象,该对象在开始估计之前指定路径依赖项。

  5. 估计频率响应:

    [系统首] =苦难(“模型”、io、输入、选项)

有关使用并行计算来加速估计的示例,请参阅利用并行计算加速频率响应估计

频率响应估计期间的内存管理

频率响应估计在模拟数据超过可用内存时终止。内存不足在以下情况下发生:

  • 您的模型在长时间仿真期间执行数据记录。具有1E-3 RAD / S频率的四个时段的SINESTEAM输入信号运行了25,000秒的SIMULINK仿真。金宝app如果您正在使用信号到工作区块,此模拟时间长度可能会导致内存问题。

  • 输出点离散采样时间为1e-8 s的模型模拟频率为5 hz(每个周期模拟时间为0.2 s),结果为 0.2 1 e 8 2 每个周期有上百万个样本数据。通常,这种数据量需要超过300mb的存储空间。

避免在估计频率响应时内存问题:

  1. 禁用Simulink模型中的任何信号日志记录。金宝app

    要了解如何识别哪些模型组件记录信号并禁用信号记录,请参见信号记录

  2. 尝试下面列出的一个或多个动作:

  3. 重复评估。

特定模型的方法,以避免内存问题

为避免内存问题,请尝试以下表格中列出的一个或多个操作,适用于模型类型。

模型类型 行动
具有快速离散采样时间的模型,在输出点指定

插入A.速率过渡块以降低采样率,从而减少记录的数据量。在估计之前,将线性化输出点移动到Rate Transition块的输出。确保原始输出点的位置不会因为速率转换而产生混叠。

有关确定采样率的信息,请参阅查看样本时间信息.如果你的估计很慢,看加速频率响应估计的方法

具有多个输入和输出点的模型(MIMO模型)

输入信号特定方法以避免内存问题

为了避免内存问题,请根据输入信号类型尝试下表中列出的一个或多个操作。

输入信号类型 行动
Sinestream
  • 去除输入信号中不需要频率响应的低频。

  • 修改正弦流信号,分别估计每个频率,通过设置SimulationOrder选项一次一个.然后使用a估计吝啬例如,不要求模拟时间响应输出数据的语法sys = frestimate(模型、io、输入)

  • 使用并行计算在不同计算机上并行运行独立模拟。看到使用并行计算加速估计

  • 将输入信号分解为多个信号使用f选择.估计每个信号的频率响应分别使用吝啬.然后,将结果结合使用FCAT.

尖声地说

创建单独的输入信号,将原始信号的扫频范围划分为更小的部分弗列斯特。尖声地说.估计每个信号的频率响应分别使用吝啬.然后,将结果结合使用FCAT.

随机的 通过改变随机输入信号来减少样本数numsamples.在评估之前。看到时间响应有噪声