连续函数 离散化在matlab里怎么编程

连续函数 离散化在matlab里怎么编程,第1张

首先,计算机处理的信态悄册号均为离散化的信号

对于连续模拟信号的表达式,只要给定运洞离散的时间参数,其得到的就是离散信号

例如

sin(2*pi*100*t) 这表示频率为100Hz的正弦信号

那帆宏么,令t = 1:0.1:100

y = sin(2*pi*100*t)

得到的就是离散的正弦信号y.

matlab中,传递函数离散化,特别是转化为差分方程,可以使用改巧c2d实现,系数直接转化是不可以的。c2d的具体用法,可以参照matlab帮助,下面举一例

% transfor function

sys = tf([1 -1], [1 4 5])

% discretize

ts = 0.1% 采样周期

dsys = c2d(sys, ts, 'z')% 转化为差分方程

% extract

[num, den] = tfdata(dsys,'v')% 提取兄歼大羡竖差分方程系数

结果为:

>>dsys

Transfer function:

0.07736 z - 0.08557

----------------------

z^2 - 1.629 z + 0.6703

Sampling time: 0.1

>>num

num =

0

0.077359465661809 -0.085567271047414

>>den

den =

1.000000000000000

-1.629281019107614

0.670320046035640

转载于http://blog.sina.com.cn/s/blog_6163bdeb0100q3jh.html

1、step的调用方式有问题,完全没有体现出这是一个离散系统。考虑:

step(ss(Ac,Bc,Cc,Dc,1))

2、【k1=k(1)Ac=A-B*kBc=B*k1Cc=CDc=D】Bc和Cc的计算有问题,应该是Bc=B, Cc=C-D*k。

3、LQR最优调节器与Q、R的选择关亮配系很大,所谓的最优只是对于特定耐键饥的Q、R而言的。

4、可以试一试用下面的代码观察各状态量昌返:

step(ss(Ac,Bc,eye(length(A)),0,1))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12264972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存