来自Matlab Central,很强大,本文进行了一些改动。

function [RA,s_out] = routh(poli,epsilon);

%  ROUTH Routh array.

%  [RA,s_out] = ROUTH(R,EPSILON)

returns the symbolic Routh array RA for

% polynomial R(s). s_out

indicates what special cases happen.

%  The following special cases are

considered:

% 1) zero first elements and 2)

rows of zeros. All zero first

% elements are replaced with

the symbolic variable EPSILON

% which can be later

substituted with positive and negative

% small numbers using

SUBS(RA,EPSILON,...). When a row of

% zeros is found, the auxiliary

polynomial is used.

%

% Examples:

%

% 1) Routh array for s^5+s^4+2*s^3+2*s^2+s+1

%

% >>syms

EPS

% >>[ra,s]

= routh([[1 1 2 2 1 1],EPS)

% ra =

%

%  [ 1,

2, 1]

%  [ 1,

2, 1]

%  [ 4,

4, 0]

%  [ 1,

1, 0]

%  [ 2,

0, 0]

%  [ 1,

0, 0]

%

% s =

%

%  特殊情况:第3行元素全0

%  特殊情况:第5行元素全0

%

% 2) Routh array for s^3+a*s^2+b*s+c

% % >>syms

a b c EPS;

% >>ra=routh([1

a b c],EPS);

% ra =

%

% [ 1, b]

% [ a, c]

% [

(-c+b*a)/a, 0]

% [ c, 0]

%

%

% Author:Rivera-Santos, Edmundo

J.

% E-mail:edmundo@alum.mit.edu

% modified by :

xianfa110

%

if(nargin<2),

