当stepinfo
函数在传递函数(即stepinfo(tf)
)上运行时,典型结果为:
RiseTime: 52.2052
SettlingTime: 85.4916
SettlingMin: 0.9041
SettlingMax: 1.0012
Overshoot: 0.1192
Undershoot: 0
Peak: 1.0012
PeakTime: 132.8773
我对stepinfo
做了一些研究。它似乎返回一个结构。所以我将上述结果分配给变量并使用size()
检查其大小。
它是1x1矩阵。
这让我非常确信,如果不首先将其分配给字符串然后执行字符串操作,我就无法从此结构中提取单个数据成员。
我需要Overshoot和PeakTime值,是否有人知道在不使用P.O.的情况下获取这些值的最佳方法。和Tp公式 - 没有巨大的字符串混乱?
答案 0 :(得分:4)
MATLAB中的所有内容都被视为矩阵。单个结构元素(在您的示例中由stepinfo
返回的内容)是类型struct
的1×1矩阵。您可以像这样访问结构的字段:
S = stepinfo(sys); %# Returns a structure, stored in variable S
overShoot = S.Overshoot; %# Get the value in the Overshoot field
peakTime = S.PeakTime; %# Get the value in the PeakTime field
有关使用结构的更多信息,请查看this documentation page。