• PUDN用户
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 87
    下载次数
  • 2012-12-03 12:13
    上传日期
劳斯稳定性判据的matlab实现。直接运行M文件,按提示输入特征多项式参数,即可进行系统稳定性判别。
Routh.rar
  • Routh.m
    1.7KB
内容介绍
%The Routh-Hurwitz stability criterion is a necessary (and frequently %sufficient) method to establish the stability of a single-input, %single-output (SISO), linear time invariant (LTI) control system. %More generally, given a polynomial, some calculations using only the %coefficients of that polynomial can lead us to the conclusion that it %is not stable. %in this program you must give your system coefficents and the %Routh-Hurwitz table would be shown % % Farzad Sagharchi ,Iran % 2007/11/12 clc clear r=input('input vector of your system coefficents: '); m=length(r); n=round(m/2); q=1; k=0; for p = 1:length(r) if rem(p,2)==0 c_even(k)=r(p); else c_odd(q)=r(p); k=k+1; q=q+1; end end a=zeros(m,n); if m/2 ~= round(m/2) c_even(n)=0; end a(1,:)=c_odd; a(2,:)=c_even; if a(2,1)==0 a(2,1)=0.01; end for i=3:m for j=1:n-1 x=a(i-1,1); if x==0 x=0.01; end a(i,j)=((a(i-1,1)*a(i-2,j+1))-(a(i-2,1)*a(i-1,j+1)))/x; end if a(i,:)==0 order=(m-i+1); c=0; d=1; for j=1:n-1 a(i,j)=(order-c)*(a(i-1,d)); d=d+1; c=c+2; end end if a(i,1)==0 a(i,1)=0.01; end end Right_poles=0; for i=1:m-1 if sign(a(i,1))*sign(a(i+1,1))==-1 Right_poles=Right_poles+1; end end fprintf('\n Routh-Hurwitz Table:\n') a fprintf('\n Number Of Right Poles =%2.0f\n',Right_poles) reply = input('Do You Need Roots of System? Y/N ', 's'); if reply=='y'||reply=='Y' ROOTS=roots(r); fprintf('\n Given Polynomials Coefficents Roots :\n') ROOTS else end
评论
  • kentlinsy 2018-06-27 17:23:19
    程序书写规范,整齐。
  • baobao-99 2018-01-11 20:35:34
    非常不错,还可以计算特征根
相关推荐