最近师兄让帮忙计算阶跃响应的指标,就是改定实验数据或仿真数据,求响应指标(概念见程序中)。编程代码和效果如下

%% 求阶跃响应的典型指标

function main_GetPerformanceOfStepResponse

clc

clear all

close all

global gTolerance

gTolerance = 0.05; % 调整时间的偏差容许范围

%% test

wn = 1;

xi = 0.3;

g = tf(wn^2, [1, 2*xi*wn, wn^2]);

t = 0:0.01:15;

y = step(g,t);

%% 计算阶跃响应的指标

stepvalue = 1;

[OverShoot, RiseTime, PeakTime, AdjustTime, SteadyStateError] =

GetPerformanceOfStepResponse(t, y, stepvalue);

% 绘图

figure

plot(t,y)

grid on

line([PeakTime, PeakTime], [0, (1 + OverShoot/100)*stepvalue],

'color', 'r')

text(PeakTime, stepvalue*0.05, sprintf('峰值时间%.2f',PeakTime))

text(PeakTime, (1 + OverShoot/100 + 0.05)*stepvalue,

sprintf('超调量%.2f%%',OverShoot))

line([RiseTime, RiseTime], [0, stepvalue], 'color', 'r')

text(RiseTime, -stepvalue*0.05, sprintf('上升时间%.2f',RiseTime))

line([AdjustTime, AdjustTime], [0, stepvalue*(1 + gTolerance)],

'color', 'r')

text(AdjustTime, stepvalue*0.05,

sprintf('调整时间%.2f',AdjustTime))

line([AdjustTime t(end)], stepvalue*[(1 - gTolerance), (1 -

gTolerance)], 'color', 'r', 'linestyle', '--')

text(AdjustTime, stepvalue*(1 - gTolerance-0.05),

sprintf('容许范围%.2f', 1 - gTolerance))

line([AdjustTime t(end)], stepvalue*[(1 + gTolerance), (1 +

gTolerance)], 'color', 'r', 'linestyle', '--')

text(AdjustTime, stepvalue*(1 + gTolerance+0.05),

sprintf('容许范围%.2f', 1 + gTolerance))

text(t(end)*0.9, stepvalue*1.05, sprintf('稳态误差%f',

SteadyStateError))

end

%% 求阶跃响应的典型指标

function [OverShoot, RiseTime, PeakTime, AdjustTime,

SteadyStateError] = GetPerformanceOfStepResponse(t, y,

stepvalue)

%

超调量Mp:最大超调量规定为在暂态期间输出超过对应于输入的终值的最大偏离量

% 上升时间tr:在暂态过程中,输出第一次达到对应于输入的终值的时间(从t=0开始计时)

% 峰值时间tp:对应于最大超调量发生的时间(从t=0开始计时)

%

调整时间ts:输出与其对应于输入的终值之间的偏差达到容许范围(一般取5%或2%)所经历的暂态过程时间(从t=0开始计时)

% 稳态误差err:给定输入与稳态输出的差值

global gTolerance

% 超调量和峰值时间

[OSValue, OSIndex] = max(y);

OverShoot = (OSValue - stepvalue)/stepvalue*100;

PeakTime = t(OSIndex);

% 上升时间

index = find(y >= stepvalue, 1, 'first');

RiseTime = t(index);

% 调整时间和稳态误差

index1 = find(y <= stepvalue*(1 - gTolerance), 1,

'last'); % 容许范围由全局变量指定

index2 = find(y >= stepvalue*(1 + gTolerance), 1,

'last');

if isempty(index2) % 如果没有超调量,此值为空

index =

index1;

else

index =

max(index1, index2);

end

index = max(index1, index2);

AdjustTime = t(index);

SteadyStateError = mean(y(index:end)) - stepvalue; %

这里的稳态误差计算为调整时间后的数据平均值与给定输入的差,概念上是最后时刻的值与给定输入的差

end

运行结果为:

改变容许范围偏差为0.02的结果

