当前位置: 首页 > article >正文

MATLAB filtic函数使用详解

MATLAB filtic函数使用详解

文章目录

  • 一、filtic函数输入输出说明
  • 二、数值计算例子
  • 三、MATLAB验证


提示:以下是本篇文章正文内容,转载请附上链接!

一、filtic函数输入输出说明

           \;\;\;\;\; filtic函数的调用格式为z = filtic(b,a,y,x)。其中
向量b是差分方程分子的系数;
向量a是差分方程分母的系数;
向量y是输出在0时刻之前的初始条件,即
y = [ y ( − 1 ) ,   y ( − 2 ) ,   y ( − 3 ) ,   . . .   ,   y ( − m ) ] y = [ y(-1),\ y(-2),\ y(-3),\ ...\ ,\ y(-m)] y=[y(1), y(2), y(3), ... , y(m)]
向量x是输出在0时刻之前的初始条件,即
x = [ x ( − 1 ) ,   x ( − 2 ) ,   x ( − 3 ) ,   . . .   ,   x ( − n ) ] x = [ x(-1),\ x(-2),\ x(-3),\ ...\ ,\ x(-n)] x=[x(1), x(2), x(3), ... , x(n)]
向量z是系统的初始状态,长度是向量x和向量y中长度的最大值。
           \;\;\;\;\; 如果系统是因果系统,则向量x显然为0,此时可省略x,直接用z = filtic(b,a,y)。

二、数值计算例子

           \;\;\;\;\; 假设现在有一个差分方程:
u ( n ) = − u ( n − 1 ) − 2 u ( n − 2 ) + v ( n ) + v ( n − 1 ) u(n) = -u(n-1)-2u(n-2)+v(n)+v(n-1) u(n)=u(n1)2u(n2)+v(n)+v(n1)
初始条件为:
u ( − 1 ) = u ( − 2 ) = v ( − 1 ) = 1 u(-1)=u(-2)=v(-1)=1 u(1)=u(2)=v(1)=1
假设激励全为1,现在求全响应,则我们可以写出下面这些式子:
{ u ( 0 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( 0 ) + v ( − 1 ) = − 1 u ( 1 ) = − u ( 0 ) − 2 u ( − 1 ) + v ( 1 ) + v ( 0 ) = 1 u ( 2 ) = − u ( 1 ) − 2 u ( 0 ) + v ( 2 ) + v ( 1 ) = 3 . . . \left\{ \begin{aligned} &u(0) = -u(-1)-2u(-2)+v(0)+v(-1) = -1&& \\ &u(1) = -u(0)-2u(-1)+v(1)+v(0) = 1 &&\\ &u(2) = -u(1)-2u(0)+v(2)+v(1) = 3 &&\\ &... &&\\ \end{aligned} \right. u(0)=u(1)2u(2)+v(0)+v(1)=1u(1)=u(0)2u(1)+v(1)+v(0)=1u(2)=u(1)2u(0)+v(2)+v(1)=3...
假设激励全为1,现在求零状态响应( u ( − 1 ) = u ( − 2 ) = v ( − 1 ) = 0 u(-1)=u(-2)=v(-1)=0 u(1)=u(2)=v(1)=0 ),则我们可以写出下面这些式子:
{ u ( 0 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( 0 ) + v ( − 1 ) = 1 u ( 1 ) = − u ( 0 ) − 2 u ( − 1 ) + v ( 1 ) + v ( 0 ) = 1 u ( 2 ) = − u ( 1 ) − 2 u ( 0 ) + v ( 2 ) + v ( 1 ) = − 1 . . . \left\{ \begin{aligned} &u(0) = -u(-1)-2u(-2)+v(0)+v(-1) = 1&& \\ &u(1) = -u(0)-2u(-1)+v(1)+v(0) = 1 &&\\ &u(2) = -u(1)-2u(0)+v(2)+v(1) = -1 &&\\ &... &&\\ \end{aligned} \right. u(0)=u(1)2u(2)+v(0)+v(1)=1u(1)=u(0)2u(1)+v(1)+v(0)=1u(2)=u(1)2u(0)+v(2)+v(1)=1...
filtic函数求得的初始状态为:
{ i n i t i a l ( 1 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( − 1 ) = − 2 i n i t i a l ( 2 ) = − 2 u ( − 1 ) = − 2 \left\{ \begin{aligned} &initial(1) = -u(-1)-2u(-2)+v(-1) = -2&& \\ &initial(2) = -2u(-1) = -2 &&\\ \end{aligned} \right. {initial(1)=u(1)2u(2)+v(1)=2initial(2)=2u(1)=2
u ( − 1 ) = u ( − 2 ) = v ( − 1 ) = 0 u(-1)=u(-2)=v(-1)=0 u(1)=u(2)=v(1)=0 的条件下,我们现在来求零输入响应(激励全为0,由起始状态带来的响应),则为:
{ u ( 0 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( 0 ) + v ( − 1 ) = i n i t i a l ( 1 ) + v ( 0 ) = − 2 u ( 1 ) = − u ( 0 ) − 2 u ( − 1 ) + v ( 1 ) + v ( 0 ) = i n i t i a l ( 2 ) − u ( 0 ) + v ( 1 ) + v ( 0 ) = − 2 − ( − 2 ) + 0 + 0 = 0 u ( 2 ) = − u ( 1 ) − 2 u ( 0 ) + v ( 2 ) + v ( 1 ) = − 0 − 2 ∗ ( − 2 ) + 0 + 0 = 4 . . . \left\{ \begin{aligned} &u(0) = -u(-1)-2u(-2)+v(0)+v(-1) = initial(1)+v(0) = -2&& \\ &u(1) = -u(0)-2u(-1)+v(1)+v(0) = initial(2)-u(0)+v(1)+v(0)=-2-(-2)+0+0 = 0 &&\\ &u(2) = -u(1)-2u(0)+v(2)+v(1) = -0-2*(-2)+0+0 = 4 &&\\ &... &&\\ \end{aligned} \right. u(0)=u(1)2u(2)+v(0)+v(1)=initial(1)+v(0)=2u(1)=u(0)2u(1)+v(1)+v(0)=initial(2)u(0)+v(1)+v(0)=2(2)+0+0=0u(2)=u(1)2u(0)+v(2)+v(1)=02(2)+0+0=4...
以上就是数值计算例子,另外显然有全响应 = 零输入响应+零状态响应,上面的计算就能看出来。

三、MATLAB验证

以上面数值计算例子的差分方程为例,假设激励为全1,则有:
在这里插入图片描述
显然有:全响应 = 零输入响应+零状态响应。


http://www.kler.cn/a/386044.html

相关文章:

  • 蓝队技术学习
  • shell编程之变量与引用
  • 基于汇编语言的贪吃蛇程序
  • 新版Apache tomcat服务安装 Mac+Window双环境(笔记)
  • Java中 LinkedList<>,ArrayDeque<>的区别 || Queue和Deque的区别
  • 2024 年(第 7 届)“泰迪杯”数据分析技能赛B 题 特殊医学用途配方食品数据分析 完整代码 结果 可视化分享
  • Seata — 分布式事务
  • .Net IOC理解及代码实现
  • 开源模型应用落地-glm模型小试-glm-4-9b-chat-批量推理(二)
  • 阿里云aliyun gradle安装包下载地址
  • Kotlin-面向对象之构造函数、实例化和初始化
  • Vue3+axios+Vite配置Proxy代理解决跨域
  • 【spark面试题】RDD容错机制
  • 基于Jeecgboot3.6.3vue3的flowable流程增加online表单的审批支持(三)后端接口
  • 高效集成:聚水潭采购数据同步到MySQL
  • 【ARM Linux 系统稳定性分析入门及渐进 1.1 -- Crash 工具功能概述】
  • 浅谈智能家居在智慧养老实训室中的作用
  • 飞书 富文本(Markdown)
  • 【网络安全 | Java】AES加密算法
  • docker运行code-servre并配置https通信
  • 图神经网络(GNN)入门笔记(1)——图信号处理与图傅里叶变换
  • 语音识别ic赋能烤箱,离线对话操控,引领智能厨房新体验
  • 电脑中丢失 vcruntime140.dll 的五种解决方法
  • 【c语言】memcpy函数的使用和模拟实现
  • Linux-2
  • 2024年软件设计师中级(软考中级)详细笔记【12】软件系统分析与设计