课件1——matlab使用

上传人:wm****3 文档编号:57149158 上传时间:2018-10-19 格式:PPT 页数:26 大小:922.50KB
返回 下载 相关 举报
课件1——matlab使用_第1页
第1页 / 共26页
课件1——matlab使用_第2页
第2页 / 共26页
课件1——matlab使用_第3页
第3页 / 共26页
课件1——matlab使用_第4页
第4页 / 共26页
课件1——matlab使用_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《课件1——matlab使用》由会员分享,可在线阅读,更多相关《课件1——matlab使用(26页珍藏版)》请在金锄头文库上搜索。

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

2、.1 MATLAB软件介绍,MATLAB取自与Matrix与Laboratory两词的前三个字母组合。起源于20世纪70年代后期,用FORTRAN语言编写的用于减轻学生负担的集命令翻译、科学计算与一体的交互式软件系统。 1984年成立MathWorks公司,将MATLAB推向市场,内核采用C语言编写,增加数据图视功能,因为其良好的开放性与运行可靠性,淘汰控制领域大量的封闭式软件。 1993年推出MATLAB4.0版本,从此告别了DOS版,并推出了SIMULINK,这是一个交互式操作的动态系统建模、仿真、分析集成环境。开发了与外部直接交换数据的组件,使其可以进行实时数据分析、处理和硬件开发。推出

3、了符号计算软件包。构建了Notebook。 2005年MATLAB为7.1版本。 MATLAB有很多工具包(Toolbox),一个工具包是一些特定M文件的集合。比如,控制分析与设计工具包,优化工具包,预测控制工具包,偏微分方程工具包,6,5.1.2 工作空间与使用帮助,7,clear:清楚工作空间中所有的变量 clear 变量名:清楚指定的变量 永久常数: pi: 圆周率 inf: 无限大 ans:用于显示结果的缺省变量名 save filename variables 保存变量在文件filename.mat中。 load filename variables 调用文件filename.mat

4、中的变量到MATLAB工作空间中。 help function name: 查询该函数的用法,比如help inv是用来查询计算反矩阵的用法。 helpwin:帮助窗口 demo: 示例窗口,MATLAB有丰富的示例供学习参考。,8,5.1.3 基本运算,书写向量(vectors)与矩阵(matrices) t=5:-1:2 %产生行向量 x=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(:

5、,j) 第j列 y=x %表示x的反转矩阵为y,写成 C=1 exp(-0.02); sqrt(2) 3,linespace产生向量: 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各点x=logspace(-1,1,10) %从0.1到10有10个点,黄色数字为直接在MATLAB中输入的命令,9,转置与共轭转置(transpose and conjugate transpose) 实矩阵情况: A=1 2 3;4 5

6、 6;7 8 9 B=A 复数情况:x=1+sqrt(3)*i or x=1+sqrt(3)*j 用i或j表示复数 如果i和j已经作为变量使用,定义新的复数单位:ii=sqrt(-1) or jj=sqrt(-1)x=1+sqrt(3)*ii or x=1+sqrt(3)*jj 书写复数矩阵(complex matrices),写成 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.012,10,特殊矩阵产生 one

7、s(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 matrix) diag(x) 产生对角矩阵,x为对角线元素. 比如x=ones(1,10) 产生110的行向量,元素值均为1diag(x) 产生1010对角矩阵,对角线元素为1 如果x是nn矩阵,diag(x)是包含x矩阵对角线元素的列向量:A=1 2 3;4 5 6;7 8 9 diag(A)

8、diag( diag(A) ),11,对角矩阵(Diagonal matrix) diag(1:5) diag(0:4) 时间与日期 clock: 产生包含年、月、日、时、分、秒的行向量 date: 当前日期 加法与减法(addition and subtraction) A=2 3;4 5;6 7; B=1 0;2 3;0 4; C=A+B x=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*yu=x*yv=y*x,12,复数的幅值与相角(magnitude and phase angle

9、of a complex number) 复数z=x+iy=rei 幅值为r,相角为,可以表示为 r=abs(z) theta=angle(z) 数组相乘(array multiplication) 矩阵或向量里的元素相乘,表示为 .* x=1 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.2,13,绝对值(absolute values) 复数的绝对值等于实部平方与虚部平方的和再

