符号传递函数matlab

时间:2014-04-15 08:49:50

标签: matlab symbolic-math

我正在尝试使用具有符号值的传递函数,但我只返回错误。

有没有办法使用Matlab在符号模式下转换拉普拉斯?

这是我要做的一个例子和MatLab消息错误:

>> syms Ki Kp Te R;
>> s=tf('s');
>> g=((Kp*s+Ki)/s)
Error using sym>tomupad (line 1014)
Conversion to 'sym' from 'tf' is not possible.

Error in sym (line 139)
            S.s = tomupad(x,'');

Error in sym/privResolveArgs (line 823)
                    argout{k} = sym(arg);

Error in sym/privBinaryOp (line 838)
            args = privResolveArgs(A, B);

Error in  *  (line 216)
        X = privBinaryOp(A, B, 'symobj::mtimes');

我已经尝试了一些其他形式来创建没有结果的传递函数:

>> sys=tf([Te],[0 Ki])
Error using tf (line 287)
The values of the "num" and "den" properties must be row vectors or cell arrays of row vectors, where each vector
is nonempty and containing numeric data. Type "help tf.num" or "help tf.den" for more information.

2 个答案:

答案 0 :(得分:1)

答案是枫树!它很棒,而且MapleSim就像Simulink / Xcos一样,但你可以在传递函数中使用所有类型的变量。

答案 1 :(得分:0)

您不能将传递函数与符号变量一起使用。查看documentation on tf

  

sys = tf(num,den)创建了连续时间传递函数   由numden指定的分子和分母。输出   sys是:

     
      
  • tf模型对象,numden是数字数组时。
  •   
  • genssnum包含可调参数(例如den参数或广义矩阵(realp)时的广义状态空间模型(genmat) 。
  •   
  • ussnum不确定时的不确定状态空间模型(den)   (需要Robust Control Toolbox™软件)。
  •