我是靠谱客的博主 清秀小海豚,最近开发中收集的这篇文章主要介绍Simulink-采样时间详解一、Moudel仿真步长设置二、Block采样时间设置三、S函数采样时间四、固定步长 五、查看整体采样时间方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、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-采样时间详解一、Moudel仿真步长设置二、Block采样时间设置三、S函数采样时间四、固定步长 五、查看整体采样时间方法的全部内容,希望文章能够帮你解决Simulink-采样时间详解一、Moudel仿真步长设置二、Block采样时间设置三、S函数采样时间四、固定步长 五、查看整体采样时间方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部