计算仿真课件 第五章 matlab建模与仿真

上传人:wm****3 文档编号:51703136 上传时间:2018-08-16 格式:PPT 页数:26 大小:922.50KB
返回 下载 相关 举报
计算仿真课件 第五章 matlab建模与仿真_第1页
第1页 / 共26页
计算仿真课件 第五章 matlab建模与仿真_第2页
第2页 / 共26页
计算仿真课件 第五章 matlab建模与仿真_第3页
第3页 / 共26页
计算仿真课件 第五章 matlab建模与仿真_第4页
第4页 / 共26页
计算仿真课件 第五章 matlab建模与仿真_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《计算仿真课件 第五章 matlab建模与仿真》由会员分享,可在线阅读,更多相关《计算仿真课件 第五章 matlab建模与仿真(26页珍藏版)》请在金锄头文库上搜索。

1、计算机仿真技术济南大学控制科学与工程学院授课教师:李实cse_1教1007室1济南大学控制科学与工程学院计算机仿真技术第五章 MATLAB建模与仿真 5.1 MATLAB语言基础 5.2 MATLAB在控制系统仿真中的应用 5.3 MATLAB常微分方程建模与仿真 5.4 SIMULINK仿真2济南大学控制科学与工程学院计算机仿真技术5.1 MATLAB语言基础5.1.1 MATLAB软件介绍5.1.2 工作空间与使用帮助5.1.3 基本运算5.1.4 矩阵函数5.1.5 绘图功能3济南大学控制科学与工程学院计算机仿真技术5.1.1 MATLAB软件介绍MATLAB是一 款以矩阵为基 础的用于

2、数学 与工程计算的 软件。 它不是一种计 算机语言,而 是一种高级的 用于科学分析 与计算的软件 。4济南大学控制科学与工程学院计算机仿真技术5.1.1 MATLAB软件介绍MATLAB取自与Matrix与Laboratory两词的前三个字母组合。起源 于20世纪70年代后期,用FORTRAN语言编写的用于减轻学生负担 的集命令翻译、科学计算与一体的交互式软件系统。 1984年成立MathWorks公司,将MATLAB推向市场,内核采用C 语言编写,增加数据图视功能,因为其良好的开放性与运行可靠性 ,淘汰控制领域大量的封闭式软件。 1993年推出MATLAB4.0版本,从此告别了DOS版,并推

3、出了 SIMULINK,这是一个交互式操作的动态系统建模、仿真、分析集成 环境。开发了与外部直接交换数据的组件,使其可以进行实时数据 分析、处理和硬件开发。推出了符号计算软件包。构建了Notebook 。 2005年MATLAB为7.1版本。MATLAB有很多工具包(Toolbox),一个工具包是一些特定M文件 的集合。比如,控制分析与设计工具包,优化工具包,预测控制工 具包,偏微分方程工具包5济南大学控制科学与工程学院计算机仿真技术5.1.2 工作空间与使用帮助6济南大学控制科学与工程学院计算机仿真技术clear:清楚工作空间中所有的变量clear 变量名:清楚指定的变量永久常数:pi: 圆

4、周率inf: 无限大ans:用于显示结果的缺省变量名save filename variables 保存变量在文件filename.mat 中。load filename variables 调用文件filename.mat中的变 量到MATLAB工作空间中。help function name: 查询该函数的用法,比如help inv是用来查询计算反矩阵的用法。helpwin:帮助窗口demo: 示例窗口,MATLAB有丰富的示例供学习参考 。 7济南大学控制科学与工程学院计算机仿真技术5.1.3 基本运算书写向量(vectors)与矩阵(matrices)t=5:-1:2 %产生行向量 x

5、=1 2 3 -4 -5 或 x=1,2,3,-4,-5 表示行向量x=1;2;3;-4;-5%用分号则表示列向量输入矩阵:A=1.2 10 15; 3 5.5 2; 4 6.8 7如果在矩阵A后面加上分号; 取消打印A(i,:) 第i行,A(:,j) 第j列y=x %表示x的反转矩阵为y写成 C=1 exp(-0.02); sqrt(2) 3linespace产生向量: x=linespace(n1,n2,n) 从n1到n2有n个点 x=linespace(-10,10,5) %从-10到10有5个点logspace产生向量: x=logspace(n1,n2,n) 从10d1到10d2有n

6、各点 x=logspace(-1,1,10) %从0.1到10有10个点黄色数字 为直接在 MATLAB 中输入的 命令8济南大学控制科学与工程学院计算机仿真技术转置与共轭转置(transpose and conjugate transpose)实矩阵情况: A=1 2 3;4 5 6;7 8 9B=A复数情况:x=1+sqrt(3)*i or x=1+sqrt(3)*j 用i或j表示复数如果i和j已经作为变量使用,定义新的复数单位: ii=sqrt(-1)orjj=sqrt(-1) x=1+sqrt(3)*ii or x=1+sqrt(3)*jj 书写复数矩阵(complex matrice

7、s)写成 X=1 j;-5*j 2共轭转置为:Y=X. 或 Y=conj(X) (写成Y=X是错误的)当式子太长时,可以用来表示换行 x=1.234+2.345+3.456+4.567+5.678+6.789 +7.890+8.901-9.0129济南大学控制科学与工程学院计算机仿真技术特殊矩阵产生ones(n) 产生n乘n矩阵,元素值均为1.ones(m,n) 产生m乘n矩阵,元素值均为1.zeros(n) 产生n乘n零矩阵zeros(m,n) 产生m乘n零矩阵 单位矩阵(Identity matrix)eye(n) 产生n乘n单位矩阵,即对角线为1,其它为0对角矩阵(Diagonal ma

8、trix)diag(x) 产生对角矩阵,x为对角线元素. 比如 x=ones(1,10) 产生110的行向量,元素值均为1 diag(x) 产生1010对角矩阵,对角线元素为1如果x是nn矩阵,diag(x)是包含x矩阵对角线元素的列向 量: A=1 2 3;4 5 6;7 8 9 diag(A) diag( diag(A) ) 10济南大学控制科学与工程学院计算机仿真技术对角矩阵(Diagonal matrix)diag(1:5)diag(0:4)时间与日期clock: 产生包含年、月、日、时、分、秒的行向量date: 当前日期加法与减法(addition and subtraction)A

