MATLAB语言基础(济大)_第1页
MATLAB语言基础(济大)_第2页
MATLAB语言基础(济大)_第3页
MATLAB语言基础(济大)_第4页
MATLAB语言基础(济大)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 计算机仿真技术 济南大学专版 MATLAB语言基础语言基础计算机仿真技术济南大学自动化与电气工程学院授课教师:谢锦丽E-mail:cse_联系方式ecember 13, 20212济南大学 自动化与电气工程学院 计算机仿真技术第5章 MATLAB语言基础o 5.1 MATLAB概述概述o 5.2 MATLAB的安装与启动的安装与启动o 5.3 MATLAB集成环境集成环境o 5.4 MATLAB帮助系统帮助系统o 5.5 基本运算基本运算o 5.6 矩阵函数矩阵函数o 5.7 绘图功能绘图功能December 13, 20213济南大学 自动化与电气工程学院 计算机

2、仿真技术5.5 基本运算基本运算o书写向量书写向量(vectors)与矩阵与矩阵(matrices)nx=1 2 3 -4 -5 或或 x=1,2,3,-4,-5 %表示行表示行向量向量nx=1;2;3;-4;-5%用分号表示列向量用分号表示列向量n输入矩阵:输入矩阵:A=1.2 10 15; 3 5.5 2; 4 6.8 7n如果在矩阵如果在矩阵A后面加上分号后面加上分号; 取消显示结果取消显示结果nA(i,:) 第第i行,行,A(:,j) 第第j列列December 13, 20214济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算nt=5:-1:2 %产生行向量,从

3、产生行向量,从5到到2间隔为间隔为-1 ny=x %表示表示x的反转矩阵为的反转矩阵为y n 写成写成 C=1 exp(-0.02); sqrt(2) 3December 13, 20215济南大学 自动化与电气工程学院 计算机仿真技术0.02123eC5.5 基本运算基本运算n定数线性采样定数线性采样linespace产生向量:产生向量:x=linespace(n1,n2,n) 从从n1到到n2有有n个点个点n例:例:x=linspace(-10,10,5) %从从-10到到10有有5个点个点n定数对数采样定数对数采样logspace产生向量产生向量: x=logspace(n1,n2,n)

4、 从从10n1到到10n2有有n各点各点n例:例:x=logspace(-1,1,5) %从从0.1到到10有有5个点个点December 13, 20216济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算o转置与共轭转置转置与共轭转置(transpose and conjugate transpose)n实矩阵情况:实矩阵情况: A=1 2 3;4 5 6;7 8 9; B=An复数情况:复数情况:x=1+sqrt(3)*i 或或 x=1+sqrt(3)*j 用用i或或j表示复数表示复数n如果如果i和和j已经作为变量使用,定义新的已经作为变量使用,定义新的复数单位:复数

5、单位:ii=sqrt(-1) or jj=sqrt(-1)x=1+sqrt(3)*ii or x=1+sqrt(3)*jj n书写复数矩阵书写复数矩阵(complex matrices): 写成写成 X=1 j;-5*j 2December 13, 20217济南大学 自动化与电气工程学院 计算机仿真技术152jXj5.5 基本运算基本运算n非共轭转置矩阵为:非共轭转置矩阵为:Y=X. 或或 Y=conj(X) n共轭转置矩阵:共轭转置矩阵:Y=XDecember 13, 20218济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算o矩阵的旋转矩阵的旋转nrot90(A)

6、%将矩阵将矩阵A旋转旋转90度度o随机数矩阵的产生随机数矩阵的产生nrand(2,2) %产生区间(产生区间(0,1)的均匀分)的均匀分布的随机数。布的随机数。nrandn(2,2) %产生正态分布的随机数矩产生正态分布的随机数矩阵的函数阵的函数December 13, 20219济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算o特殊矩阵产生特殊矩阵产生nones(n) 产生产生n乘乘n矩阵,元素值均为矩阵,元素值均为1.nones(m,n) 产生产生m乘乘n矩阵,元素值均为矩阵,元素值均为1.nzeros(n) 产生产生n乘乘n零矩阵零矩阵nzeros(m,n) 产生产

