我正在尝试使用具有符号值的传递函数,但我只返回错误。
有没有办法使用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.
答案 0 :(得分:1)
答案是枫树!它很棒,而且MapleSim就像Simulink / Xcos一样,但你可以在传递函数中使用所有类型的变量。
答案 1 :(得分:0)
您不能将传递函数与符号变量一起使用。查看documentation on tf
:
sys = tf(num,den)
创建了连续时间传递函数 由num
和den
指定的分子和分母。输出sys
是:
tf
模型对象,num
和den
是数字数组时。- 当
genss
或num
包含可调参数(例如den
参数或广义矩阵(realp
)时的广义状态空间模型(genmat
) 。uss
或num
不确定时的不确定状态空间模型(den
) (需要Robust Control Toolbox™软件)。