《MATLAB的简介和使用.ppt》由会员分享,可在线阅读,更多相关《MATLAB的简介和使用.ppt(34页珍藏版)》请在三一办公上搜索。
1、MATLAB简介,第一讲 MATLAB入门第二讲 Matlab的矩阵第三讲 数据可视化第四讲 M文件第五讲 Matlab的数值计算功能第六讲 创建图形用户界面,第一讲 MATLAB入门,一、Matlab概述二、Matlab的目录结构三、Matlab的环境四、Matlab语言初步,一、MATLAB概述,Matlab的历史Matlab是Matrix和Laboratory的组合八十年代初:作为免费软件,C语言编写1984年:MathWorks公司成立,商业软件推向市场适合各种平台Matlab软件推出版本不断升级现已发展成为适合众多学科、多种工作平台的功能强劲的大型软件。Matlab的构成Matlab
2、的语言Matlab的工作环境Matlab的工具箱Matlab的APIMatlab的特点数值运算全面表示方法简单丰富的工具箱,二、Matlab的目录结构,Matlab是一个开放的编程系统,Matlab的绝大部分功能是通过后缀为.m的文本文件实现的。Matlab的首层目录MatlabTOOLBOXMatlab,三、Matlab的环境,1、Matlab的工作空间是指运行Matlab的程序或命令所生成的所有变量和Matlab提供的常量构成的空间通过viewworkspace查看Matlab的变量浏览器键入who,whos命令查看工作空间的所有变量键入 clear 清除工作区中的所有变量键入save 文
3、件名,将当前工作区中的变量存储在一个MAT文件中键入load 文件名,调入一个MAT文件键入quit,退出2、Matlab的命令窗口命令窗口的菜单栏“File”|”Preferences”选项的使用命令窗口的工具栏命令窗口的命令编辑区快捷键 回调上一行 回调下一行 右移一字符 左移一字符Home键:移到行首 End键:移到行尾,3、Matlab的程序编辑器Matlab提供了一个内置的具有编辑和调试功能的程序编辑器。通过“New”或“Open”打开键入edit可打开M文件的编写与修改4、Matlab的路径浏览器可修改Matlab的搜索路径,查看任一路径下的所有文件,添加自己的搜索路径。5、Mat
4、lab的帮助系统输入帮助命令help、lookfor、helpwin、helpdesk、demoHelp一般用来查询某个函数的语法和使用说明lookfor查找具有某种功能但又不知道准确名字的函数和命令Help inverse与lookfor inverse的区别通过“Help”菜单,四、Matlab语言初步,1、矩阵Matlab运算的基本单元是矩阵标量、向量、空矩阵矩阵的基本定义方式矩阵元素列入方括号中元素之间用逗号或空格分隔行与行之间用分号分开2、运算符与操作符矩阵运算的运算符+-*/数组运算(矩阵中元素)的运算符+-.*./.操作符:;,().(续行符)%(注释符)!=3、变量Matlab
5、变量命名规则字母开头的数字、字母、下划线序列长度不超过31个字符,区分大小写系统的变量名i,j,pi,eps,realmin,realmax,inf,nan,第二讲 Matlab的矩阵,一、向量和矩阵的处理二、矩阵和数组运算,一、向量和矩阵的处理,1、行向量的生成利用冒号生成行向量格式1:初值:终值产生从初值开始到终值结束增量为1的行向量格式2:初值:步长:终值产生从初值开始到终值结束增量为步长的行向量利用linspace函数生成向量格式:linspace(a,b,n)功能:生成n个元素的行向量,元素在a,b之间平均分布,n的默认值为100.利用logspace函数生成向量格式:logspac
6、e(a,b,n)功能:生成n个元素的对数等分行向量。N的默认值为50,2、矩阵的生成直接生成矩阵元素列入方括号中元素之间用逗号或空格分隔行与行之间用分号分开通过函数生成zeros、ones、rand、randn函数:分别产生元素全为零、全为1、随机数、正态分布随机数的矩阵Compan、hilb、magic、pascal分别产生伴随阵、Hilbert阵、魔方阵、Pascal阵eye产生单位矩阵3、矩阵元素的引用格式1:A(u,v)其中u,v的取值:向量、标量、和:格式2:A(n)矩阵可认为是一个按列优先排列的列向量4、矩阵元素的修改A(i,j)=新值A(m1:m2,n1:n2)=B注意B的行数与
7、列数与A中相应的块匹配5、矩阵维数的缩维(删除行与列)A(:,n)=A(n,:)=6、矩阵维数的扩维A(i,j)=值i(j)的值大于行数(列数),二、矩阵和数组运算,运算符操作函数Size(A),Size(A,1),Size(A,2),Length(A)分别返回行列数、行数、列数、行列中大的数flipud(A),fliplr(A),rot90(A),diag(A),diag(v),tril(A),triu(A)分别将矩阵上下翻转、左右翻转、逆时针旋转90度、提取对角线无素组成列向量、以向量作对角线元素产生对角矩阵、提取下三角矩阵、提取上三角矩阵,第三讲 数据可视化,一、绘制二维图形,基本绘图命
8、令plot(y)plot(x,y)plot(x,y,选项)x与y为向量,x作为横坐标,y作为纵坐标,绘制连线图y为有一维与向量x同维的矩阵,绘制多条色彩不同的连线图x,y均为矩阵,各取列向量,绘制多条色彩不同的连线图plot(x1,y1,x2,y2,)plot(x1,y1,选项1,x2,y2,选项2,)每对x、y符合plot(x,y)的要求,不同对之间没有影响,将每一对绘制曲线,选项为单引号作为定界符的字符序列,用来控制线型、颜色、数据点和标记符等。,线型与颜色控制符,数据点标记字符,坐标系的调整axis on|off格式:axis(xmin,xmax,ymin,ymax)hold on与ho
9、ld off命令是否在当前图形窗口中加入新的内容图形的填充fill(x,y,颜色)创建一个由向量x、y指定顶点坐标,用指定颜色填充的多边形纵横比的调整axis squareaxis equalt=0:0.1:2*pi;plot(sin(t),2*cos(t),二、绘制三维图形,三维曲线图格式:plot3(x,y,z)plot3(x,y,z,选项)x,y,z为同维向量或矩阵:为向量时,它们相应的元素构成三维曲线的数据点坐标;为矩阵时,它们相应的列构成三维曲线数据点的坐标。选项同二维,控制线型、色彩、数据点标号类型。例:t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)x
10、,y=meshgrid(1:5);z=x+y;plot3(x,y,z)x,y=meshgrid(-2:0.1:2);z=x.*exp(-x.4-y.4);plot3(x,y,z),三维网线图原理:在x-y平面内指定一个长方形区域,采用与坐标轴平行的直线将其分隔;计算矩形网格上的函数值,即z的坐标值,得到三维空间中的数据点;将这些点分别用平行于x-z平行和平行于y-z平面内的曲线连接,即形成网线图。格式:mesh(z)以z矩阵元素以及下标为数据点,绘制网线图mesh(x,y,z)x,y是向量,则x的长度=矩阵z的列数,y的长度=矩阵z的行数。x,y,z是同维矩阵,数据点分别取自三个矩阵meshc
11、(x,y,z):生成具有基本等高线的网格图meshc(x,y,z):生成具有基本等高面的网格图生成区域的坐标矩阵:meshgrid(m:l:n)将区域m,n*m,n以步长l 划分为矩形网格meshgrid(m1:l1:n1,m2:l2:n2)例:x,y=meshgrid(-8:0.5:8);z=sqrt(x.2+y.2);z1=sin(z)./z;mesh(x,y,z)和 mesh(x,y,z1)z0=zeros(size(z);plot3(x,y,z0,r*),着色表面图原理:表面图是指把网线图表面的网格围成的小区域(或者叫补片)用不同的颜色填充形成的彩色表面。基本命令是函数surf使用格式
12、同meshsurfc、surfl分别绘制带等高线的着色表面图和可以控制光照效应的着色表面图附加命令shading flat:去掉连接线条,平滑当前图形的颜色shading interp:去掉连接线条,在各片之间使用颜色插值,使得片与片之间以及片的内部的颜色过渡很平滑。shading faceted:带有连接线条的曲线。例:x,y=meshgrid(-8:0.5:8);z=sqrt(x.2+y.2);z1=sin(z)./z;surf(x,y,z1)hold on;shading flat;shading interp;axis off,柱面和球面生成函数,cylinder函数x,y,z=cyl
13、inder(r,n)得到柱面的三维坐标r:母线,向量n:旋转圆周上分割线条数例:t=0:pi/10:2*pi;x,y,z=cylinder(2+cos(t);surf(x,y,z),sphere函数x,y,z=sphere(n)得到球面的三维坐标n:圆周上分割线条数例:x,y,z=sphere(30);surf(x,y,z),图形的进一步处理,标注xlabel(string)ylabet(string)title(string)text(x,y,string)色彩的控制和表现colormap(选项)选项hsv、hot、grey、bone、copper、pink、flag、jet、cool,子图
14、形的创建和控制subpolt(m,n,p)把图形窗口分成m*n个小区域,并指定第p个为当前的绘制区域例t=0:pi/20:2*pi;x,y=meshgrid(t);subplot(2,2,1);plot(sin(t),cos(t);axis equal;subplot(2,2,2);z=sin(2*x)+cos(2*y);plot(t,z);axis(0 2*pi-2 2);subplot(2,2,3);z=sin(x).3+cos(y);plot(t,z);axis(0 2*pi-1 1);subplot(2,2,4);z=(sin(x).3-cos(y).3);plot(t,z);axis
15、(0 2*pi-1 1);,专用图形,条形图bar(x)bar(x,y)bar(x,y,width)bar3(y)x为横坐标向量,y为向量或矩阵;y为向量时,每一元素对应的竖条,y是m行n列矩阵时,将画出m组竖条,每组包括n个条例:y=5 2 1;9 5 6;8 7 3;5 1 5;4 3 2;subplot(1,2,1);bar(y);subplot(1,2,2);bar3(y);,饼形图pie(x)pie(x,explode)x为向量,绘制出各个元素在向量所有元素之和中所占的比例x 为矩阵,绘制出各个元素在矩阵所有元素之和中所占的比例参数explode指定饼图中某些片是否和整个饼图脱开,非
16、零时脱开。例:a=100,150,400,250;pie(a);pie(a,0,0,0,1);colormap(hot),n=20;s=0.02;x=rand(n,1)-0.5;y=rand(n,1)-0.5;h=plot(x,y,.);axis(-1 1-1 1);axis squaregrid offset(h,erasemode,xor,markersize,18)while 1 x=x+s*randn(n,1);y=y+s*randn(n,1);set(h,xdata,x,ydata,y)drawnowend,布朗运动,第四讲 M文件,用Matlab语言编写的可在Matlab中运行的程
17、序,称为M文件。种类:命令文件(脚本文件),函数文件其扩展名为.m,可用任何文本编辑器编辑,语句,基本语句input(string)pausepause(n)breakreturn,条件语句if 表达式e 语句块1else 语句块2end,循环语句forend循环for 变量=矩阵 循环体end矩阵为向量,将元素依次赋给变量否则将矩阵每一列赋给变量whileend循环while 表达式e语句块end,一、命令文件,命令文件用于将很多要在命令窗口中输入的命令放在一起,即没有输入参数,也无输出参数。运行方式:命令窗口中输入该命令文件名即可运行编辑窗口中选中部分内容,通过菜单可运行例:%ffibno
18、.mf=1,1;i=1;while f(i)+f(i+1)1000 f(i+2)=f(i)+f(i+1);i=i+1;endf,i,二、函数文件,function f=ffibno(n)%FFIBNO%f=ffibno(n)%2003/5/20f=1,1;i=1;while f(i)+f(i+1)n f(i+2)=f(i)+f(i+1);i=i+1;end,函数文件的组成函数定义行(必须有)function y1,y2,=函数名(n1,n2,)H1行帮助文本的第一行,紧跟在定义之后,%开头帮助文本位于H1行后面,函数体之前说明文本,%开头函数体函数的主体,包括进行运算和赋值操作的所有Matla
19、b代码注释,第五讲 Matlab的数值计算功能,一、多项式二、曲线的拟合与插值三、求极值、零点、数值积分,一、多项式,多项式的表示:用系数行向量多项式处理的函数poly(A)产生多项式系数向量A为方阵,结果为A的特征多项式A为行向量,结果为以A中元素为其根的多项式poly2str(p,x)生成x的多项式,系数行向量为pconv(p1,p2)计算两个多项式p1,p2的乘积deconv(p1,p2)计算多项式p1除p2所得的商与余数roots(p)求多项式的根polyval(p,s)计算多项式在s的值,二、曲线的拟合与插值,插值(多项式插值法)格式:yi=interp1(x,y,xi,method
20、)x、y是已知数据,x有序,xi表示需要插值的位置组成的向量,yi是求出的xi的值mothod:nearest:最近点插值法linear:线性插值法(默认)spline:样条插值法cubic:立方插值法,例:t=1900:10:1990;p=75.995,91.972,105.771,123.203,131.669,.150.697,179.323,203.212,.226.505,249.633;interp1(t,p,1975)x=1900:10:2000;y=interp1(t,p,x,spline);plot(t,p,o,x,y),拟合p=polyfit(x,y,n)x、y是已知数据,n为拟合多项式的次数,返回值是拟合多项式,例:x=1:6;y=20 18.0 25 65.0 150.0 360;n=2;p=polyfit(x,y,n)xi=linspace(1,6,100);z=polyval(p,xi);plot(x,y,o,xi,z,-),三、求极值、零点、数值积分,第六讲 创建图形用户界面,1、基本程序结构,2、交互式用户界面,