您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 实验一MATLAB入门
1数值分析实验一——MATLAB入门2主要内容一、Matlab介绍二、基本运算三、简单的图形绘制四、符号运算3一、Matlab介绍在欧美各高等院校,Matlab是线性代数、数值分析、数理统计、自动控制、数字信号处理、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年推向市场以来,经过多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。MatrixLaboratory矩阵实验室Matlab4Matlab的发展Matlab的发展1980年,Moler教授用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。1984年,Moler等成立了TheMathWorks的公司,用C语言完全改写Matlab,并推出第一个商业版。到九十年代,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头。目前,Matlab已成为世界顶尖的数学应用软件就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。5Matlab的发行版本1984年,Matlab1.0(DOS版,182K,20多个函数)1992年,Matlab4.0(93年推出Windows版,加入simulink)1994年,Matlab4.2(得到广泛重视和应用)1999年,Matlab5.3(真正实现32位运算)2002年,Matlab6.5(采用JIT加速器)2004年,Matlab7.0自2006年起,Matlab每年更新两次Matlab的发展6Matlab的功能与特点Matlab具有很强的数值计算功能Matlab以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维)按照IEEE的数值计算标准进行计算提供十分丰富的数值计算函数,方便计算,提高效率Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握Matlab是一个交互式软件系统输入一条命令,立即就可以得到该命令的运行结果7Matlab的特点与功能Matlab的符号计算功能Matlab可以进行一些常见的符号计算Matlab的编程功能Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,且简单易学、编程效率高Matlab的绘图功能Matlab提供丰富的绘图命令,很方便实现数据的可视化8Matlab丰富的工具箱(toolbox)Matlab的特点与功能根据专门领域中的特殊需要而设计的各种可选工具箱Matlab的Simulink动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification……9Matlab的工作界面当前工作空间当前目录中的文件命令窗口命令历史记录命令行提示符当前目录二、基本运算在MATLAB下进行基本数学运算,只需将运算式直接打在提示号后面,并按Enter键。MATLAB将计算的结果以ans显示。MATLAB提供基本的算术运算有:加(+)、减(-)、乘(*)、除(/)、幂次方(^),范例为:5+3,5-3,5*3,5/3,5^31、基本算术运算MATLAB常用数学函数--三角函数和双曲函数名称含义名称含义名称含义sin正弦csc余割atanh反双曲正切cos余弦asec反正割acoth反双曲余切tan正切acsc反余割sech双曲正割cot余切sinh双曲正弦csch双曲余割asin反正弦cosh双曲余弦asech反双曲正割acos反余弦tanh双曲正切acsch反双曲余割atan反正切coth双曲余切atan2四象限反正切acot反余切asinh反双曲正弦sec正割acosh反双曲余弦指数函数,对数函数名称含义名称含义名称含义expe为底的指数log1010为底的对数pow22的幂log自然对数log22为底的对数sqrt平方根复数函数名称含义名称含义名称含义abs绝对值conj复数共轭real复数实部angle相角imag复数虚部其他函数名称含义名称含义min最小值max最大值mean平均值median中位数std标准差diff相邻元素的差sort排序length个数norm欧氏(Euclidean)长度sum总和prod总乘积dot内积cumsum累计元素总和cumprod累计元素总乘积cross外积各种format格式格式解释例format短格式(缺省显示格式),同short3.1416formatshort短格式(缺省显示格式),只显示5位3.1416formatlong长格式,双精度数15位,单精度数7位3.14159265358979formatshorte短格式e方式(科学计数格式)3.1416e+000formatlonge长格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg长格式g方式3.14159265358979formatcompact压缩格式formatloose自由格式format+/formatbank/formatrat/formathex(详情查看联机帮助)15几个小技巧Matlab的命令记忆功能:上下箭头键命令补全功能:Tab键用Esc键删除命令行命令home、clc16定义矩阵:直接输入法矩阵用方括号“[]”括起矩阵同一行中的元素之间用空格分隔矩阵行与行之间用分号分开A=[123;456;789]2.矩阵Matlab的操作对象矩阵例:2.1矩阵的输入单个元素的引用例:x=A(2,3)+A(1,2)2.2矩阵元素的引用x(i)向量x中的第i个元素A(i,j)矩阵A中的第i行,第j列元素18矩阵元素的引用多个元素的引用(续)A(:,k)矩阵的第k列A(i,:)矩阵的第i行A(i:j,:)矩阵的第i行到第j行A(:,m:n)矩阵的第m行到第n列192.3矩阵基本运算矩阵的加减:对应分量进行运算矩阵的普通乘法参与加减运算的矩阵具有相同的维数!A=[1,2;3,4];B=[5,6;7,8]C=A+BD=B-A例:参与运算的矩阵须满足线性代数中矩阵相乘的原则!A=[1,2,3;4,5,6];B=[2,1;4,3]C=B*A例:20矩阵基本运算矩阵的除法:若A可逆方阵,则A\B==A的逆左乘B==inv(A)*BB/A==A的逆右乘B==B*inv(A)矩阵的幂:若A是方阵,p是正整数,则A^p==A的p次幂,即p个A相乘右除左除矩阵的转置与共轭转置A'共轭转置A.'普通转置,不取共轭,点与单引号之间不能有空格A=[1,2-3i;3,1+4i]B=A'C=A.'例:21查看矩阵的大小查看矩阵的大小:size、lengthsize(A)返回矩阵A的行数和列数length(x)若x是向量,则返回x的长度A=[1,2,3;4,5,6]size(A)x=1:5;length(x)例:222.4矩阵的数组运算数组运算:对应元素进行运算数组运算包括:点乘、点除、点幂相应的四个数组运算符为:.*./.\.^点与算术运算符之间不能有空格!参与运算的对象必须具有相同的形状!A=[1,2,3;4,5,6];B=[3,2,1;6,5,4];C=A.*BD=A./BE=A.^B例:23三、简单的图形绘制——二维平面作图——三维空间作图24二维平面作图三维空间作图25手工作图如何画出y=sin(x)在[0,2]上的图像?26Matlab作图找点:x=0,pi/4,pi/3,pi/2,pi,...求值:y=sin(0),sin(pi/4),sin(pi/3),...描点:在坐标系中画出这些离散点连线:用直线或曲线连接这些点,得到函数的大致图形手工作图Matlab作图找点:x=[0:pi/10:2*pi];求值:y=sin(x);描点、连线:使用Matlab提供的绘图函数plotx=0:pi/10:2*pi;y=sin(x);plot(x,y);例:27二维作图命令平面曲线绘图命令:plot这里x,y都是向量,长度必须相同以x的分量为横坐标,y的分量为纵坐标,作平面曲线x=0:pi/10:4*pi;y=cos(x);plot(x,y);例:作y=cos(x)在[0,4]上的图像plot(x,y)28标题和坐标轴标注---图形的编辑29绘制多个函数图像holdonholdonplot(x1,y1,str1)plot(x2,y2,str2)...holdoff例:holdon;plot(x,y1);plot(x,y2);30图例legend(str1,str2,...)添加图例直观方法:可以直接在绘图窗口进行编辑31划分绘图窗口subplot(m,n,p)将一个绘图窗口分割成mn个子区域,并按行从左至右依次编号,p表示第p个绘图子区域。x=-pi:pi/20:pi;subplot(2,2,1);plot(x,sin(x));subplot(2,2,2);plot(x,cos(x));subplot(2,2,3);plot(x,x.^2);subplot(2,2,4);plot(x,exp(x));例:划分绘图窗口32本讲主要内容二维平面作图三维空间作图符号作图Matlab绘图过程/原理三维曲线空间曲面33三维曲线三维曲线绘图命令:plot3设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t),则其图形可由下面的命令绘出:例:三维螺旋线plot3只能绘制用参数方程表示的三维曲线plot3的用法与plot类似t=0:pi/10:10*pi;x=sin(t);y=cos(t);z=2*t;plot3(x,y,z);plot3(x,y,z)34三维曲面示例35三维曲面绘制过程绘制空间曲面z=z(x,y)网格图的步骤:(1)对x的取值区域和y的取值区域进行分割,得到离散的点(xij,yij),这些离散的点称为网格点(2)这些网格点构成了网格矩阵,即矩阵X和Y:[X,Y]=meshgrid(x,y)(3)计算z在这些网格点上的函数值,即可得矩阵Z(4)调用Matlab的绘图命令mesh绘出曲面图形:mesh(X,Y,Z)36例:绘制墨西哥帽子墨西哥帽子2222sinxyzxy,[,]xyaba=-8,b=8时的曲面图形x=-8:0.5:8;y=-8:0.5:8;[X,Y]=meshgrid(x,y);r=sqrt(X.^2+Y.^2)+eps;Z=sin(r)./r;mesh(X,Y,Z);37meshc和meshz绘制带等高线的空间曲面:meshc-使用方式与mesh相同,在mesh基础上增加等高线其它网格曲面绘制函数:meshc、meshzmeshc38Mesh绘图显式方程绘图:x=a:h1:b;y=c:h2:d;%区域划分[X,Y]=meshgrid(x,y);%生成网格Z=z(X,Y);%计算网格上的函数值mesh(X,Y,Z);%调用绘图命令参数方程绘图:u=a:h1:b;v=c:h2:d;%区域划分[U,V]=meshgrid(u,v);%生成网格X=x(U,V);Y=y(U,V);Z=z(U,V);%计算函数值mesh(X,Y,Z);%调用绘图命令(,),,zzxyaxbcyd(,),(,),(,)xxuvyyuvzzuv,aubcvd39Mesh绘图举例例:绘制马鞍面2249xyz(22,33)xyx=-2:0.1:2;y=-3:0.1:3;[X,Y]=meshgrid(x,y);Z=X.^2/4-Y.^2/9;mesh(X,Y,Z);显
本文标题:实验一MATLAB入门
链接地址:https://www.777doc.com/doc-3207202 .html