fprintf('nError: Not enough input arguments

given.');

return

end

coeff =

length(poli); %get

number of coefficients

RA = sym(zeros(coeff,ceil(coeff/2))); %initialize

symbolic Routh array

s_out = '';

for i=1:coeff,

RA(2-rem(i,2),ceil(i/2))=poli(i); %assemble 1st and 2nd rows

end

rows=coeff-2; %number of rows that need determinants

index=zeros(rows,1); %initialize columns-per-row index

vector

for i=1:rows,

index(rows-i+1)=ceil(i/2); %form index vector from bottom to

top

end

for i=3:coeff, %go from 3rd row to last

if(all(RA(i-1,:)==0)), %row of zeros

tmp = sprintf('特殊情况:第%d行元素全0n',i-1);

s_out = [s_out,tmp];

a=coeff-i+2; %order of auxiliary equation

b=ceil(a/2)-rem(a,2)+1; %number of auxiliary coefficients

temp1=RA(i-2,1:b); %get auxiliary polynomial

temp2=a:-2:0; %auxiliry polynomial powers

RA(i-1,1:b)=temp1.*temp2; %derivative of auxiliary

elseif(RA(i-1,1)==0), %first element in row is zero

tmp = sprintf('特殊情况:第%d行第1列元素为0n',i-1);

s_out = [s_out,tmp];

RA(i-1,1)=epsilon; %replace by epsilon

end

%compute the Routh array elements

for j=1:index(i-2),

RA(i,j)=-det([RA(i-2,1) RA(i-2,j+1);RA(i-1,1)

RA(i-1,j+1)])/RA(i-1,1);

end

相关文章:

matlab判定hurwitz_[转载]劳斯(Routh-Hurwitz)稳定判据-符号运算版相关推荐

  1. matlab中两个符号矩阵相加,MATLAB矩阵分析及符号运算.ppt

    MATLAB矩阵分析及符号运算 第三讲 MATLAB的符号运算 -- matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic Math Toolbox 符 ...

  2. matlab 劳斯稳定判据routh函数,同时实现对特殊情况的处理

    matlab 劳斯稳定判据routh函数,同时实现对特殊情况的处理 首先,先明确两种特殊情况如何处理: 1.某行第一列元素为0,而该行元素不全为零 这时,计算劳斯表下一行第一个元素时,会出现分母是0的 ...

  3. 算法-----劳斯-赫尔维茨(Routh-Hurwitz)稳定判据(转)

    重要公式及其推导     劳斯-赫尔维茨(Routh-Hurwitz)稳定判据 判别系统稳定性最基本的方法是根据特征方程式的根的性质来判定.但求解高于三阶的特征方程式相当复杂和困难.所以在实际应用中提 ...

  4. 劳斯和赫尔维茨稳定判据

    1.劳斯稳定判据 转载于:https://www.cnblogs.com/long5683/p/10572553.html

  5. matlab井函数,用MATLAB函数解承压含水层完整井非稳定流问题

    用 MATLAB函数解承压含水层 完整井非稳定流 问题 李瑞 周德亮 (辽宁师范大学数学学院 辽宁大连 116029) 随着时代的进步,地下水数值模拟也开发出自己的研究软件, 用 MATLAB这个数学 ...

  6. 「自控原理」5.2 频域稳定判据、频域分析

    本节介绍奈奎斯特稳定判据.对数稳定判据,并引入稳定裕度 本节介绍频率特性法分析系统性能 本节介绍通过开环频率特性得到闭环频率特性的方法 文章目录 频域稳定判据 奈奎斯特稳定判据 Z=P−2NZ=P-2 ...

  7. Matlab符号运算总结

    matlab符号运算功能强大,在帮一师兄校对矩阵推导的时候使用到.暂时没有仔细研究,做一个标记. http://blog.chinaunix.net/uid-20559667-id-1924747.h ...

  8. 对奈奎斯特稳定判据的理解

    对奈奎斯特稳定判据的理解 设系统的开环传递函数为G(s)H(s)G(s)H(s)G(s)H(s),引入辅助函数 F(s)=1+G(s)H(s)=1+M(s)N(s)=N(s)+M(s)N(s)(1)F ...

  9. 奈奎斯特稳定判据的推导与理解

    先上结论,奈奎斯特稳定判据: 若奈奎斯特曲线不穿过(-1 , j0)点,Z = P - 2N = 0 时系统稳定若奈奎斯特曲线穿过(-1 , j0)点,则系统临界稳定 其中,Z为包围函数的零点数 P为 ...

最新文章

  1. 去除git mergetool不产生*.orig文件
  2. [dts]Device Tree机制【转】
  3. jQuery Raty星级评分插件使用方法
  4. 工作278:控制数据从字典表获取
  5. 2021 Chrome Devtools 新特性
  6. 【七夕特殊礼物】Dubbo学习之SPI实战与debug源码
  7. 深入比特币原理(五)——高级交易与脚本
  8. azure云数据库_Azure SQL数据库的安全注意事项
  9. 前端----HTML
  10. 2017年人工智能十大关键词!
  11. linux系统实训总结报告,《linux操作系统实训》总结报告 - 图文
  12. java graphics 模糊_使用Graphics2D模糊Java背景
  13. 美国电话号码大全_美国
  14. 计算机课怎么切屏,电脑怎么切屏 电脑如何切屏
  15. excel里的一个单元格怎样拆分成几个单元格?
  16. C++ 的未来——第 2 部分
  17. 陀螺财经研究院郭润华:2019年将迎来区块链真正成熟的井喷时代
  18. vue面试题(自用)
  19. 基于B/S的城市公交查询系统的设计与实现(附:源码+论文+答辩PPT))
  20. 【相似的生活,不可思议】

热门文章

  1. 【opencv 450 Image Processing】Periodic Noise Removing Filter周期性去噪滤波器
  2. 蓝凌LBPM平台,大公司流程数字化升级必选
  3. python报错NameError: name 'NA' is not defined
  4. Gos Log每次查询响应后自动清理临时文件,优化磁盘空间
  5. PX Deq Create send blkd
  6. 号称下一代互联网的 Web3.0 到底是个啥?
  7. VMware Explore 大会解读:VMware 要做多云时代核心技术玩家
  8. 【_ 記 】发送邮件功能和MimeMessageHelper 对象下的To Cc Bcc(发送,抄送,密送)
  9. 星形线再回顾--切线(点)构成曲线
  10. bzoj 1123: [POI2008]BLO(Trajan求割点)