7、生m乘乘n零矩阵零矩阵 o单位矩阵单位矩阵(Identity matrix)neye(n) 产生产生n乘乘n单位矩阵,即对角线为单位矩阵,即对角线为1,其它为,其它为0December 13, 202110济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算o对角矩阵对角矩阵(Diagonal matrix)ndiag(x) 产生对角矩阵,产生对角矩阵,x为对角线元素。比如:为对角线元素。比如:x=ones(1,4) %产生产生14的行向量,元素值均为的行向量,元素值均为1diag(x) %产生产生44对角矩阵,对角线元素为对角矩阵,对角线元素为1n如果如果x是是nn矩阵,矩

8、阵,diag(x)是包含是包含x矩阵对角线元矩阵对角线元素的列向量:素的列向量:A=1 2 3;4 5 6;7 8 9 %产生产生A矩阵矩阵diag(A) %求求A的对角线向量的对角线向量diag( diag(A) )%产生对角矩阵产生对角矩阵December 13, 202111济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算o对角矩阵对角矩阵(Diagonal matrix)ndiag(1:5)o加法与减法加法与减法(addition and subtraction)nA=2 3;4 5;6 7; B=1 0;2 3;0 4; C=A+Bnx=5;4;6; y=x-1

9、o乘法乘法(multiplication)nx=1;2;3; y=4;5;6; z=x*y u=x*yDecember 13, 202112济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算o复数的幅值与相角复数的幅值与相角(magnitude and phase angle of a complex number)n复数复数z=x+iy=rei 幅值为幅值为r,相角为,相角为,可以表示为可以表示为 r=abs(z) theta=angle(z)o数组相乘数组相乘(array multiplication)n矩阵或向量里的元素相乘矩阵或向量里的元素相乘 .* A=1 2 3

10、;0 9 8; B=4 5 6;7 6 5; C=A.*BDecember 13, 202113济南大学 自动化与电气工程学院 计算机仿真技术5.5 基本运算基本运算o数组的幂数组的幂对矩阵或向量的元素求幂,表示为对矩阵或向量的元素求幂,表示为 .x=1 2 3; y=x.2A=1+j 2-2*j;3+4*j 5-j; B=A.2o绝对值绝对值(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)December 13, 202114济南大学 自动化与电气工程学院 计算机仿真技术

11、5.5 基本运算基本运算o数组除法数组除法(Array division)n数组相除为数组相除为 左除左除 ./ 与与 右除右除. nA除以除以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.Bn分母为分母为0时,时,MATLAB会给出警告:会给出警告:5/0 0/0December 13, 202115济南大学 自动化与电气工程学院 计算机仿真技术第5章 MATLAB语言基础o 5.1 MATLAB概述概述o 5.2 MATLAB的安装与启动的安装与启动o 5.3

12、MATLAB集成环境集成环境o 5.4 MATLAB帮助系统帮助系统o 5.5 基本运算基本运算o 5.6 矩阵函数矩阵函数o 5.7 绘图功能绘图功能December 13, 202116济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数o特征值与特征向量特征值与特征向量(Eigenvalues and eigenvectors)nA是一个是一个nn矩阵,具有矩阵,具有n个特征值满足个特征值满足 Ax=x特征值特征值在在MATLAB中的计算函数为中的计算函数为 eig(A) %产生一个列向量表示特征值产生一个列向量表示特征值如果如果A是实数并且对称的,那么特征值为实数,如

13、果是实数并且对称的,那么特征值为实数,如果A不是对不是对称的,特征值经常是复数:称的,特征值经常是复数:A=0 1 0;-1 0 2;3 0 5; eig(A)%A矩阵,求矩阵,求A的特征值的特征值December 13, 202117济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数n根据公式根据公式 AX=XD这里这里D为矩阵形式的特征值,为矩阵形式的特征值,X为矩阵形式的特征向量为矩阵形式的特征向量A=0 1 0;0 0 1;-6 -11 -6; X D=eig(A)December 13, 202118济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩

14、阵函数o特征方程特征方程(caracteristic equation)n矩阵的特征方程的根即为矩阵的特征值。矩阵的特征方程的根即为矩阵的特征值。A=0 1 0;0 0 1;-6 -11 -6; p=poly(A) %矩阵矩阵A的特征方程,系数列为行向量的特征方程,系数列为行向量得到得到 p=1 6 11 6表示特征方程的系数,特征方程为:表示特征方程的系数,特征方程为:s3+6s2+11s+6 计算特征方程计算特征方程p的根:的根:r=roots(p) 计算矩阵计算矩阵A的特征值的特征值lameda=eig(A)两者是相等的。两者是相等的。December 13, 202119济南大学 自动

