Matlab符号工具箱
Matlab的符号数学工具箱可以完成几乎所有得符号运算功能。这些功能主要包括:符号表达式的运算,符号表达式的复合、化简,符号矩阵的运算,符号微积分、符号函数画图,符号代数方程求解,符号微分方程求解等。此外,工具箱还支持可变精度运算,既支持符号运算并以指定的精度返回结果。
在此也仅仅列出函数的名称和功能,至于其参数设置,可借助Matlab的帮助系统,可参见help-〉Symbolic Math Toolbox-〉Functions -- Categorical List,这里有详细的列表。
一、符号表达式的运算[n,d]=numden(a) 提取符号表达式a的分子和分母,并将其存放在n和d中
n=numden(a) 提取符号表达式a的分子和分母,只将分子存放在n中
symadd(a,b) 返回符号表达式a和b的和,也可直接用a+b
symsub(a,b) 返回符号表达式a和b的差,也可直接用a-b
symmul(a,b) 返回符号表达式a和b的积,也可直接用a*b
symdiv(a,b) 返回符号表达式a和b的商,也可直接用a/b
sympow(a,b) 返回符号表达式a的b次幂,也 ...
Lyapunov稳定性
稳定性分析不仅仅只是设计好控制器后对已有系统增加控制装置后判断系统运动状态是否稳定,还能够通过对系统稳定性的分析过程,反过来去设计一款能够稳定系统的控制器,因此稳定性分析也在控制器设计中担当者设计指导和验收的双重角色。
系统的运动稳定性可以分为基于输入输出描述的外部稳定性和基于状态空间描述的内部稳定性。内部稳定性和外部稳定性的关系: 若系统为内部稳定即渐近稳定,则系统必为BIBO稳定即外部稳定;系统为BIBO稳定即外部稳定不能保证系统必为内部稳定即渐近稳定。
Lyapunov稳定性对于一个给定的控制系统,稳定性分析通常是最重要的 。如果系统是线性定常的,那么有许多稳定性判据,如Routh-Hurwitz稳定性判据和Nyquist稳定性判据等可资利用。然而,如果系统是非线性的,或是线性时变的,则上述稳定性判据就将不再适用。 Lyapunov稳定性分析是解决非线性系统稳定性问题的一般方法。
系统的Lyapunov稳定性指的是系统在平衡状态下受到扰动时,经过“足够长”的时间以后,系统恢复到平衡状态的能力。系统的稳定性是相对于系统的平衡状态而言的。
平衡状态设系统状态方程为$\dot ...
系统动力学背景知识
此次的笔记主要是介绍背景知识,这里将整理一些后续设计神经网络控制器需要用到的一些知识储备,包括系统的类型,不同的表达方式,属性(如利普西斯条件),连续、一致连续的概念和理解等;还有很重要的一点是,也会记录利用matlab编写系统仿真的流程。
1. 系统分类系统分为两大类,①自治系统(autonomous system)$\dot{x}=f(x)$和②非自治系统(non-autonomous system)$\dot{x}=f(x,t)$。如果认真看的话,不难发现,这两种系统仅有一个地方不同,就是非自治系统在系统模型上,是关于时间t 的显性表达(在英文文献中的explicit time dependence就是这个意思)。
简单粗暴的从中文译文的意思来看,就是说自治系统自我管理,不收外界的干扰,非自治则是受外界干扰生活不能自理,这种生活不能自理的人,当然是很难管教的。自治系统的系统结构和参数是不会随着时间的变化而有所改变的,对于这样的一个系统,给定了输入和已知初始状态,其系统的输出是完全可以确定下来的,因此这样的系统控制起来也相对,注意只是相对更简单些。
而非自治系统就麻烦许多,因为 ...
Lyapunov稳定性复习笔记
本文所提及的稳定性分析是指系统运动状态的稳定性分析。“一个不稳定的系统,小则无法正常工作大则为人类带来灾难甚至毁灭性的恶果,例如社会动荡、金融危机、电网崩溃、飞机失事等”。稳定性分析不仅仅只是设计好控制器后对已有系统增加控制装置后判断系统运动状态是否稳定,还能够通过对系统稳定性的分析过程,反过来去设计一款能够稳定系统的控制器,因此稳定性分析也在控制器设计中担当者设计指导和验收的双重角色。注意,本文是复习笔记,对于没有一定现代控制理论基础的同学来说,不一定是合适的阅读资料。
2018年6月4日Dianye Huang 于华工
自适应控制设计
《自适应控制基本思想》一文主要介绍了自适应控制设计的基本思路,但是针对控制率的设计没有具体说明,这里针对反馈控制率的设计步骤进行具体介绍。
控制器设计基本思想对于任何一个动态系统,我们都可以根据Lyapunov稳定性设计其控制器,具体的说就是
首先根据期望值 $x_{d}$ ,将原系统改为误差系统,即将 $\dot{x} =f( x,u)$ 转化为 $\dot{e} =f( e,u,x_{d})$ ,利用误差信息,并在此基础上进行控制系统则为闭环控制系统设计,即我们利用系统的输出值,开环控制则不需要任何系统的反馈信号;
在误差系统 $\dot{e} =f( e,u,x_{d})$的基础上,理论上,只要我们构造了某一个Lyapunov函数,为了满足系统稳定性的条件,构造了相对应的控制 $u$ ,则完成了系统控制率的设计;
那么包括滑模控制,反馈线性化控制都是基于上述思想进行设计的,也基本代表了现代控制理论的设计思路。其实传统的控制系统设计也是基于满足系统稳定性进行设计,只不过传统的系统稳定性是基于传递函数,保证系统的特征方程稳定。
这里对比一个现代控制理论与传统控制理论设计思路上 ...
稳定性分析的一个例子
已知系统:
请判断其稳定性。
思路:判断系统的稳定性,只要求出系统的闭环极点即可,而系统的闭环极点就是闭环传递函数的分母多项式的根,可以利用MATLAB中的tf2zp函数求出系统的零极点,或者利用root函数求分母多项式的根来确定系统的闭环极点,从而判断系统的稳定性。同时采用阶跃响应曲线可以验证系统稳定性。
以下为基于Simulink采用阶跃响应曲线验证并观察系统稳定性。
Simulink建模如下:
结果如下:
以下为基于MATLAB编程(改变系统增益K的值,观察并分析K值得改变对于系统稳定性的影响)绘制系统零极点分布图分析系统稳定性:
123456789101112131415clc;clear;close all;i = 1;z = -2.5;p = [0 -0.5 -0.7 -3];for k = [0.2 0.5 2 5] G = zpk(z,p,k); H = zpk(0,0,1); Cloop = feedback(G,H); subplot(4,2,i),step(Cl ...
矩阵基本性质
矩阵$A$的第$i$⾏第$j$列的元素为$A_{\text{ij}}$。我们⽤$I_{N}$或($I$)表⽰$N \times N$的单位矩阵。
1.矩阵的加减法(1)${C}={A \pm B}$,对应元素相加减
(2)矩阵加减法满足的运算法则
a.交换律:${A + B}={B + A}$
b.结合律:$\left( {A + B} \right) + {B}{= A+}({B + C})$
c.${A + 0}={A}$
d.$A - A= 0$
2.矩阵的数乘(1)$\bf{B}=\lambda\bf{A}$,各元素均乘以常数
(2)矩阵数乘满足的运算法则
a.数对矩阵的分配律:$\lambda\left( \bf{A + B}\right)\bf=\lambda\bf{A +}\lambda\bf{B}$
b.矩阵对数的分配律:$\left( \lambda\bf{+}\mu\right)\bf{A}\bf=\lambda\bf{A +}\mu\bf{A}$
c.结合律:$\left( \text{λμ}\right)\bf{A}\bf=\lambda\bf{(}\mu\ ...
关于矩阵的理解与解释
本文总结了矩阵的理解和解释。
正定矩阵我来说一个正定矩阵在物理上的应用。原链接
物理上有个定理叫做最小作用量原理,这是力学的基础。这个定理说,粒子总是沿着作用量极小的那条路径运动的。 作用量说白了就是粒子的动能和势能的差。大家都知道动能正比于速度的平方。但是你考虑粒子未必只有一个独立的速度分量,特别是那些由许多粒子构成的系统,可能会有成千上万个速度。所以一般来说,动能是速度的二次型。也就是说,可以写成中间一个矩阵,速度矢量夹在两边。中间那个矩阵地位与质量相当,有时就称为质量矩阵。 好了,现在我们有一个很重要的要求,就是质量矩阵必须是正定的。 为什么呢?因为正定矩阵的二次型也是正定的,也就是说最少最少也要是0. 作用量要极小化,如果质量矩阵不是正定的,那么动能就可以是负的。这样我们如果使某些速度无限地增大,动能就越来越负,作用量就没有底了,怎么极小化呢。所以质量矩阵的正定性是能够实现作用量极小的要求,一切物理上合理的系统都应该具有正定的质量矩阵。
还有一个例子,就是量子力学。原链接
量子力学的数学基础之一是Hilbert空间。Hilbert空间是一个内积空间。向量和自己的 ...
高级Lyapunov稳定性
基本概念函数及其导数的渐进性质
$\dot{f( t)}\rightarrow 0 \nRightarrow f( t)$收敛
几何上,导数趋近于零意味着切线越来越平,但是并不意味着函数收敛。比如$f( t) =sin( Ln( t))$,$f( t) =\sqrt{t} sin( Ln( t))$
$f( t)$收敛$\nRightarrow\dot{f( t)}\rightarrow 0$,比如$f( t) =e^{-t} sin^{2}\left( e^{2t}\right)$
说明:可微函数一致连续的充分条件是其导数有界
Barbalat引理如果可微函数$f(t)$(一阶连续可导),当$t\rightarrow\infty$时存在有界极限,且$\dot{f( t)}$一致连续,则$t\rightarrow\infty$时$\dot{f( t)}\rightarrow 0$
推论1如果可微函数 $f( t) $(一阶连续可导),当$t\rightarrow \infty$时存在有界极限,且$f( t)$的二阶导数存在且有界,则$t\rightarrow \infty$ ...
自适应控制的基本思想
自适应控制所讨论的对象,一般是指对象的结构已知,仅仅是参数未知,而且采用的控制方法仍是基于数学模型的方法
但实践中我们还会遇到结构和参数都未知的对象,比如一些运行机理特别复杂,目前尚未被人们充分理解的对象,不可能建立有效的数学模型,因而无法沿用基于数学模型的方法解决其控制问题,这时需要借助人工智能学科,也就是智能控制
自适应控制与常规的控制与最优控制一样,是一种基于数学模型的控制方法
自适应控制所依据的关于模型的和扰动的先验知识比较少,需要在系统的运行过程中不断提取有关模型的信息,使模型愈来愈准确
常规的反馈控制具有一定的鲁棒性,但是由于控制器参数是固定的,当不确定性很大时,系统的性能会大幅下降,甚至失稳
设计思路问题的提出对于一个非线性系统
$\dot{x} =-ax^{2}+u$a是未知参数,u是控制输入
要求设计一个合理的控制信号$u$,使得系统状态$x(t)$跟踪上期望信号$x_d(t)$,假设$x_d(t)$是解析并有界的,且其微分$\dot{x}_{d}( t) $也是连续且有界的,这个假设在实际中可以满足,因为跟踪信号往往是认为设计的。
解决思路对于现代控制理 ...