MATLAB期末论文班级:物电101班学号:10221107姓名:刘彩梅[摘要]MATLAB是目前在国际上被广泛接受和使用的科学与工程计算软件,其现在的发展已经成为一种数值运算、符号运算、数据可视化、图形界面设计、程序设计、仿真等多功能于一体的集成软件。今天的MATLAB已经不再是仅仅解决矩阵与数值计算的软件,更是一种集数值与符号运算、数据可视化图形表示与图形界面设计、程序设计、仿真等多种功能于一体的集成软件。在国内,随着MATLAB在我国高校的推广和应用,MATLAB已经渐入人心。[关键词]MATLAB矩阵数据可视化运用[正文]MATLAB主要有两种基本的数据运算量:数组和矩阵。在MATLAB中矩阵运算是把矩阵视为一个整体来进行,基本上与线性代数的处理方法一致。矩阵的加减乘除,乘方开方,指数对数等运算,都有一套专门的运算符或运算函数。而对于数组,不论是算术的运算还是关系或逻辑的运算,甚至于调用函数的运算,形式上可以当作整体,有一套有别于矩阵的,完整的运算符和运算函数,但实质上却是针对数组的每个元素施行的。一.MATLAB的特点及应用领域MATLAB把矩阵(或数组)独立地当作一个运算量对待后,向下可以兼容向量和标量,不仅如此,矩阵和数组中的元素可以用复数作基本单元,向下可以包含实数集,在此基础上,还可以概括出一些特点:语言简洁,编程效率高;交互性好,使用方便;强大的绘图能力,便于数据可视化;学科众多,领域广泛的工具箱;开放性好,易于扩充;与C语言和Fortran语言有良好的接口.MATLAB的应用领域十分的广泛如:数据分析;数值与符号计算;工程与科学绘图;控制系统设计;航天工业;汽车工业;生物医学工程;语音处理;图像与数字信号处理;财务、金融分析;建模、仿真及样机开发;新算法研究开发;图形用户界面设计。1.矩阵与数组和基本操作命令1).矩阵的直接输入矩阵有多种输入方式,这里介绍一种逐一输入矩阵元素的方法。具体做法是,在方括号内逐行键入矩阵各元素,同一行各元素之间用逗号或空格分隔,两行元素之间用分号分隔。例1.在MATLAB的提示符下输入:A=[1,2,3;4,5,6;7,8,9]得到一个3行3列的矩阵,屏幕上显示为A=1234567892).矩阵元素矩阵元素用矩阵名及其下标表示。在作了例1的输入后,若键入:A(2,3)屏幕显示ans=6即矩阵A第2行第3列的元素为6。也可通过改变矩阵的元素来改变矩阵。在例1输入矩阵A后键入:A(3,3)=10即得一新的矩阵,屏幕会显示A=12345678103).矩阵的运算矩阵运算的运算符为+,-,*,/,\,′和^。其中+,-,*是通常矩阵加法、减法和乘法的运算符。例2.在MATLAB的提示符下分别输入矩阵A和B.A=132-1B=3012求A+B,2A,2A-3B,AB[][]A+Bans=43312*Aans=264-22*B-3*Bans=-761-8A*Bans=665-2因为矩阵加减运算的规则是对应元素相加减,所以参与运算的矩阵必须是同阶矩阵。而数与矩阵的加减乘除的规则一目了然,但矩阵相乘有定义的前提是两矩阵内阶相等。4)逆矩阵的求法定义对于n阶方阵A,如果存在n阶方阵B,使得AB=BA=E,则称n阶方阵A是可逆的,而B称为A的逆矩阵,记为A-1。在MATLAB中求逆阵的函数为inv()。例3.在MATLAB的提示符下键入:A=[1,0,1;2,1,0;-3,2,-5]A=101210-32-5键入:X=inv(A)X=-2.50001-0.50005-113.5000-10.5000二.MATLAB的绘图功能(数据可视化)1)二维图形1.创建图形窗口在Matlab中,绘制的图形被直接输出到一个新的窗口中,这个窗口和命令行窗口是相互独立的,被称为图形窗口。如果当前不存在图形窗口,Matlab的绘图函数会自动建立一个新的图形窗口;如果已存在一个图形窗口,Matlab的绘图函数就会在这个窗口中进行绘图操作;如果已存在多个图形窗口,Matlab的绘图函数就会在当前窗口中进行绘图操作。函数调用方式(1)figure(2)figure('PropertyName',PropertyValue,...)以指定的属性值,创建一个新的图形窗口figure('Name','SimulationPlotWindow','NumberTitle','off')figure('Name','SimulationPlot')scrsz=get(0,'ScreenSize')figure('Position',[scrsz(3)/4scrsz(4)/4scrsz(3)/2scrsz(4)/2])(3)figure(h)如果h已经是图形句柄,则将它代表的图形窗口置为当前窗口;如果h不是图形句柄,但为一正整数,则创建一个图形句柄为h的新的图形窗口。figure(100)h=figure(100)figure(2),set(0,'CurrentFigure',2)2.关闭与清除图形窗口关闭:(1)close关闭当前图形窗口(2)close(h)关闭图形句柄h指定的图形窗口(3)closename关闭图形窗口名name指定的图形窗口(4)closeall关闭除隐含图形句柄的所有图形窗口(5)closeallhidden关闭包括隐含图形句柄在内的所有图形窗口(6)status=close(...)调用close函数正常关闭图形窗口时,返回1;否则返回0。清除图形窗口:(1)clf清除当前图形窗口所有可见的图形对象(2)clfreset清除当前图形窗口所有可见的图形对象,并将窗口的属性设置为默认值。在Matlab中,主要的二维绘图函数如下:(1)plotx轴和y轴均为线性刻度(2)loglogx轴和y轴均为对数刻度(3)semilogxx轴为对数刻度,y轴为线性刻度(4)semilogyx轴为线性刻度,y轴为对数刻度(5)plotyy绘制双纵坐标图形其中,plot是最基本的二维绘图函数,其调用格式有(1)plot(Y)①若Y为实向量,则以该向量元素的下标为横坐标,以Y的各元素值为纵坐标,绘制二维曲线。Y=2*[1:10]plot(Y)②若Y为复数向量,则等效于plot(real(Y),imag(Y))。③若Y为实矩阵,则按列绘制每列元素值相对其下标的二维曲线,曲线的条数等于Y的列数。④若Y为复数矩阵,则按列分别以元素实部和虚部为横、纵坐标绘制多条二维曲线。(2)plot(X,Y)①若X、Y为长度相等的向量,则绘制以X和Y为横、纵坐标的二维曲线。②若X为向量,Y是有一维与X同维的矩阵,则以X为横坐标,与X同维的Y的一维为纵坐标。曲线条数与Y的另一维相同。X=[123]Y=[1234;5678;9101112]plot(X,Y)③若X、Y为同维矩阵,则绘制以X和Y对应的列元素为横、纵坐标的多条二维曲线,曲线条数与矩阵的列数相同。(3)plot(X1,Y1,X2,Y2,...,Xn,Yn)每一对参数Xi和Yi的取值和所绘图形与(2)中相同。(4)plot(X1,Y1,LineSpec,...)以LineSpec指定的属性,绘制所有Xn、Yn对应的曲线。(5)plot(X1,Y1,'PropertyName',PropertyValue,...)对于由plot绘制所有曲线,按照设置的属性值进行绘制。(6)h=plot(...)调用函数plot时,同时返回每条曲线的图形句柄h。例1.二维图形绘制主要使用函数plot。clearall;x=linspace(0,2*pi,100);y1=sin(x);plot(x,y)holdony2=cos(x)plot(x,y)holdoff(2)三维曲面图的绘制:MATLAB绘制网线图和网面图的函数分别是mesh()和surf(),其具体操作步骤是:①用函数meshgrid()生成平面网格点矩阵[X,Y];②由[X,Y]计算函数数值矩阵Z;③用mesh()绘制网线图,用surf()绘制网面图。绘制椭圆抛物面:clearall,closeall;x=-4:0.2:4;y=x;[X,Y]=meshgrid(x,y);Z=X.^2/9+Y.^2/9;mesh(X,Y,Z);title('椭圆抛物面网线图')figure(2)surf(X,Y,Z);title('椭圆抛物面网面图')绘制阔边帽面:clearall,closeall;x=-7.5:0.5:7.5;y=x;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;%避开零点,以免零做除数Z=sin(R)./R;mesh(X,Y,Z);title('阔边帽面网线图')figure(2)surf(X,Y,Z);title('阔边帽面网面图')总结现今MATLAB已经渗入到人们的生活中,很多方面都离不开MATLAB的支持及运用。