MATLAB中的ss函数根据传递函数求状态空间,如何自定义其中的C和D?

由于利用ss函数对传递函数求得到的状态模型是不固定的,有A、B、C、D四个结果矩阵,现在想求得C=I(单位矩阵),D为0,A和B可以是任意的结果的状态空间模型,如何做到?... 由于利用ss函数对传递函数求得到的状态模型是不固定的,有A、B、C、D四个结果矩阵,现在想求得C=I(单位矩阵),D为0,A和B可以是任意的结果的状态空间模型,如何做到? 展开
 我来答
长亭对月客常眠378
2020-08-02 · TA获得超过1332个赞
知道小有建树答主
回答量:2532
采纳率:87%
帮助的人:197万
展开全部


直接用ss和tf函数就可以了,例如:

>> G=tf([1 2],[1 2 3])
 
Transfer function:
    s + 2
-------------
s^2 + 2 s + 3
 
>> G1=ss(G)
 
a = 
         x1    x2
   x1    -2  -1.5
   x2     2     0
 
b = 
       u1
   x1   2
   x2   0
 
c = 
        x1   x2
   y1  0.5  0.5
 
d = 
       u1
   y1   0
 
Continuous-time model.
>> G2=tf(G1)
 
Transfer function:
    s + 2
-------------
s^2 + 2 s + 3 
>> whos
  Name      Size            Bytes  Class    Attributes
  G         1x1              2494  tf                 
  G1        1x1              2385  ss                 
  G2        1x1              2494  tf




追问
您好,我还是想问一下如题目中所问的,您得到的这个结果中c不是单位矩阵,即[1 0;0 1],那么有办法将这个状态空间的结果等效为c为[1 0;0 1],而a和b可以是任意的,这种形式吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式