Main Content

sim

Simulink 模型的运行和脚本化编程仿真

说明

Simulink.SimulationInput 对象语法

示例

simout = sim(simin) 根据在一个或多个 Simulink.SimulationInput 对象上定义的属性,运行 Simulink® 模型的一个或多个仿真。

  • 如果 simin 是标量 Simulink.SimulationInput 对象,则 simout 是标量 Simulink.SimulationOutput 对象。

  • 如果 simin 是由 Simulink.SimulationInput 对象组成的向量、矩阵或数组,则 simout 是与 simin 具有相同维数的由 Simulink.SimulationOutput 对象组成的向量、矩阵或数组。

您可以使用 SimulationInput 对象来配置仿真的选项和输入,包括:

  • 要仿真的模型

  • 外部输入数据的源变量或文件

  • 用于仿真的模块参数值

  • 用于仿真的模型配置参数值

SimulationInput 对象的属性修改模型或模块参数值时,该值将在仿真期间修改,并在仿真结束时还原。

当您使用 SimulationInput 对象配置程序化仿真时,您可以轻松地从使用 sim 函数转换为使用其他函数,如 parsimbatchsim

有关详细信息,请参阅以编程方式运行仿真

simout = sim(simin,Name=Value) 根据 Simulink.SimulationInput 对象 simin 上定义的属性仿真模型,并使用由一个或多个名称-值参量指定的附加选项。

有关 Simulink.SimulationInput 语法支持的名称-值参量列表,请参阅Simulink.SimulationInput 对象语法

模型语法

示例

simout = sim(mdl) 使用模型的当前配置参数和模块参数值仿真由 mdl 指定的模型。

simout = sim(mdl,Name=Value) 使用指定的选项仿真模型 mdl,并使用由一个或多个名称-值参量指定的选项。例如,通过将参数名称和值指定为名称-值参量,可以修改仿真的模型配置参数值。

当您通过向 sim 函数提供输入来修改模型配置参数时,这些更改将在仿真期间应用,并在仿真结束时还原。

有关模型语法支持的名称-值参量列表,请参阅模型语法

示例

simout = sim(mdl,paramstruct) 使用由结构体 paramstruct 指定的模型配置参数值仿真模型 mdl

示例

simout = sim(mdl,configset) 使用配置集 configset 中的模型配置参数值仿真模型 mdl

示例

全部折叠

您可以使用 Simulink.SimulationInput 对象来存储独立于仿真模型的仿真配置。Simulink.SimulationInput 对象中的配置将应用于仿真模型。仿真后,任何发生更改的模型设置都将还原为原始值。

打开模型 IntegrateSine。该模型使用 Integrator 模块对 Sine Wave 模块的输出进行积分。Integrator 模块的输出连接到 Outport 模块。

The model IntegrateSine.

mdl = "IntegrateSine";
open_system(mdl)

创建一个 Simulink.SimulationInput 对象来存储模型 IntegrateSine 的仿真配置。

simIn = Simulink.SimulationInput(mdl);

使用 setModelParameter 函数将 SimulationInput 对象配置为使用 ode45 求解器并将仿真停止时间设为 20 秒。

simIn = setModelParameter(simIn,"Solver","ode45",...
    "StopTime","20");

使用 setBlockParameter 函数配置 SimulationInput 对象,将 Sine Wave 模块的振幅参数设置为 2

blk = strcat(mdl,"/Sine Wave");
simIn = setBlockParameter(simIn,blk,"Amplitude","2");

使用存储在 Simulink.SimulationInput 对象 simIn 中的配置对模型进行仿真。

out = sim(simIn);

该模型对 Sine Wave 模块使用 ode45 求解器,以 2 为振幅仿真 20 秒。

A Dashboard Scope block displays the input and output of the Integrator block.

当您使用 Simulink.SimulationInput 对象数组来配置一组仿真时,只需调用一次 sim 函数即可使用快速重启运行一组仿真。快速重启通过在各次仿真运行之间保持模型编译来节省仿真时间。

打开模型 IntegrateSine。该模型使用 Integrator 模块对 Sine Wave 模块的输出进行积分。Integrator 模块的输出连接到 Outport 模块。

mdl = "IntegrateSine";
open_system(mdl)

The model IntegrateSine.

假设您要运行一组(包含六个)仿真,每个仿真对 Sine Wave 模块使用不同频率值。创建一个包含各个仿真的频率值的向量。

freqs = [0.5 1 1.5 2 2.5 3];

