MATLAB实现控制系统稳定性判别GUI界面

您所在的位置:网站首页 matlab左除法原理 MATLAB实现控制系统稳定性判别GUI界面

MATLAB实现控制系统稳定性判别GUI界面

2023-03-22 03:05| 来源: 网络整理| 查看: 265

对于控制系统(线性定常连续系统)的稳定性的判断,主要有以下几种方法:劳斯判据(系统以闭环传递函数形式表示)根轨迹(系统的开环传递函数)奈奎斯特判据(系统的开环传递函数绘制奈奎斯特图)频域分析(系统的开环传递函数,绘制伯德图,计算相角裕量和幅值裕量)李亚普若夫法(系统的状态空间表达式)线性定常离散控制系统的稳定性的判断主要是利用z变换利用朱利判据来进行稳定性的判断。非线性系统形式多样,受数学工具限制,一般情况下很难求得非线性微分方程的解析解,所以对于这一系统,采用工程上的近似方法,主要有两种:相平面法和描述函数法。1、运行界面,点击劳斯判据

2、输入闭环系统特征方程,点击开始计算

3、点击劳斯判据说明

4、点击关闭,返回主界面

5、点击奈氏判据

6、输入开环传递函数的分子和分母系数向量,按降幂排列。

7、点击奈氏判据说明

8、点击李亚普若夫法,输入状态矩阵,点击计算。

9、点击关闭,返回主界面。

10、点击退出系统。

需要完整GUI程序,可以进行打赏后截图(50元及以上),进行联系,或者在微信公众号云龙派中点击“联系掌门”进行联系,或者在公众号内回复截图,几小时内会回复。界面编程不易,还请见谅!

GUI界面的部分程序如下,可以自己拓展延伸。

function varargout = xianxingxitongpanding(varargin) % XIANXINGXITONGPANDING MATLAB code for xianxingxitongpanding.fig % XIANXINGXITONGPANDING, by itself, creates a new XIANXINGXITONGPANDING or raises the existing % singleton*. % % H = XIANXINGXITONGPANDING returns the handle to a new XIANXINGXITONGPANDING or the handle to % the existing singleton*. % % XIANXINGXITONGPANDING('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in XIANXINGXITONGPANDING.M with the given input arguments. % % XIANXINGXITONGPANDING('Property','Value',...) creates a new XIANXINGXITONGPANDING or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before xianxingxitongpanding_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to xianxingxitongpanding_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help xianxingxitongpanding % Last Modified by GUIDE v2.5 09-Oct-2021 19:41:28 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @xianxingxitongpanding_OpeningFcn, ... 'gui_OutputFcn', @xianxingxitongpanding_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before xianxingxitongpanding is made visible. function xianxingxitongpanding_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to xianxingxitongpanding (see VARARGIN) % Choose default command line output for xianxingxitongpanding handles.output = hObject; movegui(gcf,'center'); %关闭窗口的名字 修改为其他名字 set(gcf,'NumberTitle','off','Name','线性系统稳定性判断计算系统'); % Update handles structure guidata(hObject, handles); % UIWAIT makes xianxingxitongpanding wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = xianxingxitongpanding_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) closereq;%关闭当前窗口 laosipanju;%跳转到方法界面 % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) closereq; naishipanju; % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) closereq; liyapupanju; % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) closereq;%关闭当前窗口劳斯判据

劳斯判据是一种借助特征方程系数/劳斯表来辅助判断根正负的方法,这里的根即传递函数的极点。

“劳斯判据(特征方程系数/劳斯表)→ 方程根的正负 → 传递函数极点 → 扰动的时域响应 → 稳定性”

劳斯判据,又称为代数稳定判据。劳斯于1877年提出的稳定性判据能够判定一个多项式方程中是否存在位于复平面右半部的正根,而不必求解方程。由此劳斯获得了亚当奖。劳斯判据,这是一种代数判据方法。它是根据系统特征方程式来判断特征根在S平面的位置,从而决定系统的稳定性.由于不必求解方程,为系统的稳定性的判断带来了极大的便利。

定义

假若劳斯阵列表中第一列系数均为正数,则该系统是稳定的,即特征方程所有的根均位于根平面的左半平面。假若第一列系数有负数,则第一列系数符号的改变次数等于在右半平面上根的个数。

应用

劳斯判据不仅可以判别系统稳定不稳定,即系统的绝对稳定性,而且也可检验系统是否有一定的稳定裕量,即相对稳定性。另外劳斯判据还可用来分析系统参数对稳定性的影响和鉴别延滞系统的稳定性。

奈氏判据

其学习路线图如下,1 频率特性 ---> 2 奈奎斯特图 --> 3 幅角原理 --> 4 辅助函数--> 5 奈奎斯特稳定判据,前面4个环节搞通,最后一个原理也搞通了。

李雅普诺夫

在自动控制领域中,李雅普诺夫稳定性(英语:Lyapunov stability,或李亚普诺夫稳定性)可用来描述一个动力系统的稳定性。如果此动力系统任何初始条件在平衡态附近的轨迹均能维持在平衡态附近,那么可以称为在处李雅普诺夫稳定。

若任何初始条件在平衡态附近的轨迹最后都趋近,那么该系统可以称为在处渐近稳定。指数稳定可用来保证系统最小的衰减速率,也可以估计轨迹收敛的快慢。

李雅普诺夫稳定性可用在线性及非线性的系统中。不过线性系统的稳定性可由其他方式求得,因此李雅普诺夫稳定性多半用来分析非线性系统的稳定性。李亚普诺夫稳定性的概念可以延伸到无限维的流形,即为结构稳定性,是考虑微分方程中一群不同但“接近”的解的行为。输入-状态稳定性(ISS)则是将李雅普诺夫稳定性应用在有输入的系统。

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

作 者 | 郭志龙编 辑 | 郭志龙校 对 | 郭志龙



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3