• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: Matlab
  • 标签: matlab  劳斯判据  

资源简介

适用于任意阶系统的稳定性判定,在matlab环境下编程实现的劳斯判据

资源截图

代码片段和文件信息

%% 功能简介: 获取用户输入的特征方程的系数,
%%            构造劳斯判据,进而判断该系统是否稳定。
%%            适用于任意阶系统。
%% 作    者: 朱其斯
%% 版    本: matlab R2011b

%% 获取相关数据
% 获取用户输入的特征方程系数
num = input(‘Please input the particular function(example:[1 2 3 4]): ‘);
% 获取特征方程的阶数(即length-1)
length = max(size(num));
% len表示除去劳斯表前两行后,所余行数,用于确定嵌套for循环中for的次数
len = length - 2;
% cow表示除去全零列后的列数(为了去掉全零列)
if mod(length 2)   % 若length为奇数,则cow取第二行列数
    cow = ((length - 1) / 2) + 1;
else         % 若length为偶数,则cow取第一或第二行列数
    cow = length / 2;
end
% 构造length*length的全零方阵,用于存放劳斯表数据
lsb = zeros(length);

%% 构造劳斯表的第一行,从第一个数开始,每隔一个取一个
k = 0; % 用于记录劳斯表行数,0表示第一行
j = 1; % 用于记录lsb方阵的序号,从1开始,竖着数
for i = 1:2:length       
    lsb(j) = num(i);   % 第一行数据
    j = j + length;    % 第一行数据所在的序号
end

%% 构造劳斯表的第二行,从第二个数开始,每隔一个取一个
k = k + 1; % 劳斯表第一行记录完毕,行数加一,开始记录第二行
j = k + 1; % j=2表示劳斯表第二行第一个数
for i = 2:2:length
    lsb(j) = num(i);   % 第二行数据
    j = j + length;    % 第二行数据所在的序号
end

%% 构造劳斯表的第三行以及以后各行(通过劳斯判据的计算法则获取数据)
for m = 1:l

评论

共有 条评论