当您要调节模块参数时,可以使用变量定义参数值。然后,通过更改变量值来调节模块参数。

定义变量 freq,将其用作 Sine Wave 模块的频率参数的值。对于初始变量值,可以使用当前参数值。

blk = mdl + "/Sine Wave";
freq = str2double(get_param(blk,"Frequency"));

将 Sine Wave 模块的 Frequency 参数值设置为 freq

set_param(blk,"Frequency","freq")

for 循环中,创建一个包含六个 Simulink.SimulationInput 对象的数组,并使用 setVariable 函数来配置每个对象以使用频率向量中的值。

for k = length(freqs):-1:1
    simIn(k) = Simulink.SimulationInput(mdl);
    simIn(k) = setVariable(simIn(k),"freq",freqs(k));
end

使用 sim 函数运行由 SimulationInput 对象 simIn 的数组定义的仿真。使用 UseFastRestart 名称-值参量启用快速重启。仅当第一个输入参量是 Simulink.SimulationInput 对象时,才支持 UseFastRestart 名称-值参量。要在第一个参量是模型名称时使用快速重启,请使用 FastRestart 名称-值参量。

out = sim(simIn,"UseFastRestart","on");
[28-Feb-2023 11:45:06] Running simulations...
[28-Feb-2023 11:45:11] Completed 1 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 2 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 3 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 4 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 5 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 6 of 6 simulation runs

要运行同一组仿真而不显示进度消息,请将 ShowProgress 名称-值参量指定为 off

out = sim(simIn,"UseFastRestart","on","ShowProgress","off");

要使用仿真管理器监控仿真的进度,请将 ShowSimulationManager 名称-值参量指定为 on。有关仿真管理器的详细信息,请参阅Simulation Manager

out = sim(simIn,"UseFastRestart","on",...
    "ShowProgress","off","ShowSimulationManager","on");

仿真输出 out 是包含每个仿真的元数据和结果的 Simulink.SimulationOutput 对象数组。输出数组中 SimulationOutput 对象的顺序与输入数组中 SimulationInput 对象的顺序匹配。例如,索引 1 处的 SimulationOutput 对象包含使用索引 1 处的 SimulationInput 对象配置的仿真的结果。

访问第一次仿真结果记录的输出信号,第一次仿真使用的频率值为 0.5

youtPt5 = out(1).yout
youtPt5 = 
Simulink.SimulationData.Dataset 'yout' with 1 element

                         Name    BlockPath             
                         ______  _____________________ 
    1  [1x1 Signal]      output  IntegrateSine/Outport

  - Use braces { } to access, modify, or add elements using index.

打开模型 IntegrateSine。该模型使用 Integrator 模块对 Sine Wave 模块的输出进行积分。Integrator 模块的输出连接到 Outport 模块。

mdl = "IntegrateSine";
open_system(mdl);

The model IntegrateSine.

使用当前配置参数值仿真模型。

out = sim(mdl);

仿真运行 10 秒,对振幅为 1 的正弦波求积分。

A Dashboard Scope block displays the input and output of the Integrator block.

您可以使用 set_param 函数修改模型中的模型配置参数值和模块参数值。

配置模型以使用 ode45 求解器并将仿真停止时间设为 20 秒。

set_param(mdl,"Solver","ode45","StopTime","20")

将 Sine Wave 模块的振幅参数设置为 2

blk = strcat(mdl,"/Sine Wave");
set_param(blk,"Amplitude","2")

当您使用 set_param 函数修改配置参数值或模块参数值时,更改会应用于模块图并弄脏模型文件。当您再次调用 sim 函数时,即使您没有保存模型,仿真也会使用新参数值,这些参数值是当前模型配置的一部分。

out2 = sim(mdl);

仿真运行 20 秒,对振幅为 2 的正弦波求积分。

A Dashboard Scope block displays the input and output of the Integrator block.

通过将仿真的配置参数指定为 sim 函数的名称-值参量,可以将模型的仿真配置为使用不同模型配置参数值。您指定的参数值将应用于仿真,并在仿真完成时还原。

您只能将模型配置参数值指定为 sim 函数的名称-值参量,而不能将模块参数值指定为参量。要在单一输入中指定仿真的模型配置参数值、模块参数值和变量值,请改用 Simulink.SimulationInput 对象。

打开模型 IntegrateSine。该模型使用 Integrator 模块对 Sine Wave 模块的输出进行积分。Integrator 模块的输出连接到 Outport 模块。

mdl = "IntegrateSine";
open_system(mdl);

The model IntegrateSine.

假设您要使用 ode45 求解器和 20 秒的仿真停止时间对模型进行仿真。指定仿真的 SolverStopTime 值作为 sim 函数的名称-值参量。

out = sim(mdl,"Solver","ode45","StopTime","20");

该模型使用求解器 ode45 进行仿真,直到到达仿真时间 20 秒处。

A Dashboard Scope block displays the input and output of the Integrator block.

您可以使用由模型配置参数的名称和值组成的结构体来配置模型的仿真。将结构体中的配置参数值应用于模型进行仿真。仿真后,任何发生更改的模型设置都将还原为原始值。

结构体输入只能指定模型配置参数值,而无法指定要在仿真中使用的不同模块参数或变量值。要在单一输入中指定仿真的模型配置参数值、模块参数值和变量值,请改用 Simulink.SimulationInput 对象。

打开模型 IntegrateSine。该模型使用 Integrator 模块对 Sine Wave 模块的输出进行积分。Integrator 模块的输出连接到 Outport 模块。

mdl = "IntegrateSine";
open_system(mdl)

The model IntegrateSine.

创建结构体 SimConfig,该结构体将仿真配置为使用 ode45 求解器且仿真停止时间为 20 秒。对于要在仿真中修改的每个配置参数,该结构体都包含一个对应的字段。每个字段的名称与对应的参数的编程名称匹配。每个字段的值指定仿真中使用的该参数的值。

simConfig.Solver = "ode45";
simConfig.StopTime = "20";

使用结构体中的模型配置参数值仿真模型。

out = sim(mdl,simConfig);

该模型使用 ode45 求解器进行仿真,仿真时间 20 秒。

A Dashboard Scope block displays the input and output of the Integrator block.

Simulink.ConfigSet 对象存储一组模型配置参数值。您可以将 Simulink.ConfigSet 对象指定为 sim 函数的输入。该对象中的配置集将应用于要仿真的模型。在仿真后,模型中将还原原始配置集。

Simulink.Configset 对象仅存储模型配置参数值。要在单一输入中指定仿真的模型配置参数值、模块参数值和变量值,请改用 Simulink.SimulationInput 对象。

打开模型 IntegrateSine。该模型使用 Integrator 模块对 Sine Wave 模块的输出进行积分。Integrator 模块的输出连接到 Outport 模块。

mdl = "IntegrateSine";
open_system(mdl)

The model IntegrateSine.

使用 getActiveConfigSet 函数获取当前模型配置的 Simulink.ConfigSet 对象。

mdlConfig = getActiveConfigSet(mdl);

使用 copy 函数创建要修改的 Simulink.ConfigSet 对象的副本。

simConfig = copy(mdlConfig);

修改 Simulink.ConfigSet 对象 simConfig 以使用 ode45 求解器并将仿真停止时间设为 20 秒。

set_param(simConfig,"Solver","ode45","StopTime","20");

使用 Simulink.Configset 对象 simConfig 中的配置参数仿真模型。

out = sim(mdl,simConfig);

该模型使用 ode45 求解器进行仿真,仿真时间 20 秒。

A Dashboard Scope block displays the input and output of the Integrator block.

输入参数

全部折叠

仿真输入和配置,指定为一个 Simulink.SimulationInput 对象或一个 Simulink.SimulationInput 对象数组。SimulationInput 对象的属性指定在仿真中使用的选项和参数值,包括:

  • 要仿真的模型

  • 外部输入数据的源变量或文件

  • 用于仿真的模块参数值

  • 用于仿真的模型配置参数值

SimulationInput 对象的属性中定义的值将应用于仿真的模型,并在仿真结束时还原。

要仿真的模型,指定为定义模型名称的字符串或字符向量或模型句柄 (自 R2024a 起)

示例: simOut = sim("vdp") 使用模型中当前配置的参数值对名为 vdp 的模型进行仿真。

数据类型: char | string

要仿真的模型配置,指定为结构体。该结构体的字段是模型配置参数的名称。每个字段的值表示要在仿真中使用的参数值。例如,要从开始时间 5 到停止时间 10 对模型进行仿真,请创建以下结构体:

paramStruct.StartTime = "5";
paramStruct.StopTime = "10";

数据类型: struct

要仿真的模型配置,指定为 Simulink.ConfigSet 对象。

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: simout = sim(simin,UseFastRestart="on") 运行一组使用启用了快速重启的 Simulink.SimulationInput 对象数组配置的仿真。