10、开平方根 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) 数组相除为 左除 ./ 与 右除. A除以B A./B B除以A A.Bx=1 2 3; y=4 5 6; u=x./y v=x.yA=1 2 3;1 9 8; B=4 5 6;7 6 5; C=A./B D=A.B 除法中要注意分母为0时,MATLAB会给出警告:5/0 0/0,14,5.1.4 矩阵函数,特征值与特征向量(Eigenvalues and eigenvectors) A

11、是一个nn矩阵,具有n个特征值满足 Ax=x特征值在MATLAB中的计算函数为 eig(A) 产生一个列向量表示特征值如果A是实数并且对称的,那么特征值为实数,如果A不是对称的,特征值经常是复数: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),15,特征方程(caracteristic equation) 矩阵的特征方程的根即为矩阵的特征值。A=0 1 0;0 0 1;-6 -11 -6; p=poly(A)得到 p=1 6 11 6表示特征方程

12、的系数,特征方程为:s3+6s2+11s+6计算特征方程p的根:r=roots(p)计算矩阵A的特征值lameda=eig(A)两者是相等的。 还可以已知多项式的根,用函数poly(r)求多项式的系数。r=-3 -2 -1; p=poly(r),16,多项式乘积(卷积, convolution) 将两个多项式系数向量相乘 conv(a,b) a=3 10 25 36 50; b=1 2 10; c=conv(a,b) 即a(s)=3s4+10s3+25s2+36s+50b(s)=s2+2s+10c(s)=(3s4+10s3+25s2+36s+50)*(s2+2s+10)= 多项式相除(解卷积,

13、 deconvolution) 将两个多项式系数向量相除 deconv(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+180,17,矩阵指数运算(matrix exponential) 函数expm(A)指将矩阵A做指数运算: expm(A)=I+A+A2/2!+A3/3!+ A=0 1 0;0 0 1;-6

14、 -11 -6; expm(A) expm(eye(3) 矩阵求逆(inverse of a square matrix) A=1 1 2;3 4 0;1 2 5; inv(A),18,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轴标题

15、:grid;title(plot of sin(3t);xlabel(t (sec);ylabel(sin(3t);,19,在图形上标记文字: text(pi,sin(3*pi),sin3t); %在点(,sin(3)出标记文字sin3t gtext(sin(3t) %该命令输入后,产生光标输入文字位置 限制x、y轴区域 在MATLAB绘图中,x轴和y轴的区域是自动选择的,有时需要手动选择区域. xlim(0 2*pi); ylim(-2 2); 选择图形形状 普通默认为实线图,即将各点用曲线起来,可以选择其他形状绘图. 线绘图包括 “ 实线”,“- - 短划线”,“: 点线”,“- . 短划

16、线与点线”: plot(t,y,-, t,2*y,-, t,3y,:, t,4y,-.) 点绘图包括 “ + ” ,“ o ”,“ * ”,“ x ” 等,详见help plot. plot(t,y,-, t,2*y,-+, t,3y,:o, t,4y,-.x),20,选择图形颜色 系统默认颜色为蓝色,可以自己选择图形颜色:red r; green g; blue bwhite w; yellow y; magenta m(紫色)cyan c;(青色) black kplot(t,y,-r, t,2*y,-+c, t,3y,:om, t,4y,-.xg) 选择线的粗细大小 系统默认为0.5,可以自己加粗线:plot(t,y,-r, t,2*y,-+c, t,3*y,:om, t,4*y,-.xg,LineWidth,3),

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

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

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