声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3461|回复: 5

[编程技巧] 求助matlab求传递函数问题

[复制链接]
发表于 2010-12-25 22:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function f=m()
s=tf('s');G=12/(s*(s+1)^3).*exp(-2*s)
Gc=tf([2,3],[1,0],'Variable','s')
f=feedback(G,Gc)

??? Error using ==> exp
Function 'exp' is not defined for values of class 'tf'.

求G,Gc的单位负反馈函数。
回复
分享到:

使用道具 举报

发表于 2010-12-26 09:10 | 显示全部楼层
系统是通过tf编写的
发表于 2010-12-26 21:15 | 显示全部楼层
LZ的版本是多少?
s=tf('s');G=12/(s*(s+1)^3).*exp(-2*s), 在R2006a & R2009a是不会报错的!
 楼主| 发表于 2010-12-26 21:26 | 显示全部楼层
回复 3 # ChaChing 的帖子

我的是6.5的版本。。
发表于 2010-12-26 22:26 | 显示全部楼层
在R2008a上执行的结果:
%------------m.m----------------
function f=m()
s=tf('s');G=12/(s*(s+1)^3).*exp(-2*s)
Gc=tf([2,3],[1,0],'Variable','s')
f=feedback(G,Gc)
%---------------------------------
Transfer function:
                      12
exp(-2*s) * -----------------------
            s^4 + 3 s^3 + 3 s^2 + s


Transfer function:
2 s + 3
-------
   s

??? Error using ==> lti.feedback at 127
Error using ==> ltipack.tfdata.feedback at 20
System interconnection gives rise to internal
delays and can only be represented in state
space. Convert at least one of the models to
state space using the "ss" command.

Error in ==> Untitled at 4
f=feedback(G,Gc)
发表于 2010-12-26 22:41 | 显示全部楼层
没怎么研究过tf, 早期版本的tf 好象不能处理带有延时环节
tf 函数在Matlab 6.5 与 matlab 2009a  的help 中提到
in Matlab 6.5
  1. You can then specify transfer functions directly as rational expressions
  2.      in S or Z, e.g.,
  3.         s = tf('s');  H = (s+1)/(s^2+3*s+1)
复制代码
in Matlab 2009
  1. You can then specify transfer functions directly as expressions in S
  2.      or Z, e.g.,
  3.         s = tf('s');  H = exp(-s)*(s+1)/(s^2+3*s+1)
复制代码

点评

好象早期版本不能  发表于 2010-12-27 00:12

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 12:06 , Processed in 0.056349 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表