已知某系统的差分方程模型为y(k+2)+y(k+1)+0.16y(k)=u(k-1)+2u(k-2),怎样将其输入到MATLAB工作空间。

 我来答
爱学习爱教育的小豆丁
高粉答主

2020-06-11 · 教育达人一起学习
爱学习爱教育的小豆丁
采纳数:176 获赞数:138187

向TA提问 私信TA
展开全部

1、依旧用 tf()tf()tf() 函数,只不过我们需要指明采样周期 TTT。在这里,我们的 ZZZ 变换结果是基于 T=1sT=1sT=1s 计算的:

num = [1,2];

den = [1,1,0.16];

H = tf(num,den,'Ts',1)

2、feedback函数不支持符号运算,只能是针对确定参数模型,因此我们有必要编写一个小程序段方便化简:

function U = feedbacksym_1(G1,G2,key)

if nargin==2;key = -1;end

U = 1/(sym(1)-key*G1*G2);

end

3、nargin是输入函数变量个数:

syms s J Kp Ki;

G = (s+1)/(J*s^2+2*s+5);

Gc = (Kp*s+Ki)/s;

simplify(feedbacksym_1(G*Gc,1))

扩展资料

其实就是将建立好的 tftftf 模型使用 ss(G)ss(G)ss(G) 的方法就能转换成状态空间,只不过需要明确的是:传递函数到状态空间的表示不唯一,而状态空间到传递函数得表示唯一,这也应证了状态变量选择的多样性。连续传递函数采样至离散传递函数;

这里千万不要把G化简然后用 tf[num,den,′Ts′,0.1]tf[num,den,'Ts',0.1]tf[num,den, ′Ts ′ ,0.1] 这种做法,那是针对的已知离散传递函数模型的搭建,这里已知的是连续传递函数模型,我们不能说对它采样后离散传递函数就是把s换成z,因此需要使用 c2d函数。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式