如何检查如果两个传输函数是相同的吗?
50个视图(30天)
显示旧的评论
我想确认两个传输函数是相等的。
例如:
Kc = 0.4262;Ti = 1.35;
C1 = pidstd (Kc, Ti);
特遣部队(C1)
s =特遣部队(“年代”);
Gc1 = Kc * (1 + 1 / (Ti * s))
断言(tf (C1) = = Gc1)
提出了:
未定义操作符“= =”类型的输入参数“特遣部队”。
还要注意:
Gc1
特遣部队(C1)
Gc1——特遣部队(C1)
Gc1 =
0.5754 + 0.4262
- - - - - - - - - - - - - - - - - -
1.35秒
连续时间传递函数。
ans =
0.4262 + 0.3157
- - - - - - - - - - - - - - - - - -
年代
连续时间传递函数。
ans =
0
静态增益。
0评论
接受的答案
沃尔特·罗伯森
2020年8月12日
编辑:沃尔特·罗伯森
2020年8月12日
isequal (tfdata (tf (C1)——Gc1), {[0]})
这可能会失败如果有延迟的特遣部队。
5个评论
沃尔特·罗伯森
2020年8月12日
tf蓄意将通常用于数组,数量的输入输出的数量。所以tfdata旨在返回分子分开每个tf的数组元素的形式,与一般的元素不是彼此相同的长度。系数,而不是建立一个多维数组第一个或最后一个维度是垫最长的分子,和每个元素的前导零最长匹配分子,tfdata函数简单地创建一个单元阵列的分子,如arrayfun tfdata '制服,0。在标量特遣部队的情况下,给你一个标量单元阵列。tfdata没有特殊情况,标量细胞提取内容。