2015 年 9 月 9 日 – MathWorks推出了包含一系列 MATLAB 和 Simulink 新功能的 Release 2015b(R2015b)。除包括 MATLAB 和 Simulink 的新功能以外,R2015b 还包括 83个其他产品的更新和修补程序。
MATLAB 产品系列
·MATLAB 更新包括:
o新增更快运行 MATLAB 代码的执行引擎
o用于创建、分析图形和网络并实现可视化的图形函数和有向图函数
o附加浏览器 — 用于增加社区创作的工具箱和 MathWorks 工具箱、应用、函数、模型及硬件支持的单一界面
o对 iOS 传感器、Raspberry Pi 2 和 BeagleBone Black 的硬件支持
·MATLAB Compiler SDK:可部署的 MATLAB 组件,与采用 Python 编写的应用程序集成
·Statistics and Machine Learning Toolbox:用于拟合模型的SVR(支持向量回归)和高斯过程(Kriging), 用于分类学习应用的PCA特征变换和65个函数的GPU加速
·Parallel Computing Toolbox:Statistics and Machine Learning Toolbox 中函数的 GPU 加速,包括概率分布、描述性统计和假设检验,以及其他 MATLAB 函数
·Image Processing Toolbox:Gabor 及盒滤波,20个函数可使用MATLAB Coder生成C代码,并改进了灰度形态和滤波性能
·Computer Vision System Toolbox:3-D 点云处理,包括几何形状拟合、法向矢量估算和可视化
·Database Toolbox:更快的数据库读取和写入速度
·Control System Toolbox:2-DOF PID 控制器调节
·Robust Control Toolbox:使用 systune 和 Control System Tuner 应用进行鲁棒调节,为不确定参数对象自动调节鲁棒控制器
Simulink 产品系列
·Simulink 更新包括:
o新增在示波器中通过光标和测量值来查看和调试信号的 UI
o用于创建可重用组件和简化大型建模项目的引用项目
o在仿真过程中,始终开启模块参数和工作空间变量的微调
o可用于 Simulink、Stateflow 和 Simulink Coder的多语言模块名称、信号名称和 MATLAB 函数注释
·Stateflow:消息 —可承载数据并且可以排队的新增对象
·Simscape:两相流体模块库,线性切换系统仿真速度改进
·Simulink Design Optimization:借助 Simulink 快速重启,提高了参数估计和响应优化速度
信号处理和通信
·Antenna Toolbox:无限阵列分析和 E-H 域的可视化
·LTE System Toolbox: Release 12 Small cells下行 256 QAM 调制、Release 11 多区零功率 CSI-RS 模式和增强波形生成
代码生成
·MATLAB Coder:元胞数组的 C 代码生成
·Embedded Coder:快速配置模型,以生成高效、可重用代码
·HDL Coder:使用 AXI4 接口为 Xilinx Zynq 和 Altera SoC FPGA 调节运行时硬件参数
·Simulink PLC Coder:可以为 Siemens TIA Portal IDE 生成代码,并在 Siemens TIA Portal 和 STEP 7 IDE 中支持全局变量
测试和验证
·Simulink Design Verifier:C-S function分析和Model Advisor运行时错误检查
·Simulink Test:使用 Simulink Design Verifier 生成的输入创建测试用例,可利用 DO Qualification Kit 和 IEC Certification Kit 进行工具鉴定
·Polyspace Bug Finder:用于检测代码漏洞的检查项和动态结果显示
R2015b 已在全球上市。有关详细信息,请参阅 R2015b 亮点。
H∞控制理论是20世纪80年代开始兴起的一门新的现代控制理论。H∞控制理论是为了改变近代控制理论过于数学化的倾向以适应工程实际的需要而诞生的,其设计思想的真髓是对系统的频域特性进行整形(Loopshaping),而这种通过调整系统频率域特性来获得预期特性的方法,正是工程技术人员所熟悉的技术手段,也是经典控制理论的根本。
1981年Zames首次用明确的数学语言描述了H∞优化控制理论,他提出用传递函数阵的H∞范数来记述优化指标。1984年加拿大学者Fracis和Zames用古典的函数插值理论提出了H∞设计问题的最初解法,同时基于算子理论等现代数学工具,这种解法很快被推广到一般的多变量系统,而英国学者Glover则将H∞设计问题归纳为函数逼近问题,并用Hankel算子理论给出这个问题的解析解。Glover的解法被Doyle在状态空间上进行了整理并归纳为H∞控制问题,至此H∞控制理论体系已初步形成。
在这一阶段提出了H∞设计问题的解法,所用的数学工具非常繁琐,并不像问题本身那样具有明确的工程意义。直到1988年Doyle等人在全美控制年会上发表了著名的DGKF论文,证明了H∞设计问题的解可以通过适当的代数Riccati方程得到。DGKF的论文标志着H∞控制理论的成熟。迄今为止,H∞设计方法主要是DGKF等人的解法。不仅如此,这些设计理论的开发者还同美国的The Math Works公司合作,开发了MATLAB中鲁棒控制软件工具箱(Robust Control Toolbox),使H∞控制理论真正成为实用的工程设计理论。
最近想挖掘一下自己项目的理论深度,于是找到了老师。在老师的建议下,我们开始了漫长的研读老师的论文的旅程(论文名:Optimal Design of Adaptive Robust Control for Fuzzy Swarm Robot Systems 模糊群自适应鲁棒控制的优化设计机器人系统)。这篇文章写的是关于群体智能控制在机器人群中的运用,提到了许多控制理论。诸如李雅普诺夫方程,模糊群分析,优化理论等等。作为一个理论白痴我选择将这些理论的东西的学习理解交给我的大佬队友。然后我选择了学习最后的simulation(实验仿真)。这里面的simulation用到了一种求解隐式微分方程的方法。于是就有了这篇文章的由来。
求解常微分方程组的方法
1、dsolve 函数
dsolve函数用于求常微分方程组的精确解,也称为常微分方程的符号解。如果没有初始条件或边界条件,则求出通解;如果有,则求出特解。
1)函数格式
Y = dsolve(‘eq1,eq2,…’ , ’cond1,cond2,…’ , ’Name’)
其中,‘eq1,eq2,…’:表示微分方程或微分方程组;
’cond1,cond2,…’:表示初始条件或边界条件;
‘Name’:表示变量。没有指定变量时,matlab默认的变量为t;
2)例程
例11(dsolve 求解微分方程)
求解微分方程:
\frac{dy}{dx}=3x^{2}
在命令行输入: dsolve('Dy=3x^2','x') ,摁下enter键后输出运行结果。
例12(加上初始条件)
求解微分方程:
只需要在命令行添加初始条件即可,此时求出的即为方程的特解。可以看到上例中的C9变为了2。
例2(dsolve 求解微分方程组)
求解微分方程组:
由于x,y均为t的导数,所以不需要在末尾添加’t’。
2、ode函数
在上文中我们介绍了dsolve函数。但有大量的常微分方程,虽然从理论上讲,其解是存在的,但我们却无法求出其解析解,此时,我们需要寻求方程的数值解。
怎么理解数值求解呢?数值分析是一门专门的学科,在此不过多介绍。我主要想通过一个简单的例子来向大家阐述数值求解的思想。
比如,求解微分方程 。我们就可以转化为,那么。因此,我们可以通过迭代的方式来求解y。即可理解为步长。
ode是Matlab专门用于解微分方程的功能函数。该求解器有变步长(variable-step)和定步长(fixed-step)两种类型。不同类型有着不同的求解器。
然后我又从其他大佬那ctrl+v了一份具体点的ODE求解器的整理。
在工程实践中,我们经常遇到一些ODEs,其中某些解变换缓慢,另一些变化很快,且相差悬殊的微分方程,这就是所谓的刚性问题(Stiff),对于所有解的变化相当我们则称为非刚性问题(Nonstiff)。
变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。
a) ode45:缺省值,四/五阶龙格-库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计算y(tn)时,它仅需要最近处理时刻的结果y(tn-1)。一般来说,面对一个仿真问题最好是首先试试ode45。
b) ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比ode45更有效。也是一个单步解法器。
c) ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻输出时,它需要以前多个时刻的解。
d) ode15s:是一种基于数字微分公式的解法器(NDFs)。也是一种多步解法器。适用于刚性系统,当用户估计要解决的问题是比较困难的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。
e) ode23s:它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于ode15s。它能解决某些ode15s所不能有效解决的stiff问题。
f) ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度stiff的问题而用户又需要一个无数字振荡的解法器的情况。
g)ode23tb:是TR-BDF2的一种实现, TR-BDF2 是具有两个阶段的隐式龙格-库塔公式。
h)discrtet:当Simulink检查到模型没有连续状态时使用它。
固定步长模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。
a) ode5:缺省值,是ode45的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。
b) ode4:四阶龙格-库塔法,具有一定的计算精度。
c) ode3:固定步长的二/三阶龙格-库塔法。
d) ode2:改进的欧拉法。
e) ode1:欧拉法。
f) discrete:是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^分割线^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
其中,ode45求解器属于变步长的一种,采用Runge-Kutta算法;其他采用相同算法的变步长求解器还有ode23。ode45表示采用四阶-五阶Runge-Kutta算法,它用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长(变步长)的常微分方程数值解法,其整体截断误差为(Δx)^5。解决的是Nonstiff(非刚性)常微分方程。
ode45是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,可换用ode15s试试。
下面将以ode45为例具体介绍函数的使用方法。
1)函数格式
[T,Y] = ode45(‘odefun’,tspan,y0)
[T,Y] = ode45(‘odefun’,tspan,y0,options)
[T,Y,TE,YE,IE] = ode45(‘odefun’,tspan,y0,options)
sol = ode45(‘odefun’,[t0 tf],y0)
其中: odefun是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名;
tspan 是求解区间 [t0 tf],或者一系列散点[t0,t1,,tf];
y0 是初始值向量
T 返回列向量的时间点
Y 返回对应T的求解列向量
options 是求解参数设置,可以用odeset在计算前设定误差,输出参数,事件等
TE 事件发生时间
YE 事件发生时之答案
IE 事件函数消失时之指针i
2)微分方程标准化
利用ode45求解高阶微分方程时,需要做变量替换。下面说明替换的基本思路。
微分方程为
初始条件
首先做变量替换
原微分方程可以转换为下面的微分方程组的格式:
下面就可以利用转换好的微分方程组来编写odefun函数。
实战运用
例31(编写odefun函数)
在matlab中新建脚本文件,编写函数如下:
本例中只需在例31的基础上编写主函数,加上求解区间和边值条件即可。需要注意的是,ode45的运行结果以列向量形式给出。因此在本例中,x的第一列为y,第二列为y’。如果遇到变量不是列向量形式的,可以考虑利用reshape函数做矩阵变换。
则,plot(t,x(:,1))画出来的是x的第一列数据,即为y;
plot(t,x(:,2))画出来的是x的第二列数据,即为y’;
得到的结果如下:
这算是ode45的一个小实战了吧
那么这个时候咱们来看看ode15s。
咱就是说,对于一个理论白痴而言,这个ode15s的用法不就跟ode45的用法一样嘛(后来我看了下好像好几个ode求解器的用法都一个样子)。想要运用这个那还不简单hhh。直接开搞
还是用上面那个例子:
没错,就是把ode45更改成ode15s就行了(其余求解器同理hhh)。
对比一下两个图像,发现仅仅就是点集的密集程度不同,还没有很大的差别。
然后感觉这个小例子不太好玩,想玩点更高级的。
混沌
混沌运动的直观形象,在随能量不断耗散而自由度降低的耗散系统中看得更清楚。1963年美国气象学家E洛伦茨在研究对天气至关紧要的热对流问题时,把包含无穷多自由度的热对流偏微分方程简化为三个变量的一阶非线性常微分方程组:
dx/dt=-σx+σy
dy/dt=rx-y-xz
dz/dt=bz+xy
式中变量x表示大气对流强度,y表示上升流与下降流温差,z表示垂直温度剖面变化。系数σ为普朗特数,r为瑞利数,b为量度水平温度结构与垂直温度结构衰减率之差异。洛伦茨选定σ=10,r=28,b=8/3,然后数值求解方程组。结果发现,这极度简化了的系统,出现了极为复杂的运动形式。起始值的细微变化,足以使轨道全然改观。把数值计算结果在由x,y,z支撑的三维相空间中画出来。这是一条在三维空间似乎无序地左右回旋的连续光滑曲线,它并不自我相交,呈现复杂的结构纹样。无论初始值选取在哪里,系统轨道有同一归宿,形成所谓奇异吸引子。在奇异吸引子上,如果选取任意接近的两个点为初始值,其运动轨迹以指数方式迅速分离,表现出对初值的极端敏感。具体的是,轨道左右跳动的顺序和次数完全不同。计算表明,初始位置几乎会聚在一起的10,000个点,稍后便会在图中所示的吸引子上到处分布,说明这样的系统中,由于初值的细微不同,运动是不可预测的。(更多的在这)
看不懂没关系,因为我也看不太懂hhh(不愧是理论白痴),咱就来看看这个微分方程,自己用求解器解着玩一玩呗。
\frac{dx}{dt}=\delta (y-x) (1)
\frac{dy}{dt} = rx-y-xz (2)
\frac{dz}{dt}=xy-bz (3)
(咱就是说,百度百科里的这个式子少了个负号,我跑matlab发现没负号是跑不出来的。无论哪个求解器都不行。然后看了看其他地方的混沌理论的式子,确实是-bz)
没问题了那就跑呗。
为啥代这几个值(我看的视频),不过我查了一下hhh这几个参数是来源于某个地方: 奇异吸引子(Strange Attractor)——非线性系统的一大杰作(这是我看的资料来源)
然后接着敲代码:
先跑一跑一阶的x。
已经有点混沌的影子了;
二阶:
这里是用y和z跑的图像。用x,y;x,z跑出来又不一样:
有点内味了叭!
下面将隆重推出三阶最终的图像:
有没有感觉像一个蝴蝶?哈哈,没错。告诉大家一个秘密,其实这才是蝴蝶效应名字的由来。
以上代码是用ode45跑的,用另外一个求解器同理。
总结
真没啥总结。整理下来证明了自己还是学了东西的hhh。老师说,我们后面在跑证明的时候会出现用ode45解不出来的式子,而用ode15s和其他几个求解器能跑出来。这是由于不同的求解器内部都有不同的算法,能求解不同的式子,达到不同的精度。就是说有点子好奇与期待了!
放一张老师论文里的仿真图:
下次文章如果大家能看到我把以上4个图里的3个参数变成5个,那就说明我对于自己项目的理论的仿真部分算是成功了哈哈哈!
分为两类:功能型工具箱和领域型工具箱。
功能型工具箱主要用来扩充MATLAB的符号计算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能用于多种学科。
领域型工具箱是专业性很强的。如图像处理工具箱(Image Processing Toolbox)、控制工具箱(Control Toolbox)、信号处理工具箱(Signal Processing Toolbox)等。下面,将MATLAB工具箱内所包含的主要内容做简要介绍:
1) 图像处理工具箱(Image Processing Toolbox)。
二维滤波器设计和滤波
图像恢复增强
色彩、集合及形态 *** 作
二维变换
图像分析和统计
可由结构图直接生成可应用的C语言源代码。
2)控制系统工具箱(Control System Toolbox)。
鲁连续系统设计和离散系统设计
状态空间和传递函数
模型转换
频域响应:Bode图、Nyquist图、Nichols图
时域响应:冲击响应、阶跃响应、斜波响应等
根轨迹、极点配置、LQG
3)财政金融工具箱(FinancialTooLbox)。
成本、利润分析,市场灵敏度分析
业务量分析及优化
偏差分析
资金流量估算
财务报表
4)频率域系统辨识工具箱(Frequency Domain System ldentification Toolbox
辨识具有未知延迟的连续和离散系统
计算幅值/相位、零点/极点的置信区间
设计周期激励信号、最小峰值、最优能量诺等
5)模糊逻辑工具箱(Fuzzy Logic Toolbox)。
友好的交互设计界面
自适应神经—模糊学习、聚类以及Sugeno推理
支持SIMULINK动态仿真
可生成C语言源代码用于实时应用
(6)高阶谱分析工具箱(Higher—Order SpectralAnalysis Toolbox
高阶谱估计
信号中非线性特征的检测和刻画
延时估计
幅值和相位重构
阵列信号处理
谐波重构
(7) 通讯工具箱(Communication Toolbox)。
令提供100多个函数和150多个SIMULINK模块用于通讯系统的仿真和分析
——信号编码
——调制解调
——滤波器和均衡器设计
——通道模型
——同步
(8)线性矩阵不等式控制工具箱(LMI Control Toolbox)。
LMI的基本用途
基于GUI的LMI编辑器
LMI问题的有效解法
LMI问题解决方案
(9)模型预测控制工具箱(ModelPredictive Control Toolbox
建模、辨识及验证
支持MISO模型和MIMO模型
阶跃响应和状态空间模型
(10)u分析与综合工具箱(u-Analysis and Synthesis Toolbox)
u分析与综合
H2和H无穷大最优综合
模型降阶
连续和离散系统
u分析与综合理论
(11)神经网络工具箱(Neursl Network Toolbox)。
BP,Hopfield,Kohonen、自组织、径向基函数等网络
竞争、线性、Sigmoidal等传递函数
前馈、递归等网络结构
性能分析及应用
(12)优化工具箱(Optimization Toolbox)。
线性规划和二次规划
求函数的最大值和最小位
多目标优化
约束条件下的优化
非线性方程求解
(13)偏微分方程工具箱(Partial DifferentialEquation Toolbox)。
二维偏微分方程的图形处理
几何表示
自适应曲面绘制,
有限元方法
(14)鲁棒控制工具箱(Robust Control Toolbox)。
LQG/LTR最优综合
H2和H无穷大最优综合
奇异值模型降阶
谱分解和建模
(15)信号处理工具箱(signal Processing Toolbox)
数字和模拟滤波器设计、应用及仿真
谱分析和估计
FFT,DCT等变换
参数化模型
(16)样条工具箱(SPline Toolbox)。
分段多项式和B样条
样条的构造
曲线拟合及平滑
函数微分、积分
(17)统计工具箱(Statistics Toolbox)。
概率分布和随机数生成
多变量分析
回归分析
主元分析
假设检验
(18)符号数学工具箱(Symbolic Math Toolbox)。
符号表达式和符号矩阵的创建
符号微积分、线性代数、方程求解
因式分解、展开和简化
符号函数的二维图形
图形化函数计算器
(19)系统辨识工具箱(SystEm Identification Toolbox)
状态空间和传递函数模型
模型验证
MA,AR,ARMA等
基于模型的信号处理
谱分析
(20)小波工具箱(Wavelet Toolbox)。
基于小波的分析和综合
图形界面和命令行接口
连续和离散小波变换及小波包
一维、二维小波
自适应去噪和压缩
如果是系统自带的,你可以直接用,如果是外部的或者是自编的你需要先把文件夹拷贝到tools文件夹下,再设置路径。
Matlab常用工具箱介绍(英汉对照)
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系统工具箱
Communication Toolbox——通讯工具箱
Financial Toolbox——财政金融工具箱
System Identification Toolbox——系统辨识工具箱
Fuzzy Logic Toolbox——模糊逻辑工具箱
Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱
Image Processing Toolbox——图象处理工具箱
LMI Control Toolbox——线性矩阵不等式工具箱
Model predictive Control Toolbox——模型预测控制工具箱
μ-Analysis and Synthesis Toolbox——μ分析工具箱
Neural Network Toolbox——神经网络工具箱
Optimization Toolbox——优化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——鲁棒控制工具箱
Signal Processing Toolbox——信号处理工具箱
Spline Toolbox——样条工具箱
Statistics Toolbox——统计工具箱
Symbolic Math Toolbox——符号数学工具箱
Simulink Toolbox——动态仿真工具箱
System Identification Toolbox——系统辨识工具箱
Wavele Toolbox——小波工具箱
例如:控制系统工具箱包含如下功能:
连续系统设计和离散系统设计
状态空间和传递函数以及模型转换
时域响应(脉冲响应、阶跃响应、斜坡响应)
频域响应(Bode图、Nyquist图)
根轨迹、极点配置
较为常见的matlab控制箱有:
控制类:
控制系统工具箱(control systems toolbox)
系统识别工具箱(system identification toolbox)
鲁棒控制工具箱(robust control toolbox)
神经网络工具箱(neural network toolbox)
频域系统识别工具箱(frequency domain system identification toolbox)
模型预测控制工具箱(model predictive control toolbox)
多变量频率设计工具箱(multivariable frequency design toolbox)
信号处理类:
信号处理工具箱(signal processing toolbox)
滤波器设计工具箱(filter design toolbox)
通信工具箱(communication toolbox)
小波分析工具箱(wavelet toolbox)
高阶谱分析工具箱(higher order spectral analysis toolbox)
其它工具箱:
统计工具箱(statistics toolbox)
数学符号工具箱(symbolic math toolbox)
定点工具箱(fixed-point toolbox)
射频工具箱(RF toolbox)
Matlab工具箱已经成为一个系列产品,Matlab主工具箱和各种工具箱(toolbox )。
工具箱简介
1功能型工具箱 —— 通用型
功能型工具箱主要用来扩充Matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。
2领域型工具箱 —— 专用型
领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱( Control System Toolbox);信号处理工具箱(Signal Processing Toolbox);财政金融工具箱( Financial Toolbox)等等。只适用于本专业。
3
Matlab常用工具箱
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系统工具箱
Communication Toolbox——通讯工具箱
Financial Toolbox——财政金融工具箱
System Identification Toolbox——系统辨识工具箱
Fuzzy Logic Toolbox——模糊逻辑工具箱
Bioinformatics Toolbox——生物分析工具箱
Image Processing Toolbox——图象处理工具箱
Database Toolbox——数据库工具箱
Model predictive Control Toolbox——模型预测控制工具箱
Neural Network Toolbox——神经网络工具箱
Optimization Toolbox——优化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——鲁棒控制工具箱
Signal Processing Toolbox——信号处理工具箱
Spline Toolbox——样条工具箱
Statistics Toolbox——统计工具箱
Symbolic Math Toolbox——符号数学工具箱
Simulink Toolbox——动态仿真工具箱
Virtual Reality Toolbox——虚拟现实工具箱
Wavelet Toolbox——小波工具箱
等等……
而且每个新出的版本都在增加、更新完善。
以上就是关于matlab2015b和matlab2015a有什么区别全部的内容,包括:matlab2015b和matlab2015a有什么区别、鲁棒控制的H∞控制理论、matlab中怎样用ode函数求非线性方程的解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)