示例: simout = sim(mdl,Solver="ode15s",StopTime="30") 配置模型 mdl 的仿真以使用停止时间为 30 秒的求解器 ode15s

sim 函数支持不同的名称-值参量,具体取决于您是将第一个输入指定为一个或多个 Simulink.SimulationInput 对象还指定为要仿真的模型的名称还是句柄。除了本页列出的参量之外,您还可以使用 sim 函数的输入来指定模型配置参数的值。

  • 当第一个输入参量是一个或多个 Simulink.SimulationInput 对象时,使用 setModelParameter 函数为输入对象上的仿真配置模型参数值。

  • 当第一个输入参量是模型名称或句柄时,将任何模型配置参数指定为名称-值参量。

Simulink.SimulationInput 对象语法

全部折叠

启用快速重启的选项,指定为 "off""on"。快速重启通过在适当时跳过编译和终止阶段来减少运行一组仿真所需的时间。有关详细信息,请参阅How Fast Restart Improves Iterative Simulations

当您通过指定 SimulationInput 对象数组单次调用 sim 函数来运行同一模型的多个仿真时,请考虑使用快速重启。

当您指定标量 SimulationInput 对象时,此参量不起作用。

仅当将 sim 函数的第一个输入参量指定为一个或多个 Simulink.SimulationInput 对象时,才支持此参量。

示例: sim(simIn,UseFastRestart="on")

数据类型: char | string

出现仿真错误时跳过后续仿真的选项,指定为 "off""on"。仅当您通过指定 Simulink.SimulationInput 对象数组作为第一个参量来单次调用 sim 函数以运行多个仿真时,此参量才起作用。

  • "off" - 如果发生仿真错误,软件会在仿真输出中捕获错误并继续运行任何后续仿真。

    例如,如果指定一个包含五个 SimulationInput 对象的向量,并且在第二个仿真期间出现错误,软件将在第二个仿真的输出中捕获错误并继续运行第三个、第四个和第五个仿真。

  • "on" - 如果发生仿真错误,软件会在仿真输出中捕获错误,但不运行任何后续仿真。

    例如,如果指定一个包含五个 SimulationInput 对象的向量,并且在第二个仿真期间出现错误,软件将在第二个仿真的输出中捕获错误,但不运行第三个、第四个和第五个仿真。sim 函数会为每个未运行的仿真返回一个空 Simulink.SimulationOutput 对象。

当您通过指定标量 SimulationInput 对象来运行单个仿真时,此参量不起作用。 (自 R2024a 起)

仅当将 sim 函数的第一个输入参量指定为一个或多个 Simulink.SimulationInput 对象时,才支持此参量。

示例: sim(simIn,StopOnError="on")

提示

  • 当您通过指定 SimulationInput 对象数组来运行多个仿真时,软件始终会为每个仿真启用 CaptureErrors 参数。对于使用 sim 函数运行的单个仿真,默认情况下 CaptureErrors 处于关闭状态。

  • 要控制软件是否通过指定标量 SimulationInput 对象来捕获运行的单个仿真的仿真输出中的错误,请使用 setModelParameter 函数为仿真指定 CaptureErrors 参数。 (自 R2024a 起)

  • 当您使用对 sim 函数的单次调用运行多个仿真时,或当您配置单个仿真以捕获仿真输出中的仿真错误时,您可以在仿真输出中查看有关错误和仿真的信息。

    • 要查看该消息,请使用 SimulationOutput 对象的 ErrorMessage 属性。

    • 有关该错误的详细信息,请使用 Simulink.SimulationMetadata 对象的 ExecutionInfo 属性。ErrorDiagnostic 字段包含有关错误的信息,包括发生错误的仿真阶段。

数据类型: char | string

指示仿真进度的选项,指定为 "off""on"

  • "off" - 仿真运行时不显示进度消息。

  • "on" - 仿真进行时显示进度更新。

此参数的默认值取决于第一个输入参量的大小:

  • 当第一个输入参量是标量 Simulink.SimulationInput 对象时,默认值为 "off"

  • 当第一个输入参量是 Simulink.SimulationInput 对象数组时,默认值为 "on"

仅当将 sim 函数的第一个输入参量指定为一个或多个 Simulink.SimulationInput 对象时,才支持此参量。

示例: sim(simIn,ShowProgress="on")

