主要内容

加速,完善和测试混合动态系统在主机通过RSim系统目标文件

在您创建一个模型,您可以使用快速仿真(RSim)系统目标文件来描述模型的行为。可执行程序的结果构建过程开发计算机上的非实时执行。可执行程序是高度优化的混合动态系统的仿真模型,包括模型,利用变步解决者和零交点检测。生成的代码的速度让RSim系统目标文件适合建设项目批或蒙特卡洛模拟。

关于快速仿真

使用RSim目标来生成一个可执行的,跑得快,独立的模拟。与不同的数据集,您可以重复模拟交互地或与脚本编程,无需重建模型。这可以加速模型的描述和调优行为和代码生成测试。

使用命令行选项:

  • 定义参数值和输入信号在一个或多个mat文件,您可以加载和重载没有重建模型的模拟。

  • 将日志数据重定向到一个或多个mat文件,然后您可以分析和比较。

  • 控制仿真时间。

  • 指定外部模式选项。

请注意

运行一个RSim可执行文件,配置您的计算机MATLAB运行®和MATLAB仿真软件金宝app®安装文件夹访问。部署一个独立的主机可执行(即。,out MATLAB and Simulink installed), consider using the Host-Based Shared Library target (ert_shrlib)."

快速模拟的优势

你获得的优势快速模拟不同。较大的模拟实现速度提高10倍的速度比标准模型模拟。金宝app一些模型可能不显示仿真速度明显提高。确定模型的速度差,时间标准的仿真软件模拟和比较结果与快速仿真。金宝app此外,测试模型模拟快速加速器模拟模式。

一般快速模拟工作流

像其他阶段的基于模型的设计、表征和调优模型的行为是一个迭代的过程,如一般的工作流图所示图。工作流的任务是:

确定快速仿真的需求

建立一个快速模拟的第一步是确定您的仿真需求。

问题…… 有关更多信息,请参见……
你想要模拟运行多长时间? 为快速配置和构建模型模拟
有解决需求吗?你希望使用相同的解算器的模型配置为你的快速模拟吗? 为快速配置和构建模型模拟
你的快速模拟需要适应灵活的自定义代码界面吗?或者,你的模拟需要保留存储类设置吗? 为快速配置和构建模型模拟
你会与多个数据集运行模拟吗? 建立快速仿真输入数据
将输入数据包括全局参数,信号,或都有? 建立快速仿真输入数据
什么类型的源模块提供输入数据模型——从文件,尺寸,从工作区? 建立快速仿真输入数据
将模型的参数向量(模型_P)作为输入数据? 创建一个包含一个MAT-File模型参数结构
是什么数据类型的输入参数和信号? 建立快速仿真输入数据
将源数据由一个变量或多个变量? 建立快速仿真输入数据
输入数据包括可调参数吗? 创建一个包含一个MAT-File模型参数结构
你需要获得可调参数信息——模型校验和和参数数据类型,标识符,和复杂性? 创建一个包含一个MAT-File模型参数结构
你有一个需要不同仿真模拟运行停止时间吗? 为快速配置和构建模型模拟覆盖一个模型仿真停止时间
你想模拟设定时间限制吗?考虑设置一个时间限制,如果你的模型经历频繁的零交叉和有一个小的小的步长。 为快速模拟设置时钟时间限制
你需要保存每个模拟运行的输出? 指定一个新的模拟输出文件的名字指定新输出文件名文件块
你希望运行模拟交互地或以批处理方式? 脚本批处理和蒙特卡罗模拟

港口提供配置模拟源数据

您可以使用尺寸块作为快速模拟输入数据的来源。为此,配置模块,这样他们就可以从外部mat文件导入数据。默认情况下,从下游块尺寸块继承了参数设置。在大多数情况下,从外部MAT-file导入数据,您必须显式地设置以下参数块匹配MAT-file的源数据。

  • 主要>插入数据

  • 信号的属性>港维

  • 信号的属性>数据类型

  • 信号的属性>信号类型

如果你没有控制模型内容,您可能需要修改MAT-file中的数据符合的模型预计输入。输入数据的特点和规格尺寸,接收数据块必须匹配。

有关调整这些参数和创建MAT-file使用尺寸块,明白了创建一个MAT-File轮廓尺寸的块。前面的块参数的描述,请参阅块的描述轮廓尺寸

为快速配置和构建模型模拟

