本文目录导航:
仿真太慢?并行来减速 (二)(Simulink 实时并行仿真)
在Simulink实时并行仿真中,咱们须要面对一个经常出现矛盾:模型的复杂性与提高精度的同时,却受限于CPU计算才干。
为了在保障模型复杂度和精度的同时优化性能,可以驳回裁减计算资源,经过应用多核CPU或多个CPU来成功更复杂的模型运转或以更小的步长启动更准确的模拟。
Simulink的多核编程性能为成功这一指标提供了便利。
实时仿真基于代码生成,Simulink模型部署到Speedgoat实时配件系统时,可以充沛应用多核CPU的长处。
部署环节分为两种状况:一是按模型中的不同速率划分义务,成功并行;二是经过人工干预,将义务调配到原子子系统或model reference系统中,成功义务的并行处置。
关于复杂系统,如光伏发电系统实时并行仿真,可以将整个系统合成为光伏发电系统和电网等效模型两个子系统。
经过设置模型下载到Speedgoat并运转,咱们能够观察到模型的CPU期间消耗状况。
在实践运转中,模型在单核CPU上运转时,计算单步所需期间凑近25us,最高可达40us,这曾经超越了Powergui中设置的25us要求,造成存在Overrun状况,不可到达实时要求。
为处置这一疑问,可以将模型启动修正,使其在不同CPU核上并行运转。
经过将模型宰割为不同的原子子系统或model reference系统,可以将义务调配到不同的CPU核上,从而在更短的期间内成功计算。
详细成功步骤包含模型宰割、义务创立、义务调配和多核运转等。
在模型宰割阶段,须要将模型中的模块复制到不同的模型,并经常使用model reference成功模型集成。
关于Simscape构建的物理模型,首先需启动模型解耦,以允许义务的划分。
物理模型的解耦可以经常使用特定的技术,将物理模型合成为多个物理网络,经过Simulink信号启动消息互联。
解耦环节中,可以经常使用Simscape技术的解耦模块或许Decoupling Line模块来成功,以缩小解耦对系统的影响,并应用Powergui的智能化工具来简化解耦环节。
在成功模型宰割和解耦后,经过性能义务并将其调配给不同的CPU核,可以成功模型的多核运转。
这将清楚提高模型的运转速度,确保整个系统的实时性。
经过对光伏发电系统实时并行仿真的通常,可以看到在多核CPU上运转后,计算期间清楚降低,最大计算期间降低至13us,有效满足了实时要求。
经过驳回并行化战略,如在Simulink中成功模型的实时并行仿真,不只能够处置模型复杂性与精度要求之间的矛盾,还能有效优化仿真效率,满足实时系统的性能需求。
matlab simulink 系统仿真步长怎样设置?
在MATLAB的Simulink系统中,要调整仿真步长,你须要进入simulation-configuration parameters设置界面。
自动状况下,步长驳回的是可变的(variable-step)智能形式(auto),即系统会智能调整步长以保障仿真精度。
但假设你想指定固定的步长,你须要将variable-step形式改为fixed-step,而后在step size(fundamental sample time)选项中输入你想要的步长值。
Simulink作为MATLAB中的一款弱小的仿真工具,它以可视化的形式协助用户设计和剖析灵活系统,无论触及的是线性、非线性系统、数字管理还是信号处置。
它允许延续、团圆或混合采样期间,顺应多速率系统的需求。
经过图形用户界面,用户只有繁难的鼠标操作就能构建复杂模型,实时看到仿真结果,直观且高效。
Simulink的实用范围宽泛,涵盖通信、管理、信号处置等多个畛域,提供交互式图形化环境和丰盛的模块库,繁难用户设计、仿真、口头和测试各种时变系统。
它与MATLAB深度集成,用户可以间接应用MATLAB的各种工具启动算法研发、仿真剖析、脚本创立,以及定义信号参数和测试数据,极大地优化了设计和验证上班的便利性。
SUMO与Python/Matlab/Simulink的联结仿真方法
总结了SUMO与Python、Matlab、Simulink的联结仿真方法,详细步骤如下:
一、SUMO与Python的联结仿真
1.1 性能Python环境与SUMO环境变量,确保SUMO的bin门路增加至path,创立SUMO_HOME变量指向SUMO文件夹。
1.2 衔接SUMO与Python,找到SUMO的tool文件夹门路,创立文件,将门路放入Python的site-packages文件夹中,经过Python脚本验证traci接口。
1.3 经常使用traci接口在Python中调用SUMO基本方法,如测量车速和减速度。
二、SUMO与Matlab的联结仿真
2.1 性能环境,选用MATLAB和SUMO版本,确保MATLAB版本新于SUMO版本。
2.2 性能环境变量,设置SUMO_HOME和SUMO的工具目录,下载traci4matlab插件并集成至MATLAB中。
2.3 调用SUMO方法,经过traci接口在MATLAB中管理SUMO模拟,成功数据交互。
三、SUMO与Simulink的联结仿真
3.1 引见经常使用Simulink的Level-2 S-Function接口与SUMO联结,成功灵活数据交互。
3.2 形容Simulink模型的结构和参数性能,包含经常使用step模块管理期间,sumo_test模块口头MATLAB函数,以及输入模块向MATLAB导出数据。
3.3 详细解释Level-2 S-Function的代码成功,包含外部信号处置和外部函数结构。
3.4 提出封装成模块的思绪,缩小重复代码,便于修正和复用。
经过这些步骤,开发者可以成功SUMO与Python、Matlab、Simulink的联结仿真,满足不同场景下的交通仿真需求。