打开仿真管理器的选项,指定为 "off""on"。使用仿真管理器监控您运行仿真的进度。当您通过指定 Simulink.SimulationInput 对象数组运行多个仿真时,请考虑使用仿真管理器

仅当将 sim 函数的第一个输入参量指定为一个或多个 Simulink.SimulationInput 对象时,才支持此参量。

示例: sim(simIn,ShowSimulationManager="on")

模型语法

全部折叠

启用快速重启的选项,指定为 "on""off"

  • "on" - 支持快速重启以进行仿真。快速重启会在启用快速重启后为运行的第一个仿真编译模型后跳过编译和终止,从而节省迭代仿真工作流中的时间。

    使用此名称-值参量启用快速重启时,如果模型尚未在快速重启模式下完成初始化,软件将在运行仿真之前编译模型。在仿真结束时,模型会在快速重启模式下保持初始化状态。

  • "off" - 禁用仿真的快速重启。禁用快速重启后,每次运行仿真时,软件都会编译模型、初始化仿真、运行仿真,然后终止仿真。

默认情况下,快速重启处于禁用状态,使用 sim 函数运行的仿真不会启用快速重启。有关详细信息,请参阅How Fast Restart Improves Iterative Simulations

仅当将 sim 函数的第一个输入参量指定为模型名称或句柄时,才支持此参量。

示例: sim("myModel",FastRestart="on")

提示

  • 当您指定标量 SimulationInput 对象作为 sim 函数的第一个输入时,请使用 setModelParameter 函数在 SimulationInput 对象上指定此参数。 (自 R2024a 起)

  • 当您将一个 SimulationInput 对象数组指定为 sim 函数的第一个输入时,请通过指定 UseFastRestart 名称-值参量为这批仿真启用快速重启。

  • 如果在对快速重启模式下初始化的模型进行仿真时将此名称-值参量指定为 "off",软件将终止上一个仿真并在运行当前仿真之前编译模型。

  • 如果您使用 Simulink 编辑器set_param 函数启用快速重启,则即使您没有指定 FastRestart 名称-值参量,使用 sim 函数运行的仿真也会使用快速重启。

数据类型: char | string

发生仿真错误时捕获错误并返回仿真输出的选项,指定为 "off""on"

行为CaptureErrors="off"(默认值)CaptureErrors="on"
出现仿真错误时发出异常

软件会在出现仿真错误时发出异常。

该异常会停止发生错误的仿真和调用仿真的进程。

软件不会在出现仿真错误时发出异常。

出现仿真错误时会停止仿真。不过,如果另一个函数或脚本调用了仿真,该函数或脚本将继续执行。

错误报告

在 MATLAB® 命令行窗口中会报告仿真期间出现的错误。

仿真输出中会捕获有关仿真错误的信息,包括消息和发生错误的仿真阶段。

仿真结果

发出异常时会立即停止仿真。sim 函数不返回仿真结果。

sim 函数返回截止到错误发生的仿真时间的仿真结果和元数据。

仅当将 sim 函数的第一个输入参量指定为模型名称或句柄时,才支持此参量。

示例: sim("myModel",CaptureErrors="on")

提示

  • 软件在环 (SIL) 和处理器在环 (PIL) 仿真不支持此选项。

  • 当您指定标量 SimulationInput 对象作为 sim 函数的输入时,请使用 setModelParameter 函数在 SimulationInput 对象上指定此参数。 (自 R2024a 起)

  • 当您配置单个仿真以捕获仿真错误时,以及当您通过指定 SimulationInput 对象数组运行多个仿真时,您可以在仿真结果中查看有关错误和仿真的信息。

    • 要查看该消息,请使用 SimulationOutput 对象的 ErrorMessage 属性。

    • 有关该错误的详细信息,请使用 Simulink.SimulationMetadata 对象的 ExecutionInfo 属性。ErrorDiagnostic 字段包含有关错误的信息,包括发生错误的仿真阶段。

数据类型: char | string

启动编程仿真调试会话的选项,指定为 "off""on"

仅当将 sim 函数的第一个输入参量指定为模型名称或句柄时,才支持此参量。

示例: sim("modelName",Debug="on")

数据类型: char | string

禁用重新编译快速加速目标的选项,指定为 "on""off"。当您将此参量指定为 "on" 时,需要重新编译快速加速目标的更改将被忽略。使用此选项时,请仅修改不需要重新编译快速加速目标的选项。

仅当将 sim 函数的第一个输入参量指定为模型名称或句柄时,才支持此参量。