9、=2 3;4 5;6 7; B=1 0;2 3;0 4; C=A+Bx=5;4;6; y=x-1乘法(multiplication)x=1;2;3; y=4;5;6; A=1 1 2;3 4 0;1 2 5; z=x*y u=x*y v=y*x11济南大学控制科学与工程学院计算机仿真技术复数的幅值与相角(magnitude and phase angle of a complex number) 复数z=x+iy=rei 幅值为 r,相角为,可以表示为 r=abs(z)theta=angle(z)数组相乘(array multiplication) 矩阵或向量里的元素相乘,表示为 .* x=1

10、 2 3; y=4 5 6; z=x.*y A=1 2 3;0 9 8; B=4 5 6;7 6 5; C=A.*B数组的幂 同数组相乘一样,对矩阵或向量的元素求幂,表示为 . x=1 2 3; y=x.2 A=1+j 2-2*j;3+4*j 5-j; B=A.212济南大学控制科学与工程学院计算机仿真技术绝对值(absolute values)复数的绝对值等于实部平方与虚部平方的和再开平方根 abs(A)=sqrt( real(A).2 + imag(A).2 ) A=2+2*i 1+3*j; 4+5*j 6-j; abs(A) angle(A) 数组除法(Array division)数组

11、相除为 左除 ./ 与 右除. A除以B A./B B除以A A.B x=1 2 3; y=4 5 6; u=x./y v=x.y A=1 2 3;1 9 8; B=4 5 6;7 6 5; C=A./B D=A.B除法中要注意分母为0时,MATLAB会给出警告: 5/0 0/013济南大学控制科学与工程学院计算机仿真技术5.1.4 矩阵函数特征值与特征向量(Eigenvalues and eigenvectors)A是一个nn矩阵,具有n个特征值满足 Ax=x 特征值在MATLAB中的计算函数为 eig(A) 产生一个列向量 表示特征值 如果A是实数并且对称的,那么特征值为实 数,如 果A不

12、是对称的,特征值经 常是复数: A=0 1 0;-1 0 2;3 0 5; eig(A)根据公式 AX=XD 这里D为矩阵形式的特征值,X为矩阵形式的特征 向量 A=0 1 0;0 0 1;-6 -11 -6; X D=eig(A)14济南大学控制科学与工程学院计算机仿真技术特征方程(caracteristic equation)矩阵的特征方程的根即为矩阵的特征值。 A=0 1 0;0 0 1;-6 -11 -6; p=poly(A) 得到 p=1 6 11 6表示特征方程的系数,特征方程为 : s3+6s2+11s+6 计算特征方程p的根: r=roots(p) 计算矩阵A的特征值 lame

13、da=eig(A) 两者是相等的。还可以已知多项式的根,用函数poly(r)求多项式的系数 。 r=-3 -2 -1; p=poly(r)15济南大学控制科学与工程学院计算机仿真技术多项式乘积(卷积, convolution) 将两个多项式系数向量相乘 conv(a,b) a=3 10 25 36 50; b=1 2 10; c=conv(a,b) 即a(s)=3s4+10s3+25s2+36s+50 b(s)=s2+2s+10 c(s)=(3s4+10s3+25s2+36s+50)*(s2+2s+10)=多项式相除(解卷积, deconvolution) 将两个多项式系数向量相除 decon

14、v(a,b) a=3 10 25 36 50; b=1 2 10; q, r=deconv(a,b) q 和 r 是多项式相除得到的商和余数 得到 q=3 4 -13, r=0 0 0 22 180 即 a(s)=b(s)*q(s)+r(s) 3s4+10s3+25s2+36s+50=(s2+2s+10)*(3s2+4s- 13)+22s+18016济南大学控制科学与工程学院计算机仿真技术矩阵指数运算(matrix exponential) 函数expm(A)指将矩阵A做指数运算: expm(A)=I+A+A2/2!+A3/3!+ A=0 1 0;0 0 1;-6 -11 -6; expm(A

15、) expm(eye(3)矩阵求逆(inverse of a square matrix) A=1 1 2;3 4 0;1 2 5; inv(A)17济南大学控制科学与工程学院计算机仿真技术5.1.4 绘图功能MATLAB具有强大的绘图功能。主要分为二维绘图与 三维绘图。要定义不同维度相应的坐标。二维线型图形:plot .比如,定义时间从0到2,每隔0.01取一个时间 点, 在该时间序列内计算正弦函数y=sin(3*t)的数值,并以时间为x 轴,以函数值为y轴,画出时间响应曲线: t=0 : 0.01*pi : 2*pi; y=sin(3*t); plot(t,y)添加网格线,图形标题,x轴标题,y轴标题: grid; title(plot of sin(3t); xlabel(t (sec); ylabel(sin(3t);18济南大学控制科学与工程学院计算机仿真技术在图形上标记文字:text(pi,sin(3*pi),sin3t); %在点(,sin(3)出标记文字 sin3tgtext(sin(3t) %该命令输入后,产生光标输入文字位 置限制x、y轴区域在MATLAB绘图中,x轴和y轴的区域是自动选择的,有 时需要手动选择区域. xlim(0 2*pi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号