15、化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数n已知多项式的根,用函数已知多项式的根,用函数poly(r)求多项式。求多项式。r=-3 -2 -1; p=poly(r) %poly函数内为向量,则视为函数内为向量,则视为根,求其多项式根,求其多项式o多项式乘积多项式乘积(卷积卷积, 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)*.

16、(s2+2s+10)December 13, 202120济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数o多项式相除多项式相除(解卷积解卷积, 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+4

17、s-13)+22s+180December 13, 202121济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数December 13, 202122济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数o矩阵指数运算矩阵指数运算(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)expm(eye(3) %33单位矩阵的指数矩阵单位矩阵的指数矩阵o矩阵求逆矩阵求逆(inverse of a squ

18、are matrix)A=1 1 2;3 4 0;1 2 5;inv(A)December 13, 202123济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数o创建三维数组创建三维数组n二维数组第一维称为二维数组第一维称为“行行”,第二维称为,第二维称为“列列”,对,对于三维数组,第三维称为于三维数组,第三维称为“页页”。MATLAB将三维或将三维或者三维以上的数组统称为高维数组。者三维以上的数组统称为高维数组。n使用下标引用方法创建三维数组使用下标引用方法创建三维数组nA(2,2,2)=1; for i = 1:2 for j = 1:2 for k=1:2 A(i,

19、j,k)=i+j+k; end end endDecember 13, 202124济南大学 自动化与电气工程学院 计算机仿真技术5.6 矩阵函数矩阵函数n使用低维数组创建高维数组使用低维数组创建高维数组nD2=1,2,3;4,5,6;7,8,9; D3(:,:,1)=D2; D3(:,:,2)=2*D2; D3(:,:,3)=3*D2;December 13, 202125济南大学 自动化与电气工程学院 计算机仿真技术第5章 MATLAB语言基础o 5.1 MATLAB概述概述o 5.2 MATLAB的安装与启动的安装与启动o 5.3 MATLAB集成环境集成环境o 5.4 MATLAB帮助

20、系统帮助系统o 5.5 基本运算基本运算o 5.6 矩阵函数矩阵函数o 5.7 绘图功能绘图功能December 13, 202126济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能oMATLAB具有强大的绘图功能。主要分为二维绘图具有强大的绘图功能。主要分为二维绘图与三维绘图。要定义不同维度相应的坐标。与三维绘图。要定义不同维度相应的坐标。o二维线型图形:二维线型图形:plot . 比如,定义时间从比如,定义时间从0到到2,每隔,每隔0.01取一个时间点取一个时间点,在该时间序列内计算正弦函数在该时间序列内计算正弦函数y=sin(3*t)的数值,并的数值,并以时间为以时

21、间为x轴,以函数值为轴,以函数值为y轴,画出时间响应曲线:轴,画出时间响应曲线:t=0 : 0.01*pi : 2*pi; %生成时间向量生成时间向量y=sin(3*t);plot(t,y)o添加网格线,图形标题,添加网格线,图形标题,x轴标题,轴标题,y轴标题:轴标题:grid;title(plot of sin(3t);xlabel(t (sec);ylabel(sin(3t);December 13, 202127济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能o在图形上标记文字:在图形上标记文字:n text(pi,sin(3*pi),sin3t); %在点在点(

22、,sin(3)出标记文字出标记文字sin3tn gtext(sin(4) %该命令输入后,产生该命令输入后,产生光标输入文字位置光标输入文字位置o限制限制x、y轴区域轴区域n 在在MATLAB绘图中,绘图中,x轴和轴和y轴的区域是轴的区域是自动选择的,有时需要手动选择区域自动选择的,有时需要手动选择区域. n xlim(0 2*pi); ylim(-2 2); %限定限定x轴和轴和y轴的范围轴的范围December 13, 202128济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能o选择图形形状选择图形形状n 普通默认为实线图,即将各点用曲普通默认为实线图,即将各点用曲

23、线起来,可以选择其他形状绘图线起来,可以选择其他形状绘图.n 线绘图包括线绘图包括 “ 实线实线”,“- - 短划短划线线”,“: 点线点线”,“- . 短划线与短划线与点线点线”: plot(t,y,-, t,2*y,-, t,3*y,:, t,4*y,-.)n 点绘图包括点绘图包括 “ + ” ,“ o ”,“ * ”,“ x ” 等,详见等,详见help plot. plot(t,y,-, t,2*y,-+, t,3*y,:o, t,4*y,-.x)December 13, 202129济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能o选择图形颜色选择图形颜色系统默

24、认颜色为蓝色,可以自己选择图系统默认颜色为蓝色,可以自己选择图形颜色:形颜色:redr;greeng; blueb; whitew; yellow y; magenta m(紫色紫色)cyanc;(青色青色)blackkplot(t,y,-r, t,2*y,-+c, t,3*y,:om, t,4*y,-.xg)o选择线的粗细大小选择线的粗细大小系统默认为系统默认为0.5,可以自己加粗,可以自己加粗plot(t,y,-r, t,2*y,-+c, t,3*y,:om, t,4*y,-.xg,LineWidth,3)December 13, 202130济南大学 自动化与电气工程学院 计算机仿真技术

25、5.7 绘图功能绘图功能o在图形上显示希腊字符与符号在图形上显示希腊字符与符号n 显示希腊字符:显示希腊字符: alpha; beta; gamma; Gamma; delta; Delta; omega; Omega; sigma; Sigma; phi; psi; theta; zeta; pi; Pioplot(t,y); text(pi,sin(3*pi),sin(3pi);December 13, 202131济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能n 显示其他数学符号:显示其他数学符号: infinity leftarrow uparrow right

26、arrow downarrow circ pmplot(t,y); text(pi,sin(3*pi),leftarrowsin(3pi);December 13, 202132济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能o变化文字大小与字体变化文字大小与字体plot(t,y); grid; title(plot of sin(3t),Fontsize,20); xlabel(t (sec),Fontangle, italic); ylabel(sin(3t),Fontname, Times New Roman);下标:下标:y_1 显示为显示为y1.上标:上标:y1

27、显示为显示为y1.December 13, 202133济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能o复数数据画图复数数据画图n 如果如果z为复数,为复数,plot(z)自动按照实部和虚部画图,自动按照实部和虚部画图,即等于即等于plot(real(z),imag(z)n z=2+2*i 3+3*j 4+5*j 6+7j 7+9j 8+6j 9+5j 10+j;plot(z)xlabel(real axis); ylabel(imaginary axis);o极坐标图:极坐标图:polar(theta,rho)n theta 为角度,为角度,rho为半径。为半径。x=

28、0: 0.1*pi : pi; %角度为从角度为从0到到,间隔,间隔0.1y=0:1:10;%半径为从半径为从0到到10,间隔为,间隔为1.polar(x,y)December 13, 202134济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能o对数图(logarithmic plots):n loglog: x轴和y轴均使用log10数字变换,即x轴为log10 x,y轴为log10y.x=1:1:100; y=1:10:1000; loglog(x,y)n semilogx: x轴用log10变换,但y轴不变。semilogx(x,y)n semilogy: x轴不

29、变,y轴用log10变换.semilogy(x,y)December 13, 202135济南大学 自动化与电气工程学院 计算机仿真技术5.7 绘图功能绘图功能o使用多图模式使用多图模式n 一个图形窗口可以分为多个小图,每个小图单独使用一个图形窗口可以分为多个小图,每个小图单独使用plot绘图绘图subplot(m,n,p) 将窗口分为将窗口分为m乘乘n个子窗口,个子窗口,p代表当前的子窗口。代表当前的子窗口。t=0 : 0.01*pi : 2*pi;y1=sin(t); y2=sin(2*t);y3=sin(t)+sin(2*t); y4=sin(t).*sin(2*t);subplot(2,2,1)plot(t,y1); grid; xlabel(t (sec); ylabel(y_1=sin(t);subplot(2,2,2) plot(t,y2); grid; xlabel(t (sec); ylabel(y_2=sin(2t);subplot(2,2,3) plot(t,y3); grid; xlabel(t (sec); ylabel(y_3=sin(t)+sin(2t);subplot(2,2,4) plot

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论