示例: sim("modelName",RapidAcceleratorUpToDateCheck="off")

提示

要为使用 Simulink.SimulationInput 对象配置的仿真指定此选项,请使用 setModelParameter 函数。

simIn = Simulink.SimulationInput("MyModel");
simIn = setModelParameter(simIn,RapidAcceleratorUpToDateCheck="off");

数据类型: char | string

最大仿真运行时间,指定为正标量。以秒为单位指定允许仿真运行的时间。如果仿真运行时间超出您指定的值,软件将发出警告并停止仿真。例如,如果将 TimeOut 指定为 30,则计算仿真结果所需的时间超过 30 秒时,软件将停止仿真并发出警告。

TimeOut 参数指定仿真运行的时钟时间限制。要指定仿真的最大时间值,请使用停止时间参数。

仅当将 sim 函数的第一个输入参量指定为模型名称或句柄时,才支持此参量。

示例: sim("MyModel",TimeOut=60) 将仿真配置为最长运行时间为 60 秒。

提示

  • 当您连续运行多个可变步长仿真时,请考虑指定超时。如果仿真条件对步长有限制,使得求解器开始采用许多非常小的时间步,则仿真会超时,以便后续仿真能够运行。

  • 要为使用 Simulink.SimulationInput 对象配置的仿真指定此选项,请使用 setModelParameter 函数。

    simIn = Simulink.SimulationInput("MyModel");
    simIn = setModelParameter(simIn,TimeOut=60);

仿真前显示参数摘要的选项,指定为 "siminfo"

仅当将 sim 函数的第一个输入参量指定为模型名称或句柄时,才支持此参量。

示例: sim("modelName",Trace="siminfo")

数据类型: char | string

输出参量

全部折叠

仿真结果和元数据,以 Simulink.SimulationOutput 对象、Simulink.SimulationOutput 对象数组或向量形式返回。Simulink.SimulationOutput 对象包含从仿真记录的所有数据以及有关仿真的元数据,包括计时信息和诊断。

当您将模型名称或句柄指定为唯一输入参量并且您仿真的模型禁用了单一仿真输出参数时,sim 函数的输出将是由仿真中发生的主时间步命中点组成的向量。为了确保 sim 函数以一致的格式返回任何语法的结果,请在启用单一仿真输出参数的情况下保存模型。

提示

  • 为确保 sim 函数以相同的格式为每种语法返回结果,请在启用单一仿真输出参数的情况下保存模型。启用此选项后,仿真结果将以一个或多个 Simulink.SimulationOutput 对象形式返回,每个对象都包含仿真的所有记录的数据仿真元数据,包括计时信息和诊断信息。以单个对象形式返回所有仿真数据和元数据有助于分析多个仿真的结果。

  • 要获取模型配置参数列表,请使用 getActiveConfigSet 函数和 get_param 函数。例如,要查看模型 vdp 的配置参数,请在 MATLAB 命令行窗口中输入以下命令。

    configSet = getActiveConfigSet("vdp");
    configSetNames = get_param(configSet,"ObjectParameters")

    get_param 函数返回所有模型配置参数的列表,例如 StopTimeSaveTimeSaveStateSaveOutputSignalLogging

  • 在仿真模型层次结构时,以 sim 函数的输入参量形式指定的模型配置参数将应用于顶层模型。

  • 使用 sim 函数运行仿真时,仿真会一直运行,直到出现错误或仿真到达指定的停止时间。要运行或脚本化编程仿真以便控制仿真执行和在仿真期间调节参数值,请使用 Simulation 对象。 (自 R2024a 起)有关详细信息,请参阅以编程方式运行仿真

  • 通过使用 set_param 函数发出仿真命令,您既可以使用 MATLAB 命令行窗口也可以使用 Simulink 编辑器与仿真进行交互。有关详细信息,请参阅以编程方式运行仿真

  • 当您仿真停止时间为无限长的模型时,通过按 Ctrl+C 键从 MATLAB 命令行窗口停止仿真。仿真停止,仿真结果不会保存在 MATLAB 工作区中。

  • 使用“配置参数”对话框配置时间、状态和输出的记录。在建模选项卡上的设置下,点击模型设置。然后,在“配置参数”对话框中,选择数据导入/导出

  • 要记录整个模型中的信号,请使用信号记录或记录模块,如 To Workspace 模块或 Record 模块。有关信号记录的详细信息,请参阅使用信号记录保存信号数据

版本历史记录

在 R2006a 之前推出

全部展开