在您确定您的快速仿真需求,配置快速仿真的模型。

  1. 集模型配置参数系统目标文件rsim.tlc(快速仿真目标)。

  2. 点击RSim目标查看RSim目标窗格。

  3. 设置RSim目标配置参数的快速仿真的需求。

    如果你想… 然后……
    生成代码,允许从MAT-file RSim可执行加载参数 选择从MAT-file启用RSim可执行加载参数(默认)。
    让目标选择的解算器基于解算器已经配置模型

    解算器的选择汽车(默认)。代码生成器使用一个内置的解算器如果指定一个固定的解决者解算器窗格或调用模型解算器模块(一个共享库金宝app)如果指定了变步解算器。

    明确指示目标使用一个固定的解决者 解算器的选择使用固定的解决者。在配置参数对话框,解算器窗格中,指定一个固定的解决者。
    明确指示目标使用变步解算器

    解算器的选择使用仿真金宝app软件解算器模块。在配置参数对话框,解算器窗格中,指定一个变步解算器。

    迫使存储类汽车灵活的自定义代码接口 选择强制存储类汽车(默认)。
    保留存储类设置,例如ExportedGlobalImportedExtern由于应用程序需求 清晰的强制存储类汽车
  4. 设置数据导入和导出选项。在数据导入/导出窗格中,在保存到工作空间部分中,选择时间,,输出,最终状态参数,因为它们适用。默认情况下,代码生成器保存仿真结果记录到文件中命名模型.mat。有关更多信息,请参见出口仿真数据

  5. 如果您使用的是外部的沟通模式,设置界面,使用代码生成>接口窗格。看到外部模式模拟参数调优和信号监测获取详细信息。

  6. 新闻Ctrl + B。代码生成器构建一个高度优化的可执行程序,可以运行在您的开发计算机与不同的数据,没有重建。

    兼容的有关编译器的更多信息金宝app仿真软件编码器™产品,请参阅选择和配置C或c++编译器模板makefile和做出选择

建立快速仿真输入数据

关于快速仿真数据设置

输入数据的格式和设置快速模拟取决于您的需求。

如果输入数据源是…… 然后……
模型的全局参数向量(模型_P) 使用rsimgetrtp函数向量的内容,然后将其保存到一个MAT-file。
模型的全局参数向量和您想要一个向量和可调参数之间的映射 调用rsimgetrtp函数得到全局参数,然后将其保存到一个MAT-file结构。
提供了一个从文件块 创建一个从文件块的MAT-file可以阅读。
提供的尺寸 创建一个MAT-file坚持的三个尺寸的块可以读取的数据文件格式。
从工作空间提供的块 MATLAB的工作区中创建结构变量。

RSim目标要求mat文件作为输入用于从文件和轮廓尺寸块包含数据。的目标插入MAT-file数据直接生成的代码,然后编译并链接作为一个可执行文件。相比之下,RSim允许您替换为每个连续的模拟数据集。包含从文件或MAT-file尺寸阻止数据必须存在,如果一个文件块或尺寸块存在于您的模型。

创建一个包含一个MAT-File模型参数结构

创建一个包含一个MAT-file模型全局参数结构(模型_P),

  1. 被调用的函数结构rsimgetrtp

  2. 保存参数结构MAT-file。

如果你想运行模拟在不同的数据集,考虑转换单元阵列的参数结构并保存单个MAT-file参数变化。

得到的参数结构模型。得到全球参数结构(模型_P通过调用函数)模型rsimgetrtp