在matlab中数据波动指标,阶跃响应指标的matlab计算相关推荐

  1. 2021-05-25 传递函数阶跃响应指标的matlab计算

    传递函数阶跃响应指标的matlab计算 对于一个常规的传递函数,我们在进行了阶跃仿真后经常需要给出对应的响应指标, sys = tf(1,[1 2 3]) y = step(sys) figure p ...

  2. 阶跃响应指标的matlab计算

    原文地址:阶跃响应指标的matlab计算 作者:了凡春秋 最近师兄让帮忙计算阶跃响应的指标,就是改定实验数据或仿真数据,求响应指标(概念见程序中).编程代码和效果如下 %% 求阶跃响应的典型指标 fu ...

  3. matlab数据导出excel,matlab数据点导出excel表格-怎样将matlab中数据导出到excel中?...

    怎样将matlab中数据导出到excel中? xlswrite('E:系数.xls',B,'','A2') E:系数.xls 是路径 B是需要导入的矩阵 A2是指矩阵从表格中的A2开始输入 希望可以帮 ...

  4. 【matlab】将matlab中数据输出保存为txt或dat格式

    将matlab中数据输出保存为txt或dat格式 总结网上各大论坛,主要有三种方法. 第一种方法:save(最简单基本的) 具体的命令是:用save *.txt -ascii x x为变量 *.txt ...

  5. 将matlab中数据输出保存为txt或dat格式

    一.将matlab中数据输出保存为txt或dat格式的三种方法. 第一种方法:save(最简单基本的) 具体的命令是:用save *.txt -ascii x x为变量 *.txt为文件名,该文件存储 ...

  6. matlab 字数统计,matlab中数据及统计描述和分析.doc

    matlab中数据及统计描述和分析 第十章 数据的统计描述和分析 数理统计研究的对象是受随机因素影响的数据,以下数理统计就简称统计,统计是以概率论为基础的一门应用学科. 数据样本少则几个,多则成千上万 ...

  7. matlab中数据归一化方法,矩阵归一化

    matlab中数据一行归一化 默认的map范围是[-1, 1],所以如果需要[0, 1],则按这样的格式提供参数 Data1 = mapminmax(lData, 0, 1); 矩阵归一化 data= ...

  8. Matlab中数据的存储方式

    简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题, ...

  9. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

最新文章

  1. java管理从程序员到CTO的Java技术路线图
  2. postman安装报错 无法定位_VS2010 + winxp 无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上 错误...
  3. FFmpg音视频入门教程
  4. 三个变量中怎么找出中间值_一文理解神经网络中的偏差和方差
  5. 祝贺!王春雨入职一个月晋升副教授
  6. LWIP之TCP协议
  7. 【BZOJ4542】大数, 莫队
  8. eclipse 改包名
  9. 猿创征文|网络安全的十大经典工具介绍
  10. oracle的单引号和双引号的深入举例分析
  11. 深入java虚拟机 视频_深入理解Java虚拟机全套完整视频教程
  12. 浏览器打开html文件特别慢,打开网页慢是什么原因,教您打开网页慢怎么解决
  13. 读hdfs上的文件时出现Unable to write to output stream问题的解决方案
  14. 技巧 | 清理电脑垃圾
  15. python简易爬取喜马拉雅MP3
  16. 在GATE中用ICTCLAS处理多个文档
  17. 计算机类sci杂志排名,计算机类SCI杂志排名
  18. “云控制服务”的设想
  19. 1718 Cos的多项式
  20. java 截取字符串第一个字符

热门文章

  1. 数据分析中,还有哪些好用实用的方法论?
  2. python求反余弦_余弦相似度计算公式:python代码找出相似文章
  3. java使用POI5.0生成简易Excel工作簿的一种方法
  4. ServiceNow 系统上线准备
  5. ES 根据查询条件求和sum
  6. Python入门题031:excel表格筛选重复数据
  7. [Android]SIM字段EF_SUME(6F54) 可用作STK app name
  8. python语言下,B站(bilibili)热门排行榜视频封面爬取程序V1.0 小白也能看懂,八十岁没牙老太太看完拿舌头都能爬封面!!
  9. Css3中-moz、-ms、-webkit的使用
  10. Python 爬取优美图库图片