对 Simulink 模型进行仿真 |
您所在的位置:网站首页 › 小汤锅哪个牌子好 › 对 Simulink 模型进行仿真 |
打开实时脚本 当您使用 Simulink.SimulationInput 对象数组来配置一组仿真时,只需调用一次 sim 函数即可使用快速重启运行一组仿真。快速重启通过在各次仿真运行之间保持模型编译来节省仿真时间。 打开模型 IntegrateSine。该模型使用 Integrator 模块对 Sine Wave 模块的输出进行积分。Integrator 模块的输出连接到 Outport 模块。 mdl = "IntegrateSine"; open_system(mdl)假设您要运行一组(包含六个)仿真,每个仿真对 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).youtyoutPt5 = 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. |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |