之前已经简单了解过状态空间方程的离散化方法,对于二阶等效电路模型来讲,由于其本身各个方程之间不是耦合的,所以离散化计算过程并不是十分复杂,很容易就可以得到其状态空间方程的离散形式。

但是对于某些状态空间方程,比如圆柱电池的二状态热模型,由于方程本身是耦合的,所以无法直接通过公式推导就得到其离散化形式,这时就需要求助于matlab。

对于这样一个连续方程:

$$ dfrac{dx}{dt}=Ax+Bu $$

通过[G,H]=c2d(F,G,ts);,便可以将其转化为离散形式,其中时间步长为ts:

$$ x_{k+1}=Gx_{k}+Hu_{k} $$

G和H为A、B指定时间步长的离散化结果。

c2d函数过程实际上为之前“电池模型的状态空间方程”一文中介绍的状态空间方程的直接离散化方法,其具体的使用介绍参考Mathworks文档。具体格式如下:1

2

3

4

5sysd = c2d(sys,Ts)

sysd = c2d(sys,Ts,method)

sysd = c2d(sys,Ts,opts)

[sysd,G] = c2d(sys,Ts,method)

[sysd,G] = c2d(sys,Ts,opts)

其中method缺省值是零阶保持器。除了零阶保持器,还有一阶保持器、Tustin等等方法可以选择。但是对于Tustin尚存在一些疑问,因为这种近似方法涉及$x_{k+1}$的值。是不是如果我们并不关注状态值本身的话,只关心输出值,可以将状态方程和输出方程一起使用Tustin这种method离散化。而如果我们关注的是状态值$x_{k+1}$本身,而不是输出值$y_{k}$的话,那就只能使用零阶保持器。(疑问)

举个例子

$$ x’=begin{bmatrix}

2 & -1 & -1 \

0 & -1 & 0 \

0 & 2 & 1

end{bmatrix}x+begin{bmatrix}

7 \

2 \

3

end{bmatrix}u$$

$$ y=begin{bmatrix} 1&2&4end{bmatrix}x $$

将该连续方程离散化:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70>> A=[2 -1 -1; 0 -1 0;0 2 1];

>> B=[7 2 3]';

>> C=[1 2 4];

>> D=0;

>> [G1,H1,Cd1,Dd1]=c2dm(A,B,C,D,0.1,'zoh')

G1 =

1.2214 -0.1162 -0.1162

0 0.9048 0

0 0.2003 1.1052

H1 =

0.7473

0.1903

0.3355

Cd1 =

1 2 4

Dd1 =

0

>> [G2,H2,Cd2,Dd2]=c2dm(A,B,C,D,0.1,'tustin')

G2 =

1.2222 -0.1170 -0.1170

0 0.9048 0

0 0.2005 1.1053

H2 =

0.7485

0.1905

0.3358

Cd2 =

1.1111 2.2473 4.1520

Dd2 =

1.2364

>> [G,H]=c2d(A,B,0.1)

G =

1.2214 -0.1162 -0.1162

0 0.9048 0

0 0.2003 1.1052

H =

0.7473

0.1903

0.3355

>>

当然离散系统与其对应的连续系统是存在误差的,时间步长ts越大,误差越大。如果时间步长取得过长,则需要检验一下离散化误差是否再接受范围内。

状态空间离散化matlab,状态空间方程离散化的matlab处理相关推荐

  1. matlab复数方程的根,matlab解超越方程的复数根

    本帖最后由 zhaocb 于 2015-7-18 16:22 编辑 各位大神,我需要解一个超越方程,'0=(r^2+(50*m*(2*pi*k*C)^2))*tanh(r*0.04)+i*r*(50- ...

  2. matlab二元方程区间求解,matlab求解二元方程组

    陈星似 魔法师 matlab求解二元方程组 悬赏分:0 提问时间:2010-11-30 23:29回答数:1浏览量:241问题指向:全国 t1=(q1+q2+q3+q4-q5-q6-q7)/g1/c1 ...

  3. 基于matlab弹道方程代码,基于Matlab/Simulink的弹丸外弹道6自由度运动仿真

    第 23卷 第 4期 Vol. 23 No. 4 重 庆 工 学 院 学 报 (自然科学 ) Journal of Chongqing Institute of Technology(Natural ...

  4. matlab悬链线方程的求解,Matlab建模教程-变分法简介.doc

    Matlab建模教程-变分法简介 §1 变分法简介 作为数学的一个分支,变分法的诞生,是现实世界许多现象不断探索的结果,人们可以追寻到这样一个轨迹: 约翰·伯努利(Johann Bernoulli,1 ...

  5. matlab解方程的程序,matlab算法程序解方程.ppt

    <matlab算法程序解方程.ppt>由会员分享,可在线阅读,更多相关<matlab算法程序解方程.ppt(10页珍藏版)>请在人人文库网上搜索. 1.一 般 的 代 数 方 ...

  6. matlab复数方程的根,matlab解一元三次方程,得到的都是复数根。

    对于你昨天的那个方程,是典型的非线性方程,我修改了程序,用fsolve函数来解,程序在下面.先新建一个m文件,再把以下全部程序直接复制进m文件中,运行即可,不要在主窗口中运行,用m文件来写程序,比直接 ...

  7. matlab曲面方程,如何用Matlab拟合数据求解曲面方程 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

    我不知道你的方程,我粗略得到一个R2 = 0.99以上的方程,代码及结果如下 高次多项式拟合代码 : load shuju.mat B=fit([Dotx,Dotx],Dotz,'poly43') 结 ...

  8. matlab解方程 x-sinx,用matlab解方程:

    0. 0. 2.284102297393826 0. 5.500674981700299 0. 8.639254626179064 0. 11.78097785939476 0. 14.9225648 ...

  9. matlab求高阶微分的命令,matlab求解高阶微分方程辅导

    同学你好,我们可以辅导matlab高阶微分方程.关于matlab解决高阶微分方程的知识点如下,如果同学感觉还死有不明白的地方,可以直接联系我们,安排专业老师进行一对一授课讲解. 微分方程(Differ ...

  10. 【离散系统】传递函数和状态空间方程离散化

    本文如有错误,恳请指正. 目录 离散系统 采样控制系统 数字控制系统 信号采样 采样定理(香农定理) 信号保持-零阶保持器 Z变换 Z 变换方法 级数求和法 部分分式法 基本定理 Z反变换 Z反变换方 ...

最新文章

  1. 用C语言解“两个数的简单计算器”题
  2. 面试题之在字符串中查找出第一个只出现一次的字符的位置
  3. SSH暴力破解IP大曝光
  4. 学习速率 learning rate
  5. Lambda表达式替代匿名方法
  6. java阻塞队列小结
  7. 网络基础知识 快速计算子网掩码的2种方法
  8. Eigen--Matrix
  9. 图像平均池化 利用pytorch对图像进行池化
  10. 【目标跟踪】基于matlab Kalman滤波目标跟踪【含Matlab源码 388期】
  11. 图片去水印的原理_去水印简单操作:图图去水印
  12. 安装GitExtentions KDiff3已配置为合并工具,kdiff3的路径未配置
  13. win怎么更换计算机密码错误,win10系统更改开机密码提示“Windows不能更改密码”的解决方法...
  14. NUC980开源项目38-4g上网
  15. 北京博奥智源,发布ERP系统之财务管理及成本核算模块开发功能
  16. ubuntu(服务端)+windows(客户端)搭建iscsi
  17. Kali Linux渗透测试——无线渗透
  18. YOLOV5的FPS计算问题
  19. 在外企上班是一种什么体验?附国内热门外企公司名单!
  20. oracle 2019 ocp,关于Oracle数据库管理2019 OCP专家认证

热门文章

  1. Java ee和Java se的区别
  2. C#list转JSON(Newtonsoft.Json.dll)(仅做记录)
  3. JavaScript表单基本验证
  4. python点云数据处理_python处理点云数据并生成三维点云模型
  5. java 调用 easypr_EasyPR-Java项目maven版本所需jar包
  6. 菲氏微积分与Keisler微积分:两个不同时代的微积分教材
  7. (学习笔记)图像处理——同态滤波
  8. webstorm主题网址+使用方法
  9. SwitchHost常见问题解决
  10. python项目实例-实例分享 | 4个Python实战项目(一)