Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
当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值,有人知道在不使用PO和Tp公式的情况下-并且没有巨大的字符串混乱的情况下获取这些值的最佳方法吗? 回答: MATLAB中的所有内容均视为矩阵。单个结构元素(在示例中为stepinfo返回的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 有关使用结构的更多信息,请查看此文档页面 。 更多&回答... |
![]() |
![]() |