MATLAB控制系统仿真与CAD
CACSDC:韩京清
Simscape工具
MATLAB语言的变量名规则
由一个字母引导,后面可以为其他字符,区分大小写,不能有变量前置下划线_
eps:判零的误差限,i和j表示虚数的单位
MATLAB将数据转化为双精度的数据结构,而后转化为符号型的数据结构
改进方法:使用单引号转化为字符串(C语言使用双引号)
符号性数据结构syms,sym,vpa
MATLAB的基本语句结构
保留变量:ans
存放最近一次无赋值变量语句的运算结果
MATLAB支持的结构
for循环结构(类似于C语言)
累加函数(从1加到100)
sum(1:100)
向量化编程
tic与toc:计算耗时
conv()计算两个多项式的积
伪代码语句
pcode (不可逆)
已知数据绘图:plot(t, y)
已知函数绘图:fplot(f,[xm,xM])
例:
>> x=[-pi:0.05:pi]
>> y=sin(tan(x))-tan(sin(x))
>> plot(x,y)
或使用已知函数绘图:
>> syms x; y=sin(tan(x))-tan(sin(x)); fplot(y, [-pi,pi])
分段函数
函数体.*条件
(在进行矩阵之间的运算时“.”和“”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。)
bar(x, y):绘制直方图
极坐标绘图:
例:
>> theta=0:0.01:6*pi
>> rho=5*sin(4*theta/3)
>> polarplot(theta,rho)
窗口分割:
subplot(line, column, number)
隐函数绘制:
fimplicit(im_function, [start, end])
save和load命令存储和读取数据
xlsread函数调用实现于Excel的交互
三维图形的绘制
plot3(x, y, z)
绘制三维轨迹图:comet3
注意a的b次方一定要用点运算:a.^b
一般曲面绘制:[x, y] = meshgrid(v1, v2)
meshgrid用于生成网格采样点的函数
surf()表面图
mesh()网格图
三维图形视角设置
命令语句:
view(alpha, beta)
alpha定义为方位角,beta定义为仰角
面向对象程序设计
窗口对象的常用属性
生成两个文件:.fig文件用于描绘图形界面属性,.m文件用于空白的框架
把图形界面画出来并设置好对应的属性
绘制Bode图
guide可以设计图形菜单系统
ActiveX控件
线性代数问题求解:
稳定性可以通过矩阵特征值求解
系统可控性、可观测性可以求矩阵的秩
线性相似变换需要求解矩阵的逆和惩罚
状态方程解析解需要矩阵的指数函数等
矩阵的迹:对角元素的和(trace(A))
矩阵的秩:矩阵列向量中线性无关的最大列
矩阵的范数:用一个数表示矩阵的大小(norm(A))
特征多项式:ploy(A)
特征根求解:
r=roots(p), r=eig(A), [V, D]=eig(A)
(V表示的是特征向量,D表示的是特征值)
多项式求值:C=polyval(a, x)
多项式矩阵求值:C=polyvalm(a, A)
矩阵的逆:inv(A)
Moore-Penrose广义逆(伪逆)min||AM-I||
矩阵的伪逆:pinv(A)
矩阵的三角分解(LU分解):LU=lu(A)
eye()生成单位矩阵
例:
>> syms a b c;A=[1,1,1;a,b,c;a^2,b^2,c^2];
>> det(A);simplify(factor(ans)) % simplify函数可以对符号表达式进行简化
>> B=inv(A);simplify(B*A-eye(3)) % A乘以A的逆矩阵结果为单位阵,减去单位阵恰好等于零
>> p=charpoly(A)
矩阵的指数函数:expm(A)
注意方程式内的变量要声明为符号变量sym(A)
线性方程的求解
AX=B X=inv(A)*B
null(A) % 得出A矩阵的化零空间(基础解系)
pinv(A) % 特解
如果无解则使用最小二乘的方法得出近似解
基本行变换求解:rref()函数
通过求伪逆的方式(奇异矩阵或非方阵的矩阵不存在逆矩阵)
微分方程求解方法
连续系统一般是由微分方程解出
一阶显式微分方程的数值解法
微分方程数值解算法
步骤:
将微分方程变换成标准型
用MATLAB描述微分方程
- 函数或匿名函数(f=@(t,x)[…])
求解:
[t,x]=ode45()
验证:odeset()函数
例:非线性微分方程
变换x1=x, x2=y, x3=z
>> [f=@(t,x)[-x(2)-x(3);x(1)+0.2*x(2);0.2+(x(1)-5.7)*x(3)];](mailto:f=@(t,x)[-x(2)-x(3);x(1)+0.2*x(2);0.2+(x(1)-5.7)*x(3)];)
高阶微分方程变换
注意:一定要转换成标准型,即x=[]矩阵
x与x的导数的曲线:相轨迹曲线(增大到某一个封闭的曲线就是极限环)
数值求解方法:
描述微分方程(不能用匿名函数)
微分方程检验:odeset
RelTol:[]相对误差限(默认值为千分之一)
微分方程的解析解:
注:solve() 函数是用于求解代数方程的
D?y 表示y的?阶导数,或者是实用diff命令来求导
simplify() % 化简结果
最优化问题
无约束最优化问题求解
求解步骤:
写标准型
描述目标函数:M-函数或匿名函数
直接求解(边界约束求解fminsearchbnd())
有约束最优化问题求解
fmincon() 函数
注意分清楚哪个是目标函数哪个是约束条件,哪个是目标函数
约束条件要转化为小于等于零的不等式
使用 fmincon() 函数返回的前两个量第一个是
线性规划、二次型规划等其他最优化规划问题
全局最优解的尝试
可以使用进化类算法求解,如遗传算法等
最优曲线拟合
lsqcurvefit()
Laplace变换与Z变换
数学基础:t域到s域的变换
正变换和反变换
>> syms a t, f=1-(1+a*t)*exp(-a*t);
>> laplace(f)
如果得不到拉氏变换或者拉氏反变换的解析解,可以采用数值解的方式
无理系统的闭环阶跃响应
阶跃响应计算:没有解析解,必须求数值解
Z变换与反变换
Z变换采用求和而不是积分
把时间序列变成Z域的函数(正变换)
反变换
ztrans()
iztrans()
线性控制系统的建模实例
系统数学模型的分类
传递函数、状态方程、时间延迟、采样周期
连续系统模型的输入
线性系统的常系数线性常微分方程模型:
如果ai和bi都是常数,则系统又称为定长系统
m<=n,则为物理可实现系统
传递函数的MATLAB表示
传递函数即放大倍数:G(s)=Y(s)/U(s)
MATLAB的传递函数对象
传递函数对象属性:新版本get(tf)
传递函数属性修改
G.ioDelay=3
或
set(G, ‘ioDelay’, 3)
传递函数参数提取
由于使用单元数组,直接用G.num不行
将数值提取出来,之后调用tfdata即可显示分子分母多项式
传递函数输入小结
传递函数的定义与两种输入方法
- 调用tf函数直接输入
- 定义s算子,再输入传递函数
可以提取传递函数的分子与分母tfdata
状态方程模型
注意:这里必须是物理可实现系统(即t时刻的输出不能由t往后的时间输入决定)
一些特殊线性模型不存在状态方程
引入描述符系统
(若物理可实现系统,则E为单位阵)
MATLAB输入方法:ss(A, B, C, D)
通过调用ss函数,构造状态方程对象
带时间延迟的状态方程
线性系统的零极点模型
离散模型输入方法
离散模型有自己的采样周期,而连续系统的采样周期是零
MATLAB控制系统仿真与CAD相关推荐
- MATLAB/Simulink在控制系统仿真与CAD应用(一)
MATLAB控制系统仿真 MATLAB编程部分 将一个离散系统传递函数输入计算机 由微分方程得传递函数和零极点模型 输入差分方程到MATLAB工作空间 SISO线性系统推导闭环传递函数 传递函数转状态 ...
- matlab 0106,MATLAB控制系统仿真与实例详解.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > matlab MATLAB控制系统仿真与实例详解.pdf6页 本 ...
- matlab状态方程 传递函数 可控性,matlab 控制系统仿真
摘 要 MATLAB语言是一种十分有效的工具,能容易地解决在系统仿真及控制系统计算机辅助设计领域的教学与研究中遇到的问题,它可以将使用者从繁琐的底层编程中解放出来,把有限的宝贵时间更多地花在解决科学问 ...
- matlab vvvs电机,MATLAB/Simulink在控制系统仿真与CAD应用(一)
MATLAB编程部分 将一个离散系统传递函数输入计算机 如果T=0.1s H ( z ) = z 2 + 0.568 ( z − 1 ) ( z 2 − 0.2 z + 0.99 ) H(z)=\fr ...
- matlab控制系统仿真论文,基于MATLAB的异步电动机直接转矩控制系统仿真毕业论文...
摘 要 矢量控制的交流变频调速系统具有非常好的性能和效率,在许多要求高性能和高精度的场合,矢量控制体现出来了其巨大的优势.对于电气传动系统的研究,往往会遇到数学物理计算的难题,难于得到比较贴近实际系 ...
- matlab控制系统仿真论文,基于MATLAB的过程控制系统仿真毕业设计论文.doc
基于MATLAB的过程控制系统仿真毕业设计论文 毕业设计论文 基于MATLAB的过程控制系统仿真研究 摘 要 在水箱液位控制系统中,通过建立数学模型以及实验中对实验数据的分析,分别确定了单容.双容.三 ...
- matlab 控制系统仿真实验代码
控制系统几个模型汇总 %矩阵乘法 A = [1 2;3 4]; B = [5 5;7 8]; A^2*B %矩阵除法 A = [1 2 3;4 5 6;7 8 9]; B = [1 0 0;0 2 0 ...
- c语言多变量传函,控制系统仿真-中国大学mooc-题库零氪
第1章 控制系统仿真与CAD概述 第1章 控制系统仿真与CAD概述 单元测试 1. A. B. C. D. 2. A. B. C. D. 3. A. B. C. D. 4. A. B. C. D. 5 ...
- P13 最优控制系统-《Matlab/Simulink与控制系统仿真》程序指令总结
上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 13. 最优控制系统 13.1 Matlab ...
最新文章
- 博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理
- 【ArcGIS风暴】ArcGIS 10.2栅格计算器实用公式大全(经典珍藏版)
- mysql order by date_Best practice question for MySQL: order by id or date?
- hdu I Hate It
- 小型微型计算机系统2006,小型微型计算机系统杂志
- scala的三个排序方法
- chrome frame解决IE9一下不兼容问题
- origin matlab调用,origin与matlab使用教程
- HTMLTestRunner测试报告美化
- 项目验收流程小TIPS
- PHP字符串函数stripslashes(反引用一个addslashes转义的字符串)
- flappy brid
- Excel·VBA多条件筛选组合结果
- html点击按钮跳出消息框
- 大数据学习之Linux服务器常用命令
- 商家或企业做小红书种草推广具体有哪些好处?
- html照片编辑,照片编辑器「Photo Editor」
- mysql外键约束的作用_如何在MySQL中设置外键约束以及外键的作用
- 数据分析之Matplotlib和机器学习基础
- 复试中老师提问频率极高的问题,23考研er可以参考借鉴!
热门文章
- [RK3399]触摸屏汇顶gt9xx调试
- 【倩女幽魂妖魔道】聊斋妖魔道之倩女幽魂单机版一键端源码分享
- 关于时间time_t和tm的介绍(很详细)
- python运行报错: Permission denied: ‘xxx.xxx‘
- 【历史上的今天】8 月 26 日:jQuery 发布;中国第一台百万次计算机试制成功
- 日本综合交通枢纽集约式发展经验
- 红米k30 android版本,红米K30配置如何 红米K30手机参数配置及图赏
- OCRM与ACRM的区别
- 【技巧】去哪找高清免费素材?这些资源网站必须收藏!
- 微信中怎么打开apk下载链接 微信跳转打开外部浏览器打开apk文件