param_struct= rsimgetrtp ('模型”)
论点 描述
模型 您正在运行的模型的快速模拟。

rsimgetrtp指定模型函数部队一个更新图行动并返回一个结构,包含以下字段。

描述
modelChecksum 研制出向量编码的结构模型。代码生成器使用校验和检查模型的结构是否改变了自从RSim生成可执行文件。如果您删除或添加一个街区,然后生成一个新的模型_P向量,新的校验和原来的校验和不匹配了。RSim执行检测到这种不兼容性参数向量和出口,以避免返回不正确的仿真结果。如果模型结构的变化,你必须重新生成的代码模型。
参数 一个结构,包含模型的全局参数。

参数结构包含以下信息。

描述
dataTypeName 参数数据类型的名称,例如,
dataTypeID 内部数据类型标识符使用的代码生成器
复杂的 0的值如果真实;1如果复杂
dtTransIdx 内部数据索引使用的代码生成器
一个向量的参数值与该结构有关
地图 这个字段包含映射信息关联的“价值观”模型的可调参数。这个映射信息,结合rsimsetrtpparam是用于创建后续rtP结构没有编译框图。

代码生成器报告可调定点参数根据其存储值。例如,一个sfix (16)的参数值1.4的比例2 ^ 8的值为358年作为一个int16

在接下来的例子中,rsimgetrtp返回的参数结构模型的例子rtwdemo_rsimtfparam_struct

param_struct = rsimgetrtp (“rtwdemo_rsimtf”)
param_struct = modelChecksum: [1.7165 e + 009 2.3064 3.0726 2.6061 e + e + 009 009 e + 009]参数:[1 x1 struct]

保存参数结构MAT-File。在您调用问题rsimgetrtp,保存MAT-file函数调用的返回值。使用一个命令行选项,您可以指定MAT-file作为输入快速模拟。

下面的示例返回保存参数结构rtwdemo_rsimtf到MAT-filemyrsimdemo.mat

保存myrsimdemo.matparam_struct;

使用命令行选项来指定所需的文件资料,明白了运行快速模拟

转换为不同的数据集上运行模拟参数结构。使用快速模拟测试更改特定的参数,您可以转换模型参数结构单元阵列。然后,您可以访问一个特定参数设置通过使用@操作符指定索引文件中为一个特定的参数集。

将结构单元阵列:

  1. 使用的函数rsimgetrtp得到一个结构包含示例模型参数信息rtwdemo_rsimtf。该结构存储在一个变量中param_struct

    param_struct = rsimgetrtp (“rtwdemo_rsimtf”);

    参数场的结构是一个子结构,包含参数信息。的场的参数子结构包含参数的数值,您可以调整仿真代码的执行期间。

  2. 使用的函数rsimsetrtpparam扩展的结构,包含更多的参数设置。在这种情况下,创建两个参数集(共三集)。

    param_struct = rsimsetrtpparam (param_struct 3);

    函数转换参数场与三个单元阵列元素。每个元素包含一个参数集的信息。默认情况下,该函数创建第二个和第三个单元阵列的元素复制第一个元素。因此,所有的参数设置使用相同的参数值。

  3. 为参数指定新值在第二和第三个参数集。

    param_struct.parameters {2}。值= [-150 -5000 0 4950]; param_struct.parameters{3}.values = [-170 -5500 0 5100];
  4. 保存包含参数集的结构信息MAT-file。

    保存rtwdemo_rsimtf.matparam_struct;

或者,您可以修改块模型中的参数,和使用rsimgetrtp创建多个参数设置:

  1. 使用的函数rsimgetrtp得到一个结构包含示例模型参数信息rtwdemo_rsimtf。该结构存储在一个变量中param_struct

    param_struct = rsimgetrtp (“rtwdemo_rsimtf”);

  2. 使用的函数rsimsetrtpparam扩展的结构,包含更多的参数设置。在这种情况下,创建两个参数集(共三集)。

    param_struct = rsimsetrtpparam (param_struct 3);

    函数转换参数场与三个单元阵列元素。每个元素包含一个参数集的信息。默认情况下,该函数创建第二个和第三个单元阵列的元素复制第一个元素。因此,所有的参数设置使用相同的参数值。

  3. 改变块参数或工作空间变量的值。例如,改变变量的值w70年72年

    w = 72;

  4. 使用rimsgetrtp另一个包含参数信息的结构。在一个临时变量中存储结构rtp_temp

    rtp_temp = rsimgetrtp (“rtwdemo_rsimtf”);

  5. 分配的值参数领域的rtp_temp的结构param_struct作为第二个参数集。

    param_struct。参数{2} = rtp_temp.parameters;

  6. 改变变量的值w72年75年

    w = 75;

  7. 使用rimsgetrtp另一个包含参数信息的结构。然后,分配的值参数字段param_struct作为第三个参数集。

    rtp_temp = rsimgetrtp (“rtwdemo_rsimtf”);param_struct。参数{3} = rtp_temp.parameters;

  8. 保存包含参数集的结构信息MAT-file。

    保存rtwdemo_rsimtf.matparam_struct;

有关如何指定每个参数集的更多信息运行模拟时,看到的改变块RSim仿真参数

为一个从文件创建一个MAT-File块

您可以使用一个MAT-file作为输入数据的来源从文件块。MAT-file中的数据的格式必须匹配块的所期望的数据格式。例如,如果您正在使用一个矩阵垫文件作为输入,这无法与可执行的矩阵大小不同。

创建一个MAT-file从文件布洛克:

  1. 对于数组格式数据,在工作区中创建一个矩阵,由两个或两个以上的行。第一行必须包含单调递增的时间点。其他行包含数据点对应的时间点列。的时间和数据点必须的数据类型

    例如:

    t =(0:0.1:2 *π)';Ina1 = [2 * sin (t) 2 * cos (t));Ina2 =罪(2 * t);Ina3 = [0.5 * sin (3 * t) 0.5 * cos (3 * t)];var_matrix = [t Ina1 Ina2 Ina3]”;

    对其他受支持的数据类金宝app型,如int16或定点,时间必须类型的数据点,就像数组格式的数据。然而,样本数据可以是任何维度。

    设置输入数据的更多信息,见块的描述从文件

  2. 保存MAT-file矩阵。

    下面的示例保存矩阵var_matrix到MAT-filemyrsimdemo.mat在7.3版本中格式。

    保存“-v7.3”myrsimdemo.matvar_matrix;

    使用一个命令行选项,您可以指定MAT-file作为输入快速模拟。

创建一个MAT-File轮廓尺寸的块

您可以使用一个MAT-file作为一个尺寸块输入数据源。

MAT-file中的数据的格式必须遵守的三个基于列的格式列在下表中。下表列出了一些最不灵活的格式,以最灵活。

格式 描述
一次/数据矩阵
  • 至少灵活。

  • 一个变量。

  • 两个或两个以上的。列数必须等于所有根尺寸块的尺寸之和+ 1。第一列必须包含单调递增的时间点。其他列包含的数据点对应的时间点在一个给定的行。

  • 数据的类型

例如,看到的一次/数据矩阵在接下来的程序,步骤4。有关更多信息,请参见加载数据数组根级输入

Signal-and-time结构
  • 比单一更灵活时间/数据矩阵格式。

  • 一个变量。

  • 必须包含两个顶级字段:时间信号。的时间字段包含一个向量的仿真时间。的信号字段包含子结构的数组,每个对应一个尺寸块。子结构指数对应尺寸的块号。每一个信号子结构必须包含一个字段命名。的输入的字段必须包含一个数组相应尺寸块,其中每个输入对应于一个指定的时间点时间字段。

  • 如果时间字段设置为空值,清晰的复选框轮廓尺寸插入数据参数。

  • 数据类型必须匹配轮廓尺寸块设置。

例如,看到的Signal-and-time结构在接下来的程序,步骤4。这种格式的更多信息,请参阅加载数据结构根级输入

每个端口结构
  • 最灵活的

  • 多个变量。变量的数量必须等于尺寸块的数量。

  • 由一个单独的structure-with-time或structure-without-time每个尺寸块。每个尺寸块只有一个数据结构信号字段。使用这种格式,输入文本字段中,输入结构的名称作为一个逗号分隔的列表,三机一体,in2、……酒店,在那里三机一体是数据模型的第一个港口,in2对于第二个端口,等等。

  • 每个变量可以有不同的时间向量。

  • 如果时间字段设置为空值,清晰的复选框轮廓尺寸插入数据参数。

  • 数据类型必须匹配轮廓尺寸块设置。

  • 保存多个变量相同的数据文件,你必须拯救他们所期望的顺序模型,使用附加选择。

例如,看到的每个端口结构在接下来的程序,步骤4。有关更多信息,请参见加载数据结构根级输入

支持的格金宝app式和说明下列程序rtwdemo_rsim_i

创建一个MAT-file轮廓尺寸的块:

  1. 选择前面的数据文件格式之一。

  2. 更新尺寸块参数设置和规格与规范的MAT-file提供的数据。

    默认情况下,从下游块尺寸块继承了参数设置。导入数据从外部MAT-file,显式地设置以下参数匹配MAT-file源数据。

    • 主要>插入数据

    • 信号的属性>港维

    • 信号的属性>数据类型

    • 信号的属性>信号类型

    如果你选择使用工作空间变量和结构格式时间字段是空的,清晰块参数插入数据或修改参数被设置为一个非空的值。插值数据需要时间。

    前面的块参数的描述,请参阅块的描述轮廓尺寸

  3. 建立一个RSim模型的可执行程序。构建过程创建和计算模型和嵌入的结构校验和生成的可执行文件。RSim目标使用校验和验证数据被传递到模型与模型可执行的期望是一致的。

  4. 创建MAT-file提供源数据的快速模拟。您可以创建MAT-file从一个工作空间变量。使用前面的格式的规格比较表,创建工作空间变量的模拟。

    每种格式的一个例子:

    一次/数据矩阵

    t =(0:0.1:2 *π)';Ina1 = [2 * sin (t) 2 * cos (t));Ina2 =罪(2 * t);Ina3 = [0.5 * sin (3 * t) 0.5 * cos (3 * t)];var_matrix = [t Ina1 Ina2 Ina3];

    Signal-and-time结构

    t =(0:0.1:2 *π)';var_single_struct.time = t;var_single_struct.signals (1) . values (: 1) = 2 * sin (t);var_single_struct.signals (1) . values (:, 2) = 2 * cos (t);var_single_struct.signals (2) . values =罪(2 * t);var_single_struct.signals (3) . values (: 1) = 0.5 * sin (3 * t);var_single_struct.signals (3) . values (:, 2) = 0.5 * cos (3 * t);v = [var_single_struct.signals (1) . valuesvar_single_struct.signals (2) . valuesvar_single_struct.signals (3) . values);

    每个端口结构

    t =(0:0.1:2 *π)';Inb1.time = t;Inb1.signals.values (: 1) = 2 * sin (t);Inb1.signals.values (:, 2) = 2 * cos (t);t =(0:0.2:2 *π)';Inb2.time = t;Inb2.signals.values(: 1) =罪(2 * t);t =(0:0.1:2 *π)';Inb3.time = t;Inb3.signals.values (: 1) = 0.5 * sin (3 * t); Inb3.signals.values(:,2)=0.5*cos(3*t);
  5. MAT-file保存工作空间变量。

    一次/数据矩阵

    下面的例子可以节省工作空间变量var_matrix到MAT-filersim_i_matrix.mat

    保存rsim_i_matrix.matvar_matrix;

    Signal-and-time结构

    下面的例子可以节省工作空间结构变量var_single_struct到MAT-filersim_i_single_struct.mat

    保存rsim_i_single_struct.matvar_single_struct;

    每个端口结构

    订单数据在保存单个MAT-file每个端口结构变量,使用保存命令的附加选择。一定要追加订单中的数据模型预计它。

    下面的例子可以节省工作空间变量Inb1,Inb2,政府间对MAT-filersim_i_multi_struct.mat

    保存rsim_i_multi_struct.matInb1;保存rsim_i_multi_struct.matInb2附加;保存rsim_i_multi_struct.mat政府间附加;

    保存命令不会保留您指定您的工作空间变量的顺序在命令行MAT-file保存数据。例如,如果您指定的变量v1,v2,v3的顺序依次MAT-file中的变量v2 v1 v3

    使用命令行选项,您可以为快速模拟指定mat文件作为输入。

脚本批处理和蒙特卡罗模拟

RSim目标是批处理仿真参数和输入信号变化对多个模拟。新的输出文件名称允许您运行模拟没有覆盖之前的仿真结果。您可以设置一系列的模拟运行通过创建一个。bat申请使用的微软®窗户®平台。

为Windows平台创建一个文件和一个文本编辑器执行它通过输入文件的名称,例如,mybatch文本文件的名称mybatch.bat

rtwdemo_rsimtf - f rtwdemo_rsimtf.mat = run1。垫- o其中回答。垫- tf 10.0rtwdemo_rsimtf- frtwdemo_rsimtf.mat=run2.mat -o results2.mat -tf 10.0 rtwdemo_rsimtf -f rtwdemo_rsimtf.mat=run3.mat -o results3.mat -tf 10.0 rtwdemo_rsimtf -f rtwdemo_rsimtf.mat=run4.mat -o results4.mat -tf 10.0

在这种情况下,批处理仿真运行使用4组输入数据文件run1.mat,run2.mat,等等。RSim可执行数据保存到指定的文件- o选择。

包含仿真结果的变量名称的文件是相同的。因此,连续加载数据集不重命名数据一旦MATLAB工作区中的结果与新数据覆盖之前的工作空间变量。为了避免覆盖,您可以将结果复制到一个新的MATLAB变量在装货前下一组数据。

您也可以编写MATLAB脚本创建新的信号和新的参数结构,以及保存数据并执行批处理运行使用爆炸命令(!)。

在运行模拟和可用的命令行选项的详细信息,明白了运行快速模拟。为快速模拟批处理脚本的一个例子,看到的例子运行批处理模拟不重新编译生成的代码

运行快速模拟

快速模拟

使用RSim目标,您可以构建一个模型,运行多个模拟研究不同参数设置和输入信号的影响。您可以运行一个模拟直接从您的操作系统命令行,重定向命令从MATLAB命令行通过使用爆炸(!),或者从一个脚本执行命令。

从操作系统命令行,使用

rtwdemo_rsimtf

从MATLAB命令行,使用

rtwdemo_rsimtf !

下表列出了方法可以使用RSim目标命令行选项来控制一个模拟世界中。

…… 使用……
从文件读取输入数据块从MAT-file除了MAT-file用于前面的仿真

模型- foldfilename.mat =newfilename.mat

打印选项的摘要RSim可执行的目标 可执行文件名- h
读取输入数据从MAT-file轮廓尺寸的块 模型-我文件名.mat
时间后n时钟时间秒,n是一个正整数价值 模型- ln
MAT-file日志数据写入文件文件名.mat 模型- o文件名.mat
从文件读取参数向量文件名.mat 模型- p文件名.mat
覆盖默认的TCP端口(17725)的外部模式 模型- portTCPport
MAT-file日志数据写入其他MAT-file MAT-file用于前面的仿真 模型- toldfilename.mat =newfilename.mat
运行仿真,直到时间价值stoptime达到 模型- tfstoptime
在详细模式下运行 模型- v
等待仿真软件引擎启动模型在金宝app外部模式 模型- w

以下部分使用rtwdemo_rsimtf示例模型例子来说明其中的一些命令行选项。在每种情况下,假定您已经完成了下面的例子:

  • 创建或改变工作目录。

  • 打开示例模型。

  • 复制数据文件matlabroot/工具箱/ rtw / rtwdemos / rsimdemos / rsim_tfdata.mat你的工作目录。您可以执行这个操作使用命令:

    拷贝文件(fullfile (matlabroot“工具箱”,“环球套票”、“rtwdemos”,…“rsimdemos”、“rsim_tfdata.mat”), pwd);

要求快速模拟运行

下列条件适用于固定和可变步可执行文件。

  • 你必须在一台计算机上运行RSim执行配置为MATLAB运行。此外,RSim.exe文件必须能够访问MATLAB和Simulink这台机器上安装文件夹。金宝app获得访问,你的PATH环境变量必须包含/ bin和/bin/(拱美元),在(拱)代表您的操作系统体系结构。例如,对于个人电脑上运行Windows平台,(ARCH)美元是“win64”,而对于一个Linux机器,(ARCH)美元是“glnxa64”。

  • 在GNU®Linux®平台,运行一个RSim可执行文件,定义LD_LIBRARY_PATH环境变量提供MATLAB安装文件夹的路径,如下:

    % setenv LD_LIBRARY_PATH / matlab / sys /操作系统/ glnx64: LD_LIBRARY_PATH美元

  • 苹果Macintosh OS X平台,运行RSim目标可执行文件,必须定义环境变量DYLD_LIBRARY_PATH包含文件夹bin / macsys /操作系统/ mac在MATLAB下安装文件夹。例如,如果您的MATLAB下安装MATLAB /,添加/ MATLAB / bin / mac/ MATLAB / sys / mac os /的定义DYLD_LIBRARY_PATH

为快速模拟设置时钟时间限制

如果一个模型经历频繁的零交叉和模型的较小的步长很小,考虑为快速模拟设定一个时间限制。设置时间限制,指定- l选择与一个正整数的值。仿真后中止运行指定的时钟时间(不是模拟时间)。例如,

! rtwdemo_rsimtf - l 20

基于你的时钟,在可执行文件运行20秒钟后,程序终止。您将看到一条消息类似于下列之一:

  • 在Microsoft Windows平台上,

    退出计划,期限超过日志可用数据……
  • 在Open Group UNIX®平台,

    * *收到SIGALRM信号(报警)@星期五2003年7月25日15:43:23 * *退出模型vdp @ 15:43:23 2003年7月25日星期五

你不需要做任何模型或其配置使用此选项。

覆盖一个模型仿真停止时间

默认情况下,快速模拟运行,直到仿真时间到达指定的配置参数对话框中,在解算器窗格。您可以覆盖模型模拟使用的停止时间- tf选择。例如,下面的模拟运行,直到达到6.0秒的时间。

! rtwdemo_rsimtf - tf 6.0

RSim目标停止使用MAT-file数据日志和日志输出数据的规则。

如果模型包括一个从文件块,模拟结束由停止时间设置中指定配置参数对话框中,在解算器窗格中,或与RSim目标选择- tf。块的时间向量中的值将被忽略。然而,如果模拟时间超过时间和信号的端点矩阵(如果最后一次的最后一次值大于数据矩阵),信号数据外推到最后的时间价值。

参数向量解读快速仿真

读取模型参数向量为快速模拟,您必须首先创建一个MAT-file包括描述的参数结构创建一个包含一个MAT-File模型参数结构。然后,您可以在命令行指定MAT-file- p选择。

例如:

  1. 建立一个RSim可执行示例模型rtwdemo_rsimtf

  2. 修改模型参数并保存参数结构。

    param_struct = rsimgetrtp (“rtwdemo_rsimtf”);保存myrsimdata.matparam_struct
  3. 运行可执行新的参数集。

    ! rtwdemo_rsimtf - p myrsimdata.mat
    * *开始模型“rtwdemo_rsimtf”@星期二2005年12月27日12:30:16 rtwdemo_rsimtf创建* *。垫* *
  4. 负载工作空间变量和情节仿真结果通过输入以下命令:

    负载myrsimdata.mat情节(rt_yout)

指定新的信号数据文件从文件块

如果你是一个模型的输入数据来源从文件块,你可以喂阻止与输入数据模拟单个MAT-file或你可以改变MAT-file从一个仿真。每个MAT-file必须坚持中描述的格式为一个从文件创建一个MAT-File块

改变MAT-file初始仿真后,你指定的可执行文件- f选择和一个oldfile.mat =newfile中.mat参数,如以下示例所示。

  1. MATLAB的工作区中设置一些参数。例如:

    w = 100;θ= 0.5;
  2. 建立一个RSim可执行示例模型rtwdemo_rsimtf

  3. 运行可执行文件。

    rtwdemo_rsimtf !

    RSim可执行文件运行一组模拟并创建输出mat文件包含特定的仿真结果。

  4. 负载工作空间变量和情节仿真结果通过输入以下命令:

    负载rtwdemo_rsimtf.mat情节(rt_yout)

    由此产生的情节显示仿真结果基于默认的输入数据。

  5. 创建一个新的数据文件,newfrom.mat,包括以下数据:

    t = [0: .001:1];u =罪(100 * t。* t);你= (t, u);保存newfrom.mat;
  6. 运行一个快速仿真与新数据使用- f选择替换原来的文件,rsim_tfdata.mat,newfrom.mat

    ! rtwdemo_rsimtf - f rsim_tfdata.mat = newfrom.mat
  7. 加载数据并画出新的结果通过输入以下命令:

    负载rtwdemo_rsimtf.mat情节(rt_yout)

    下一个图显示了生成的阴谋。

从文件块需要输入数据的类型。如果你需要进口以外的信号数据的数据类型,使用一个尺寸块(见创建一个MAT-File轮廓尺寸的块)或从指定的工作区与数据块结构。

工作空间数据必须的格式:

变量。时间变量。信号。值

如果你有一个以上的信号,使用以下格式:

变量。时间变量。信号(1).values variable.signals(2).values

为一个尺寸块指定信号数据文件

如果你的模型的输入数据来源是一个尺寸块,你可以喂阻止与输入数据模拟单个MAT-file或你可以改变MAT-file从一个仿真。每个MAT-file必须遵守所描述的三种格式之一创建一个MAT-File轮廓尺寸的块

指定MAT-file模拟后,你指定的可执行文件-我选项,MAT-file的名称包含输入数据。例如:

  1. 打开模型rtwdemo_rsim_i

  2. 检查参数设置轮廓尺寸的块。以下尺寸块数据参数设置和规格您指定的工作空间变量MAT-file必须匹配设置,如示港口提供配置模拟源数据:

    • 主要>插入数据

    • 信号的属性>港维

    • 信号的属性>数据类型

    • 信号的属性>信号类型

  3. 构建的模型。

  4. 设置输入信号。例如:

    t =(0:0.01:2 *π)';s1 = [2 * sin (t) 2 * cos (t));s2 =罪(2 * t);s3 = [0.5 * sin (3 * t) 0.5 * cos (3 * t)];情节(t (s1, s2 s3))

  5. 准备MAT-file通过使用一个可用的三个文件格式描述创建一个MAT-File轮廓尺寸的块。下面的例子定义了一个工作区signal-and-time结构和名称var_single_struct

    t =(0:0.1:2 *π)';var_single_struct.time = t;var_single_struct.signals (1) . values (: 1) = 2 * sin (t);var_single_struct.signals (1) . values (:, 2) = 2 * cos (t);var_single_struct.signals (2) . values =罪(2 * t);var_single_struct.signals (3) . values (: 1) = 0.5 * sin (3 * t);var_single_struct.signals (3) . values (:, 2) = 0.5 * cos (3 * t);v = [var_single_struct.signals (1) . valuesvar_single_struct.signals (2) . valuesvar_single_struct.signals (3) . values);
  6. 保存工作空间变量var_single_struct对MAT-filersim_i_single_struct

    保存rsim_i_single_struct.matvar_single_struct;
  7. 运行一个快速仿真输入数据使用-我选择。加载和绘制结果。

    ! rtwdemo_rsim_i我rsim_i_single_struct.mat
    * *开始模型“rtwdemo_rsim_i”@星期二2014年8月19日10:26:53 * * * rsim_i_single_struct。垫子是成功加载!* * * * * rtwdemo_rsim_i创建。垫* *** Execution time = 0.02024185130718954s
  8. 加载和绘制结果。

    负载rtwdemo_rsim_i.mat情节(rt_tout rt_yout);

改变块RSim仿真参数

中描述的创建一个包含一个MAT-File模型参数结构之后,你改变一个或多个参数在仿真软件框图,可以提取参数向量,金宝app模型_P整个模型。然后您可以保存参数向量,连同一个模型校验和,MAT-file。这个MAT-file可以由独立的直接读RSim可执行文件,允许您替换整个参数向量和个人参数值,为运行参数值代表系数变化的研究,新的数据为输入信号,等等。

RSim可以阅读MAT-file和替换整个模型_P每次修改一个或多个结构参数,不用重新编译整个模型。

例如,假设你改变一个或多个参数模型,生成的新模型_P向量,并保存模型_P一个新的MAT-file叫做mymatfile.mat。运行相同的rtwdemo_rsimtf模型和使用这些新的参数值,使用- p选项,如以下示例所示:

! rtwdemo_rsimtf - p mymatfile.mat负载rtwdemo_rsimtf情节(rt_yout)

如果你有转换的参数结构单元阵列在不同的数据集上运行模拟,所述转换为不同的数据集上运行模拟参数结构,你必须添加一个@n后缀MAT-file规范。n是细胞的元素数组,其中包含您想要使用的特定输入的模拟。

下面的例子将param_struct单元阵列,改变参数值,对MAT-file保存更改mymatfile.mat使用参数值,然后运行可执行单元阵列的第二个元素作为输入。

param_struct = rsimgetrtp (“rtwdemo_rsimtf”);param_struct = rsimsetrtpparam (param_struct 2);param_struct.parameters {1}
ans = dataTypeName:“双”dataTypeId: 0复杂:0 dtTransIdx: 0值:(-140 -4900 0 4900)地图:[]structParamInfo: []
param_struct.parameters {2}。值=[-150 -5000 0 4950]; savemymatfile.matparam_struct;! rtwdemo_rsimtf - p mymatfile.mat@2 -o rsim2.mat

指定一个新的模拟输出文件的名字

如果你有指定的一个或多个保存到工作空间参数- - - - - -时间,,输出,或最终状态——在配置参数对话框中,在数据导入/导出面板,默认是模拟测井结果保存到文件中模型.mat。例如,示例模型rtwdemo_rsimtf通常保存数据rtwdemo_rsimtf.mat,如下所示:

rtwdemo_rsimtf !创建rtwdemo_rsimtf.mat

您可以指定一个新的输出文件名称使用的数据记录- o当您运行一个可执行的选项。

! rtwdemo_rsimtf - o rsim1.mat

在这种情况下,参数的设置提供了代码生成的时候,包括文件块数据参数,运行。

指定新输出文件名文件块

几乎以相同的方式,您可以指定一个新的系统输出文件名,您还可以提供新的输出文件名保存从一个或多个数据文件块。要做到这一点,指定原始文件名称的代码生成一个新名字,如以下示例所示:

! rtwdemo_rsimtf - t rtwdemo_rsimtf_data.mat = mynewrsimdata.mat

在这种情况下,假设原始模型数据到输出文件中写道rtwdemo_rsimtf_data.mat。指定一个新的文件名迫使RSim写入文件mynewrsimdata.mat。使用这种技术,您可以避免覆盖现有的模拟运行。

调优参数交互在快速仿真

RSim系统目标文件的目的是让你以最快的速度运行批处理模拟。利用变步或固定步解决与系统目标文件和一个可调参数的数据结构,你是否设置默认参数的行为可调内联,您可以创建多个参数集。您可以运行生成的可执行程序(数据集。exe在Windows上)。每次调用可执行程序允许规范的文件名称使用的结果。

对于这个示例,默认参数的行为被设置为内联。模型声明工作空间变量的可调参数。使用RSim系统目标文件默认参数的行为设置为可调,没有显式地声明可调参数,请参阅运行批处理模拟不重新编译生成的代码

打开示例模型

打开示例模型rtwdemo_rsim_param_tuning

open_system (“rtwdemo_rsim_param_tuning”);

这个模型使用RSim和目标rsimgetrtp函数允许一个非实时执行通过新的数据,而不需要重新编译仿真软件模型。金宝app这个特性允许您获取的地图中声明的可调参数模型并将其保存在一个MAT-file。然后您可以创建自己的MATLAB GUI或一个独立的GUI(独立于MATLAB)读写MAT-file并重新运行可执行产生新的输出文件。

在模型中,双击按钮顺序运行的例子。

审查代码用于创建MATLAB的图形界面和独立的图形界面,双击视图MATLAB程序按钮。

有关更多信息,请参见加速,完善和测试混合动态系统在主机通过RSim系统目标文件

快速模拟目标的局限性

RSim目标有以下限制:

  • 不支持代数循环。金宝app

  • 不支持金宝app解释MATLAB函数块。

  • 不支持noninl金宝appined MATLAB语言和Fortran S-functions。

  • 如果一个RSim构建包括引用模型(通过使用模型块),建立这些模型使用固定的解决来生成代码。前模型,然而,可以使用变步解算器,只要引用的模型是离散的块。

  • 在某些情况下,块参数的改变可能导致结构性变化模型,改变模型校验和。这种变化的一个例子是改变延迟DSP模拟的数量。在这种情况下,你必须重新生成的代码模型。

相关的话题