主要内容

管理估计速度和内存

加速频率响应估计的方法

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

  • 减少模拟停止时间

  • 指定加速器模式

  • 使用并行计算

减少模拟停止时间

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

获取模拟停止时间,在模型线性化器, 在里面线性分析工作区,选择输入信号。模拟时间将显示在可变预览

从使用MATLAB获取从输入信号的模拟停止时间®代码:

tfinal = getsimulationtime(输入)

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

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

输入信号 行动 警告
中间人

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

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

唧唧喳喳

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

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

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

指定加速器模式

您可以通过在Simulink中指定快速加速器或加速器模式来尝试加速频率响应估计。万博1manbetx

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

使用并行计算

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

  • 您的模型有多个输入。

  • 您的单输入模型使用SINESTREAM的SINESTEAM输入信号仿状台财产有价值'一次一个'

    有关设置此选项的信息,请参阅疯狂参考页面。

在这些情况下,频率响应估计执行多个模拟。如果已安装并行计算工具箱™软件,则可以在多个MATLAB会话上并行运行这些多种模拟(水池Matlab Workers)。

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

使用并行计算加速估计

配置马铃薯对于并行计算

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

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

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

Parpool(MyProfile)

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

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

配置并行计算设置后,如下所述配置MATLAB以进行并行计算,您可以估计使用Simulink模型的频率响应万博1manbetx模型线性化器

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

    此操作打开频率响应估计对话框的选项。

  2. 在里面并行选项选项卡,选择在估计期间使用并行池复选框。

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

    打开“浏览文件夹”对话框。导航并选择要添加到模型路径依赖性的目录。

    点击好的

    小费

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

  4. (可选)点击Sync路径依赖关系来自模型

    此操作在Simulink模型中找到模型路径依赖性,并将其添加到万博1manbetx模型路径依赖项列表框。

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

配置并行计算设置后,如下所述配置MATLAB以进行并行计算,您可以估计Simulink模型的频率响应。万博1manbetx

  1. 找到模拟模型需要运行的文件的路径,调用万博1manbetx路径依赖项

    dirs = frest.finddepend(model)

    dir是包含路径依赖性的字符向量的单元阵列,例如引用的模型,数据文件和S函数。

    有关此命令的详细信息,请参阅疯狂.finddepend.

    要了解有关模型依赖项的更多信息,请参阅分析模型依赖项依赖性分析仪范围和限制

  2. (可选)检查dir包括所有路径依赖项。追加任何缺少的路径dir

    dirs = Vertcat(Dirs,'\\ hostname \ c $ \ matlab \ work'
  3. (可选)检查所有工人是否可以访问路径dir

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

    dirs = regexprep(dirs,'C:/''\\\\ hostname \\ c $ \\'

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

    选项= FrestimateOptions('使用指平行''上''并联依存',dirs)

    小费

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

  5. 估计频率响应:

    [最具西班牙语] =嫉妒('模型',IO,输入,选项)

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

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

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

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

  • 具有1E-8 S的输出点离散采样时间的模型,它以5 Hz频率模拟(每个时段0.2秒),导致 0.2 1 E. - 8. = 2 每期数据的百万样本。通常,此数据量需要超过300 MB的存储。

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

  1. 禁用Simulink模型中的任何信号日志记录。万博1manbetx

    要了解如何识别哪些模型组件日志信号和禁用信号日志记录,请参阅信号日志记录

  2. 尝试以下部分中列出的一个或多个操作:

  3. 重复估计。

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

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

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

插入A.率过渡在输出点处块降低采样率,这会降低记录数据的量。在估计之前将线性化输出点移动到速率转换块的输出。确保原始输出点的位置由于速率转换而没有别名。

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

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

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

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

输入信号类型 行动
中间人
  • 从输入信号中删除低频,您不需要频率响应。

  • 修改SINESTREAM信号以通过设置估计每个频率仿状台选择一次一个。然后使用a估计fr例如,不请求模拟时间响应输出数据的语法sysest =苦恼(模型,IO,输入)

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

  • 使用将输入信号划分为多个信号f选择。用单独使用的每个信号估计频率响应fr。然后,将结果结合使用FCAT.

唧唧喳喳

创建单独的输入信号,该输入信号将原始信号的扫描频率范围分为较小的部分疯狂.Chirp.。用单独使用的每个信号估计频率响应fr。然后,将结果结合使用FCAT.

随机的 通过更改减少随机输入信号中的样本数量numsamples.在估计之前。看时间响应是嘈杂的