我是靠谱客的博主 活力小霸王,最近开发中收集的这篇文章主要介绍MATLAB搭建s函数前言准备参考视频参考文章过程仿真模型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 前言
  • 准备
  • 参考视频
  • 参考文章
    • 搭建模型
  • 过程
    • 初始化函数
    • 连续状态求导(微分)
    • 输出函数
  • 仿真模型

前言

最近在学习利用MATLAB来搭建s函数,记录一下。

准备

  • MATLAB R2020a

参考视频

S-Function/S函数,一个实例带你直接上手

参考文章

S-Function 入门
S函数的学习
关于 matlab 的 s 函数的 DirFeedthrough

搭建模型

在这里插入图片描述

过程

打开matlab,在命令行输入

edit sfuntmpl.m

然后弹出一个s函数的模板,如下图所示,
然后再创建3个M文件,分别命名为plant、ctrl和parameters。暂时是空白的,如下图所示
在这里插入图片描述
然后把模板的代码复制一下,分别粘贴到plant和ctrl的M文件里。
接下来把函数名更改成文件名
在这里插入图片描述
更改后
在这里插入图片描述
ctrl的文件类同。

在parameters的M文件输入下列参数,也就是结构体,可以将其视为常数。
在这里插入图片描述
把pa结构体加载进工作区(执行一下M文件,struct就是结构体的意思)
在这里插入图片描述

接着,把结构体传入函数
在这里插入图片描述
—t:当前时间
—x:状态向量(列向量),形如 x = [ x 1 , x 2 , ⋅ ⋅ ⋅ ⋅ , x n ] T x=[x_1,x_2,····,x_n]^mathsf{T} x=[x1,x2,⋅⋅⋅⋅,xn]T
—u:输入向量
—flag:标志位,标志指示S函数要执行的任务的整数值,不同的整数值调用不同的函数,如下图所示,值是0就选择初始化函数,是1就选择求导函数
—pa:传入的结构体

在这里插入图片描述

初始化函数

在这里插入图片描述
记得把结构体pa传入函数

在这里插入图片描述
—NumContStates:连续状态数(模型有两个状态变量 d x 1 mathrm{d}x_1 dx1 d x 2 mathrm{d}x_2 dx2
—NumDiscStates:离散状态数(连续模型)
—NumOutputs:输出数量( x 1 x_1 x1 x 2 x_2 x2
—NumInputs:输入数量u
—DirFeedthrough:直接馈通标志(输出是否由输入u控制,1是,0否)
比如,用输出状态方程描述:y=Cx+Du,如果D不是零,那么输出就是由输入控制
—NumSampleTimes:采样次数(一般情况下填1)

在这里插入图片描述

—x0 = [0 0]:初始状态变量设置为零
—str = []:保留参数,变量设置为空(未来可能使用)
—ts = [0 0]:ts = [Ts, To],其中 Ts 是采样期间,To 是初始时间偏移量。表示从零时刻开始,每隔零秒进行采样,也就是连续系统。一个离散模型每隔两秒生成一次输出,ts = [2, 0]。如下图所示
在这里插入图片描述

连续状态求导(微分)

在这里插入图片描述
记得把结构体pa传入函数

在这里插入图片描述
x(1)和x(2)指的是传入x中的 x 1 和 x 2 x_1和x_2 x1x2,sys是返回dx1和dx2,也就是搭建模型。

输出函数

输出函数输出向量x,也就是 x 1 和 x 2 x_1和x_2 x1x2
在这里插入图片描述

仿真模型

因为我们只是写了plant的M文件,所以点击simulink的库浏览器选择s函数模型,然后双击模型,更改如下图所示,名字为函数的名字plant,参数为结构体pa。
在这里插入图片描述
因为搭建的模型是为了比较x1d趋近于x1的程度,整个模型的搭建可以参考视频,下面是加入ctrl的M文件后,模型的最终结果

  • plant:被控对象
  • ctrl:控制器
  • x1d: x 1 d 的导数 x_1d的导数 x1d的导数
  • dx1d: x 1 d 的二阶导 x_1d的二阶导 x1d的二阶导
    在这里插入图片描述

最后

以上就是活力小霸王为你收集整理的MATLAB搭建s函数前言准备参考视频参考文章过程仿真模型的全部内容,希望文章能够帮你解决MATLAB搭建s函数前言准备参考视频参考文章过程仿真模型所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部