Simulink-采样时间详解

一、Moudel仿真步长设置

点击Moudling->Model Settings,设置求解器的参数。

1.1 红圈1-开始和结束时间

设置仿真开始和结束的时间

1.2 红圈2-选择求解器

Type:分为Fixed-step(固定步长)和Variable-step(变步长)两种。

 Slover:求解器,没有特殊需求,选择auto即可,运算速度会自动优化。

1.3 红圈3-

Type:Fixed-step(固定步长),则红圈3设置固定步长基础采样时间;

 Type:Variable-step(变步长),则会多出Zero-crossing option选项;

1.4 红圈4-任务和采样时间选项

周期采样时间约束:无约束

把每个离散的速率看作一个单独的任务

允许任务在目标上

并发执行自动处理数据传输的速率转换

priority值越高,任务优先级越高

对于Slover更加详细的内容,可以点击Slover窗格详情页

二、Block采样时间设置

通常许多模块会有一个采样时间,用于设置该模块产生的信号被采样时的更新速度。

sample time详情
-1表示继承输入信号的采样时间,若没有输入信号,继承父层模型采样时间;如果模块无输入信号且本身处于顶层模型中,则继承系统解算器的步长。
0表示连续采样时间
非0正数表示离散采样时间,例如0.01意思是我们输入的信号采样周期是0.01秒。
inf无穷大采样时间,即不采样,即常数模块
包含两个元素的数组[sampletime,offset]例如填入[0.2,0.01],此时表示采样周期是0.2秒,但是不是从零时刻开始采样的,而是从0.01秒处开始采样的,即采样时间点为:0.01,0.21,0.41等等。

三、S函数采样时间

sample time详情
[0,0]连续采样时间
[-1,0]继承S函数输入信号或父层模型的采样的采样时间
[0.5,0.1]离散采样时间,从0.1秒开始每0.5秒采集一次

四、固定步长

指定所选固定步长求解器使用的步长大小。

  • 设置

默认为:auto

auto:在此字段中输入(默认值)会导致 Simulink 选择步长大小。

如果模型指定了一个或多个周期性采样时间,Simulink 将选择一个等于指定采样时间的最大公约数的步长。此步长(称为模型的基本采样时间)可确保求解器在模型定义的每个采样时间执行一个步骤。

如果模型未定义任何周期性采样时间,Simulink 将选择一个步长,将总仿真时间划分为 50 个相等的步长

如果模型未指定周期性速率和停止时间 ,则 Simulink 使用 0.2 作为步长。否则,它将固定步长大小设置为Inf

 对于正弦和信号发生器源块,如果停止时间为 ,Simulink 使用以下启发式方法计算步长:

 否则,步长为:

  Freq.max是模型中这些块的最大频率 (Hz)。

 五、查看整体采样时间方法

单击鼠标左键,选择下图选项,即可看到相应的界面。

 选中某个采样时间,那么simulink就会显示采用该采样时间的模块。

### Simulink 中元件采样时间设置与配置 在 Simulink 中,元件的采样时间是一个非常重要的参数,它决定了该模块何时以及如何执行其功能。对于涉及电气系统的仿真,`Powergui` 的采样时间尤为重要,因为它直接影响到整个电气模型的数据更新频率和精度。 #### 1. Powergui 模块的采样时间设置 `Powergui` 是用于电力系统仿真的核心组件之一,它的采样时间定义了电气信号的更新速率。较短的采样时间能够提高仿真精度,但也可能增加计算负担[^1]。 要调整 `Powergui` 的采样时间,可以按照以下方式操作: - 打开包含电力系统的子系统。 - 查找并双击 `Powergui` 模块。 - 在弹出的窗口中找到 **Simulation Type** 和 **Sample Time** 参数。 - 将 **Sample Time** 设置为你期望的时间间隔(单位为秒),例如 `0.0001` 表示每 0.1ms 更新一次数据。 需要注意的是,`Powergui` 的采样时间仅影响与其关联的电气信号,而不会干扰其他非电气部分的仿真行为。 #### 2. 单个模块的采样时间设定 除了全局性的 `Powergui` 时间外,单个模块也可以独立指定自己的采样时间。这通常通过模块属性对话框完成。例如,在随机数生成器 (`Random Number`) 的案例中,可以通过以下步骤来设置采样时间- 添加一个 `Random Number` 模块到模型中。 - 双击此模块进入参数编辑模式。 - 修改 **Sample time** 字段以适应特定的需求,如设为 `-1` 使用继承自父级系统的默认值,或者手动输入具体的数值(如 `0.01` 秒)[^2]。 #### 3. 多种采样时间共存的情况处理 在一个复杂的 Simulink 模型里可能存在多个不同的采样率。当这些不同步长共同作用于某个共享节点时,默认会采用其中较大的那个作为最终的实际运行周期。因此设计者需特别留意各环节间的协调关系以免造成不必要的误差累积。 #### 示例代码展示 下面给出一段简单的 MATLAB 脚本用来验证上述理论: ```matlab % 创建一个新的空白模型 new_system('myModel'); % 插入必要的基础构建单元 add_block('simulink/Sources/Step', 'myModel/Step'); add_block('simulink/Math Operations/Gain', 'myModel/Gain'); add_block('simulink/Sinks/Scope', 'myModel/Scope'); % 设定增益系数及阶跃源初始条件 set_param('myModel/Gain','Gain','2') set_param('myModel/Step','SampleTime','.1') % 开始模拟过程查看效果 open_system('myModel') sim('myModel') ``` 以上脚本创建了一个基本反馈回路,并设置了固定步长 `.1s` 给 Step 输入源以便观察输出变化趋势。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

珞瑜·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值