第2讲MATLAB入门_第1页
第2讲MATLAB入门_第2页
第2讲MATLAB入门_第3页
第2讲MATLAB入门_第4页
第2讲MATLAB入门_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-3-1 MATLAB入门入门2022-3-1n MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程语言和可视化工具,可解决工程工程、科学计算科学计算和数学学科数学学科中许多问题。 n MATLAB建立在向量向量、数组数组和矩阵矩阵的基础上,使用方便,人机界面直观,输出结果可视化。n 矩阵矩阵是MATLAB的核心n MATLAB的进入与运行方式(两种)2022-3-1 MATLAB入门入门一、变一、变 量量 与与 函函 数数二、数二、数 组组三、三、 矩矩 阵阵四、四、 MATLAB编程编程五、五、 实实 验验 作作 业业2022-3-1 1

2、、变量、变量 MATLAB中变量的命名规则命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过19个字符;(4)变量名必须以字母打头,之后可以是 任意字母、数字或下划线,变量名中 不允许使用标点符号. 一、变一、变 量量 与与 函函 数数2022-3-1特殊变量取 值ans用于结果的缺省变量名pi圆周率eps计算机的最小数,当和 1 相加就产生一个比1大的数flops浮点运算数inf无穷大,如 1/0NaN不定量,如 0/0i,ji=j=1nargin所用函数的输入变量数目nargout所用函数的输出变量数目realmin最小可用正实数realmax最

3、大可用正实数特殊变量表特殊变量表2022-3-12、数学运算符号及标点符号、数学运算符号及标点符号+加法运算,适用于两个数或两个同阶矩阵相加.减法运算*乘法运算.*点乘运算/除法运算./点除运算乘幂运算.点乘幂运算反斜杠表示左除.(1)MATLAB的每条命令后,若为逗号逗号或或无标点无标点符号, 则显示命令的结果;若命令后为分号分号,则禁止显示结果. (2)“%” 后面所有文字为注释. (3) “.”表示续行.2022-3-1函 数名 称函 数名 称sin(x)正弦函数asin(x)反正弦函数cos(x)余弦函数acos(x)反余弦函数tan(x)正切函数atan(x)反正切函数abs(x)

4、绝对值max(x) 最大值min(x) 最小值sum(x)元素的总和sqrt(x) 开平方exp(x)以 e为底的指数log(x)自然对数)(log10 x以 10 为底的对数sign(x)符号函数fix(x)取整3、数学函数、数学函数2022-3-1 MATLAB的内部函数是有限的,有时为了研究某的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为一个函数的各种性态,需要为MATLAB定义新函数,定义新函数,为此必须编写函数文件为此必须编写函数文件. 函数文件是文件名后缀为函数文件是文件名后缀为M的文件,这类文件的的文件,这类文件的第一行必须是一特殊字符第一行必须是一特殊字符func

5、tion开始开始,格式为:,格式为: function 因变量名因变量名=函数名(自变量名)函数名(自变量名)函数值的获得必须通过具体的运算实现,并赋给因变函数值的获得必须通过具体的运算实现,并赋给因变量量. 4、M文件文件M文件建立方法:文件建立方法:1. 在在Matlab中,点中,点:File-New-M-file 2. 在编辑窗口中输入程序内容在编辑窗口中输入程序内容 3. 点:点:File-Save,存盘,存盘,M文件名必须文件名必须 与函数名一致。与函数名一致。Matlab的应用程序也可以用的应用程序也可以用M文件保存。文件保存。2022-3-1例:定义函数例:定义函数 f(x1,x

6、2)=100(x2-x12)2+(1-x1)2function f=fun(x)f=100*(x(2)-x(1)2)2+(1-x(1)21.建立建立M文件:文件:fun.mMATLAB(fun)2. 可以直接使用函数可以直接使用函数fun.m例如:计算例如:计算 f(1,2), 只需在只需在Matlab命令窗口键入命令:命令窗口键入命令:x=1 2fun(x) 返回返回f =1002022-3-1x=logspace(first,last,n) 创建从开始,到结束,有n个元素的对数分隔行向量. 1、创建简单的数组、创建简单的数组二、数二、数 组组MATLAB(shuzu1)x=a b c d

7、e f 创建包含指定元素的行向量x=first:last 创建从first开始,加1计数,到last结束的行向量x=first:increment:last 创建从first开始,加increment计数,last结束的行向量x=linspace(first,last,n) 创建从first开始,到last结束,有n个元素的行向量2022-3-1x=1 2 3 4 5 8 7 18y=1:7z=3:2:9v=y zu=linspace(2,9,11)v = 1 2 3 4 5 6 7 3 5 7 9u = 2.0000 2.7000 3.4000 4.1000 4.8000 5.5000 6.

8、2000 6.9000 7.6000 8.3000 9.00002022-3-1 2、 数组元素的访问数组元素的访问MATLAB(shuzu2)(3)直接使用元素编址序号直接使用元素编址序号. x(a b c d) 表示提取数组x的第a、b、c、d个元素构成一个新的数组x(a) x(b) x(c) x(d). (2)访问一块元素访问一块元素: x(a :b :c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1. (1)访问一个元素访问一个元素: x(i)表示访问数组x的第i个元素. 2022-3-1x=1:9y=x(2:2:8)z=x(1)

9、x(6) x(8)x =1 2 3 4 5 6 7 8 9y = 2 4 6 8z = 1 6 82022-3-1 3 3、数组的方向、数组的方向 前面例子中的数组都是一行数列,是行方向分布的前面例子中的数组都是一行数列,是行方向分布的. 称之为称之为行向量行向量. 数组也可以是数组也可以是列向量列向量,它的数组操作和运,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示算与行向量是一样的,唯一的区别是结果以列形式显示. 产生列向量有两种方法:产生列向量有两种方法: 直接产生直接产生 例例 c=1;2;3;4 转置产生转置产生 例例 b=1 2 3 4; c=b 说明:以说明:以

10、空格空格或或逗号逗号分隔的元素指定的是不同列的分隔的元素指定的是不同列的元素,而以元素,而以分号分号分隔的元素指定了不同行的元素分隔的元素指定了不同行的元素. 2022-3-14、数组的运算、数组的运算 (1)标量)标量-数组运算数组运算 数组对标量的加、减、乘、除、乘方是数组的每个数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算元素对该标量施加相应的加、减、乘、除、乘方运算. 设:设:a=a1,a2,an, c=标量标量则:则:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c= a1/c,a2/c,an/c(右除

11、)右除) a.c= c/a1,c/a2,c/an (左除)左除) a.c= a1c,a2c,anc c.a= ca1,ca2,can MATLAB(shuzu3)2022-3-1a=1 2 3 4c=2a1=a+ca2=a*ca3=a./ca4=a.ca5=a.ca6=c.aa = 1 2 3 4c = 2a1 = 3 4 5 6a2 = 2 4 6 8a3 = 0.5000 1.0000 1.5000 2.0000a4 = 2.0000 1.0000 0.6667 0.5000a5 = 1 4 9 16a6 = 2 4 8 162022-3-1(2)数组)数组-数组运算数组运算 当两个数组有

12、相同维数时,加、减、乘、除、当两个数组有相同维数时,加、减、乘、除、幂运算可按幂运算可按元素对元素元素对元素方式进行的,不同大小或维方式进行的,不同大小或维数的数组是不能进行运算的数的数组是不能进行运算的. 设:设:a=a1,a2,an, b=b1,b2,bn则:则:a+b= a1+b1,a2+b2,an+bn a.*b= a1*b1,a2*b2,an*bn a./b= a1/b1,a2/b2,an/bn a.b=b1/a1,b2/a2,bn/an a.b=a1b1,a2b2,anbnMATLAB(shuzu4) 返回返回2022-3-1a=2 2 2b=3 3 3c1=a+bc2=a.*bc

13、3=a./bc4=a.bc5=a.bc1 = 5 5 5c2 = 6 6 6c3 = 0.6667 0.6667 0.6667c4 = 1.5000 1.5000 1.5000c5 = 8 8 82022-3-1三、三、 矩矩 阵阵 逗号逗号或或空格空格用于分隔某一行的元素,用于分隔某一行的元素,分号分号用于区分不用于区分不同的行同的行. 除了分号,在输入矩阵时,按除了分号,在输入矩阵时,按Enter键也表示开始键也表示开始一新行一新行. 输入矩阵时,严格要求所有行有相同的列输入矩阵时,严格要求所有行有相同的列. 例例 m=1 2 3 4 ;5 6 7 8;9 10 11 12 p=1 1 1

14、 1 2 2 2 2 3 3 3 31、矩阵的建立、矩阵的建立2022-3-1特殊矩阵特殊矩阵的建立:. MATLAB(matrix1)d=eye(m,n) 产生一个产生一个m行、行、n列的单位矩阵列的单位矩阵c=ones(m,n) 产生一个产生一个m行、行、n列的元素列的元素 全为全为1的矩阵的矩阵b=zeros(m,n) 产生一个产生一个m行、行、n列的零矩阵列的零矩阵a= 产生一个空矩阵,当对一项操作无结产生一个空矩阵,当对一项操作无结 果时,返回空矩阵,空矩阵的大小为零果时,返回空矩阵,空矩阵的大小为零. 2022-3-1m=1 2 3 4;5 6 7 8;9 10 11 12p=1

15、1 1 1 2 2 2 2 3 3 3 3a=b=zeros(2,3)c=ones(2,3)d=eye(2,3)e=eye(3,3)d =1 0 0 0 1 0e =1 0 0 0 1 0 0 0 12022-3-12、矩阵中元素的操作、矩阵中元素的操作MATLAB(matrix2)(1)矩阵)矩阵A的第的第r行:行:A(r,:),:)(2)矩阵)矩阵A的第的第r列:列:A(:,(:,r)(4)取矩阵)取矩阵A的第的第i1i2行、第行、第j1j2列构成新矩阵列构成新矩阵:A(i1:i2, j1:j2)(5)以逆序提取矩阵)以逆序提取矩阵A的第的第i1i2行,构成新矩阵行,构成新矩阵:A(i2:

16、-1:i1,:),:)(6)以逆序提取矩阵)以逆序提取矩阵A的第的第j1j2列,构成新矩阵列,构成新矩阵:A(:, j2:-1:j1 )(7)删除)删除A的第的第i1i2行,构成新矩阵行,构成新矩阵:A(i1:i2,:,:)= (8)删除)删除A的第的第j1j2列,构成新矩阵列,构成新矩阵:A(:,:, j1:j2)= (9)将矩阵)将矩阵A和和B拼接成新矩阵:拼接成新矩阵:A B;A;B(3)依次提取矩阵)依次提取矩阵A的每一列,将的每一列,将A拉伸为一个列向量:拉伸为一个列向量:A(:)(:)2022-3-1a=1 2 3;4 5 6;7 8 9a1=a(2,:)a2=a(:,2)a3=a

17、(:)a4=a(1:2,2:3)a5=a(2:-1:1,:)a6=a(:,3:-1:2)a7=a;a7(1:2,:)=a8=a;a8(:,1)=a9=a a2a10=a;a1a = 1 2 3 4 5 6 7 8 9a1 = 4 5 6a2 =2 5 8a3 =1 4 7 2 5 8 3 6 9a4 =2 3 5 62022-3-1a=1 2 3;4 5 6;7 8 9a1=a(2,:)a2=a(:,2)a3=a(:)a4=a(1:2,2:3)a5=a(2:-1:1,:)a6=a(:,3:-1:2)a7=a;a7(1:2,:)=a8=a;a8(:,1)=a9=a a2a10=a;a1a5 =

18、4 5 6 1 2 3a6 = 3 2 6 5 9 8a7 = 7 8 9a8 =2 3 5 6 8 9a9 =1 2 3 2 4 5 6 5 7 8 9 8a10 =1 2 3 4 5 6 7 8 9 4 5 62022-3-1 (2)矩阵)矩阵-矩阵运算矩阵运算 1 元素对元素元素对元素的运算,同数组的运算,同数组-数组运算。数组运算。 3、矩阵的运算、矩阵的运算(1)标量)标量-矩阵运算矩阵运算 同标量同标量-数组运算。数组运算。MATLAB(matrix3) 2矩阵运算:矩阵运算:矩阵加法:矩阵加法:A+B矩阵乘法:矩阵乘法:A*B方阵的行列式:方阵的行列式:det(A)方阵的逆:方阵

19、的逆:inv(A)方阵的特征值与特征向量:方阵的特征值与特征向量:V,D=eigA 返回返回2022-3-1a=1 2 3 4 5 6b=1 2 1 2 1 2c1=a+ac2=a*bc=2 7 3;3 9 4;1 5 3c3=det(c)c4=inv(c)v,d=eig(c)c1 = 2 4 6 8 10 12c2 =6 12 15 30c =2 7 3 3 9 4 1 5 3c3 = -3c4 = -2.3333 2.0000 -0.3333 1.6667 -1.0000 -0.3333 -2.0000 1.0000 1.00002022-3-1a=1 2 3 4 5 6b=1 2 1 2

20、 1 2c1=a+ac2=a*bc=2 7 3;3 9 4;1 5 3c3=det(c)c4=inv(c)v,d=eig(c)v = -0.5515 -0.7857 -0.2743 -0.7309 0.4412 -0.3391 -0.4020 -0.4337 0.8999d = 13.4635 0 0 0 -0.2747 0 0 0 0.81122022-3-1关系与逻辑运算关系与逻辑运算 1、关系操作符、关系操作符关关系系操操作作符符说说明明小小于于大大于于=大大于于或或等等于于= =等等于于=不不等等于于2022-3-12、逻辑运算符逻辑运算符逻逻辑辑操操作作符符说说明明与与或或非非202

21、2-3-11、for循环:循环:允许一组命令以固定的和预定的次数重复允许一组命令以固定的和预定的次数重复 for x=array commands end 在在for和和end语句之间的命令串语句之间的命令串commands按数组(按数组(array)中)中的每一列执行一次的每一列执行一次. 在每一次迭代中,在每一次迭代中,x被指定为数组的下一列,即被指定为数组的下一列,即在第在第n次循环中,次循环中,x=array(:,:,n)控制流控制流MATLAB提供三种决策或控制流结构:提供三种决策或控制流结构: for循环、循环、while循环、循环、if-else-end结构结构. 这些结构经常包

22、含大量的这些结构经常包含大量的MATLAB命令,故经常出现在命令,故经常出现在MATLAB程序中,而不是直接加在程序中,而不是直接加在MATLAB提示符下提示符下. 例例 对对n=1,2,10,求求xn= 的值的值10sinnMATLAB(for1)2022-3-1for n=1:10 x(n)=sin(n*pi/10);endxx =0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.00002022-3-1 while expression commands end 只要在表达式只要在表达式(expression

23、)里的所有元素为真,就执行里的所有元素为真,就执行while和和end语句之间的命令串语句之间的命令串commands. 2、While循环循环 与与for循环以固定次数求一组命令相反,循环以固定次数求一组命令相反,while循环以不定的次循环以不定的次数求一组语句的值数求一组语句的值.MATLAB(while1) 例例 设银行年利率为设银行年利率为11.25%。将。将10000元钱存入银行,元钱存入银行,问多长时间会连本带利翻一番?问多长时间会连本带利翻一番?2022-3-1money=10000years=0while money1 f=x2+1endif x1 f=x2+1else if

24、 x=0 f=x3 else f=2*x endend f = 5f = 1f = -12022-3-1(1)用起泡法对10个数由小到大排序. 即将相邻两个数比较,将小的调到前头.(2)有一个 矩阵,编程求出其最大值及其所处的位置.(3)编程求(4)有一函数 ,写一程序,输入自变量的值,输出函数值.54201!nnyxyxyxf2sin),(2作业作业2:对以下问题,编写M文件: 返回返回2022-3-1 MATLAB作图作图2022-3-1二维图形二维图形三维图形三维图形图形处理图形处理实例实例作业作业2022-3-1 Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先

25、取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图. 命令为:PLOT(X,Y,S)PLOT(X,Y)-画实线PLOT(X,Y1,S1,X,Y2,S2,X,Yn,Sn) -将多条线画在一起X,Y是向量,分别表示点集的横坐标和纵坐标线型y 黄色黄色 . 点点 - 连线连线m 洋红洋红 o 圈圈 : 短虚线短虚线c 蓝绿色蓝绿色 x x-符号符号 -. 长短线长短线 r 红色红色 + 加号加号 - 长虚线长虚线1.曲线图曲线图2022-3-1例例 在0,2*pi用红线画sin(x),用绿圈画cos(x). x=linspace(0,2*pi,30);y=

26、sin(x);z=cos(x);plot(x,y,r,x,z,o)解解Matlab liti12022-3-12.符号函数符号函数(显函数、隐函数和参数方程显函数、隐函数和参数方程)画图画图(1) ezplotezplot(x(t),y(t),tmin,tmax) 表示在区间tminttmax绘制参数方程 x=x(t),y=y(t)的函数图ezplot(f(x),a,b) 表示在axb绘制显函数f=f(x)的函数图ezplot(f(x,y),xmin,xmax,ymin,ymax) 表示在区间xminxxmax和 yminyymax绘制隐函数f(x,y)=0的函数图2022-3-1例例 在0,

27、pi上画y=cos(x)的图形解解 输入命令ezplot(cos(x),0,pi)Matlab liti25解解 输入命令 ezplot(cos(t)3,sin(t)3,0,2*pi)Matlab liti41例例 在-2,0.5,0,2上画隐函数0)sin(xyex的图解解 输入命令ezplot(exp(x)+sin(x*y),-2,0.5,0,2)Matlab liti40例例 在0,2*pi上画tx3cos,ty3sin星形图 2022-3-12022-3-12022-3-12022-3-1(2) fplot注意:1 fun必须是M文件的函数名或是独立变量为x的字符串. 2 fplot函

28、数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。fplot(fun,lims) 表示绘制字符串fun指定的函数在lims=xmin,xmax的图形.2022-3-1解解 先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.2)再输入命令:fplot(myfun1,-1,2)Matlab liti43例例 x、y 的取值范围都在-2,2, 画函数 tanh(x),sin(x),cos(x)的图形 Matlab liti28解解 输入命令: fplot(tanh(x),sin(x),cos(x),2*pi*-1 1 1 1)例例

29、在-2,2范围内绘制函数tanh的图形解解 fplot(tanh,-2,2)Matlab liti422022-3-12022-3-12022-3-12022-3-13. 对数坐标图对数坐标图 在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog函数可以实现双对数坐标转换,用semilogx和semilogy函数可以实现单轴对数坐标转换.loglog(Y) 表示 x、y坐标都是对数坐标系semilogx(Y) 表示 x坐标轴是对数坐标系semilogy()

30、表示y坐标轴是对数坐标系plotyy 有两个y坐标轴,一个在左边,一个在右边2022-3-1例例 用方形标记创建一个简单的loglog解解 输入命令: x=logspace(-1,2);loglog(x,exp(x),-s) grid on %标注格栅Matlab liti37例例 创建一个简单的半对数坐标图解解 输入命令: x=0:.1:10; semilogy(x,10.x)Matlab liti382022-3-12022-3-12022-3-1三维图形三维图形1、空间曲线、空间曲线2、空间曲面、空间曲面2022-3-1PLOT3(x,y,z,s) 空空 间间 曲曲 线线 1、 一条曲线

31、一条曲线 例例 在区间0,10*pi画出参数曲线x=sin(t),y=cos(t), z=t. Matlab liti8 解解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) rotate3d %旋转n维向量,分别表示曲线上点集的横坐标、纵坐标、函数值指定颜色、线形等2022-3-12022-3-1 PLOT3(x,y,z)2、多条曲线多条曲线例 画多条曲线观察函数Z=(X+Y).2. (这里meshgrid(x,y)的作用是产生一个以向量x为行、向量y为列的矩阵)Matlab liti9其中x,y,z是都是m*n矩阵,其对应的每一列表示一条曲线.解 x=-3:

32、0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z)2022-3-12022-3-1空空 间间 曲曲 面面例 画函数Z=(X+Y).2的图形. 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; surf(X,Y,Z) shading flat %将当前图形变得平滑Matlab liti11(1) surf(x,y,z)画出数据点(x,y,z)表示的曲面数据矩阵。分别表示数据点的横坐标、纵坐标、函数值2022-3-12022-3-1(2) Mesh(x,y,z) 解 x=

33、-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; mesh(X,Y,Z) Matlab liti24例 画出曲面Z=(X+Y).2在不同视角的网格图. 画网格曲面数据矩阵。分别表示数据点的横坐标、纵坐标、函数值2022-3-12022-3-1(3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面)解解 输入命令: X,Y=meshgrid(-3:.125:3); Z=peaks(X,Y); Meshz(X,Y,Z)例例 绘peaks的网格图Matlab liti362022-3-12022-3-1在图形上加格栅、图例和

34、标注在图形上加格栅、图例和标注定制坐标定制坐标图形保持图形保持分割窗口分割窗口缩放图形缩放图形改变视角改变视角图形处理动动 画画2022-3-11、在图形上加格栅、图例和标注、在图形上加格栅、图例和标注(1)GRID ON: 加格栅在当前图上 GRID OFFGRID OFF: 删除格栅处理图形处理图形(2)hh = xlabel(string): 在当前图形的x轴上加图例stringhh = ylabel(string): 在当前图形的y轴上加图例stringhh = title(string): 在当前图形的顶端上加图例stringhh = zlabel(string): 在当前图形的z轴

35、上加图例string2022-3-1例例 在区间0,2*pi画sin(x)的图形,并加注图例“自变量 X”、“函数Y”、“示意图”, 并加格栅.解解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel(自变量X) ylabel(函数Y) title(示意图) grid onMatlab liti22022-3-1 (3) hh = gtext(string) 命令gtext(string)用鼠标放置标注在现有的图上.运行命令gtext(string)时,屏幕上出现当前图形,在图形上出现一个交叉的十字,该十字随鼠标的移动移动,当按下鼠标左键时,该标

36、注string放在当前十交叉的位置. 例例 在区间0,2*pi画sin(x),并分别标注“sin(x)” ”cos(x)”.解解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z)gtext(sin(x);gtext(cos(x)Matlab liti32022-3-12022-3-12、定制坐标、定制坐标Axis(xmin xmax ymin ymax zmin zmax)例例 在区间0.005,0.01显示sin(1/x)的图形。解解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot

37、(x,y)axis(0.005 0.01 -1 1)Matlab liti4定制图形坐标将坐标轴返回到自动缺省值Axis autox、y、z的最大、最小值2022-3-12022-3-13、图形保持、图形保持(1) hold on hold of例例 将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。解解 z=cos(x);y=sin(x);plot(x,z,:)hold onplot(x,y) zoom onMatlab liti5保持当前图形, 以便继续画图到当前图上释放当前图形窗口2022-3-12022-3-1(2) figure(h)例例 区间0,2*pi新建两个窗口

38、分别画出y=sin(x); z=cos(x)。解解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); title(sin(x); pause figure(2); plot(x,z); title(cos(x);Matlab liti6新建h窗口,激活图形使其可见,并把它置于其它图形之上2022-3-12022-3-12022-3-14、分割窗口、分割窗口h=subplot(mrows,ncols,thisplot) 划分整个作图区域为mrows*ncols块(逐行对块访问)并激活第thisplot块,其后的作图语句将图形画在该块上。

39、激活已划分为mrows*ncols块的屏幕中的第thisplot块,其后的作图语句将图形画在该块上。命令Subplot(1,1,1)返回非分割状态。subplot(mrows,ncols,thisplot) subplot(1,1,1)2022-3-1 解解 x=linspace(0,2*pi,100); y=sin(x); z=cos(x); a=sin(x).*cos(x); b=sin(x)./(cos(x)+eps) subplot(2,2,1);plot(x,y),title(sin(x) subplot(2,2,2);plot(x,z),title(cos(x) subplot(2

40、,2,3);plot(x,a),title(sin(x)cos(x) subplot(2,2,4);plot(x,b),title(sin(x)/cos(x)例例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x),a=sin(x)*cos(x),b=sin(x)/cos(x)。Matlab liti72022-3-12022-3-15、缩放图形、缩放图形zoom on 单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍解解 x=linspace(0,2*pi,30); y=sin(x); Plot(x,y) zoom on Matlab

41、 liti13例例 缩放y=sin(x)的图形zoom off为当前图形打开缩放模式关闭缩放模式2022-3-12022-3-16. 改变视角改变视角view (1)view(a,b) 命令view(a,b)改变视角到(a,b),a是方位角,b为仰角。缺省视角为(-37.5,30)。 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; subplot(2,2,1); mesh(X,Y,Z) subplot(2,2,2);mesh(X,Y,Z);view(50,-34) subplot(2,2,3);mesh(X,Y,Z);view(-6

42、0,70) subplot(2,2,4);mesh(X,Y,Z);view(0,1,1)Matlab liti10例 画出曲面Z=(X+Y).2在不同视角的网格图. view用空间矢量表示的,三个量只关心它们的比例,与数值的大小无关,x轴view(1,0,0),y轴view(0,1,0),z轴view(0,0,1)。(2)view(x,y,z)2022-3-12022-3-1特殊二、三维图形特殊二、三维图形1、特殊的二维图形函数、特殊的二维图形函数2、特殊的三维图形函数、特殊的三维图形函数2022-3-1特殊的二维图形函数特殊的二维图形函数1、极坐标图:、极坐标图:polar (theta,r

43、ho,s) 用角度theta(弧度表示)和极半径rho作极坐标图,用s指定线型。例的极坐标图形。2cos2sinr解:theta=linspace(0,2*pi), rho=sin(2*theta).*cos(2*theta); polar(theta,rho,g) title(Polar plot of sin(2*theta).*cos(2*theta);Matlab liti15 2022-3-12、 散点图散点图: scatter(X,Y,S,C) 在向量X和Y的指定位置显示彩色圈X和Y必须大小相同解解 输入命令: load seamount scatter(x,y,5,z)Matla

44、b liti29 3、平面等值线图:平面等值线图: contour (x,y,z,n) 绘制n个等值线的二维等值线图解解 输入命令: X,Y=meshgeid(-2:.2:2,-2:.2:3); Z=X.*exp(-X.2-Y.2); C,h=contour(X,Y,Z); clabel(C,h) colormap coolMatlab liti34 例例 绘制seamount散点图例例 在范围-2x2,-2y3 内绘22yxxez的等值线图Seamount.mat 在 toolboxmatlabdemos2022-3-12022-3-1特殊的三维图形函数特殊的三维图形函数1、空间等值线图:、

45、空间等值线图: contour 3(x,y,z,n) 其中n表示等值线数。例例 山峰的三维和二维等值线图。 解 x,y,z=peaks; subplot(1,2,1) contour3(x,y,z,16,s) grid, xlabel(x-axis),ylabel(y-axis) zlabel(z-axis) title(contour3 of peaks); subplot(1,2,2) contour(x,y,z,16,s) grid, xlabel(x-axis), ylabel(y-axis) title(contour of peaks);Matlab liti18 2022-3-1

46、3、三维散点图三维散点图 scatter3(X,Y,Z,S,C) 在向量X,Y和Z指定的位置上显示彩色圆圈. 向量X,Y和Z的大小必须相同.解解 输入命令:x,y,z=sphere(16);X=x(:)*.5 x(:)*.75 x(:);Y=y(:)*.5 y(:)*.75 y(:);Z=z(:)*.5 z(:)*.75 z(:);S=repmat(1 .75 .5*10,prod(size(x),1);C=repmat(1 2 3,prod(size(x),1);scatter3(X(:),Y(:),Z(:),S(:),C(:),filled),view(-60,60)例例 绘制三维散点图。

47、Matlab liti32 2022-3-1 help sphere SPHERE Generate sphere. X,Y,Z = SPHERE(N) generates three (N+1)-by-(N+1) matrices so that SURF(X,Y,Z) produces a unit sphere. X,Y,Z = SPHERE uses N = 20. SPHERE(N) and just SPHERE graph the sphere as a SURFACE and do not return anything. See also ELLIPSOID, CYLINDE

48、R.2022-3-1 help repmat REPMAT Replicate and tile an array. B = repmat(A,M,N) creates a large matrix B consisting of an M-by-N tiling of copies of A. B = REPMAT(A,M N) accomplishes the same result as repmat(A,M,N). B = REPMAT(A,M N P .) tiles the array A to produce a M-by-N-by-P-by-. block array. A c

49、an be N-D. REPMAT(A,M,N) when A is a scalar is commonly used to produce an M-by-N matrix filled with As value. This can be much faster than A*ONES(M,N) when M and/or N are large. Example: repmat(magic(2),2,3) repmat(NaN,2,3) See also MESHGRID.2022-3-12022-3-1实验作业实验作业1、 将屏幕分割为四块,并分别画出y=sin(x),z=3*cos

50、(x),a=sin(x)*cos(x),b=sin(x)/cos(x)。2、绘制y=x3的函数图、对数坐标图、半对数坐标图,并加注图例“自变量X”、“函数Y”、“示意图”, 并加格栅.2022-3-1实验目的实验目的实验内容实验内容直观了解统计描述的基本内容。直观了解统计描述的基本内容。数据的统计描述数据的统计描述1、基本概念。、基本概念。2、计算统计描述的命令。、计算统计描述的命令。3、计算实例。计算实例。4、实验作业。、实验作业。2022-3-1基本概念基本概念一、统计量一、统计量2022-3-1二、分布函数的近似求法二、分布函数的近似求法2022-3-12022-3-1统计工具箱中的基本

51、统计命令统计工具箱中的基本统计命令1.数据的录入、保存和调用数据的录入、保存和调用2.基本统计量基本统计量3.常见概率分布的函数常见概率分布的函数4.4.频频 数数 直直 方方 图图 的的 描描 绘绘5.综合实例综合实例2022-3-1一、数据的录入、保存和调用一、数据的录入、保存和调用 例例1 上海市区社会商品零售总额和全民所有制职工工资总额的数据如下年份78798081828284858687职 工 工 资 总 额(亿元)23.827.631.632.433.734.943.252.863.873.4商 品 零 售 总 额(亿元)41.451.861.767.968.777.595.913

52、7.4155.0175.02022-3-11、年份数据以1为增量,用产生向量的方法输入。 命令格式: x=a:h:bx=a:h:b t=78:872、分别以x和y代表变量职工工资总额和商品零售总额。 x=23.8,27.6,31.6,32.4,33.7,34.9,43.2,52.8,63.8,73.4 y=41.4,51.8,61.7,67.9,68.7,77.5,95.9,137.4,155.0,175.03、将变量t、x、y的数据保存在文件data中。 save data t x y 4、进行统计分析时,调用数据文件data中的数据。 load datat=78:87;x=23.8,27.

53、6,31.6,32.4,33.7,34.9,43.2,52.8,63.8,73.4;y=41.4,51.8,61.7,67.9,68.7,77.5,95.9,137.4,155.0,175.0;save data t x y2022-3-11、输入矩阵:data=78,79,80,81,82,83,84,85,86,87,88; 23.8,27.6,31.6,32.4,33.7,34.9,43.2,52.8,63.8,73.4; 41.4,51.8,61.7,67.9,68.7,77.5,95.9,137.4,155.0,175.02、将矩阵data的数据保存在文件data1中:save da

54、ta1 data3 3、进行统计分析时,先用命令: load data1load data1 调用数据文件data1中的数据,再用以下命令分别将矩阵data的第一、二、三行的数据赋给变量t、x、y: t=data(1,:) x=data(2,:) y=data(3,:)若要调用矩阵data的第j列的数据,可用命令: data(:,j)data=78 79 80 81 82 83 84 85 86 87; 23.8,27.6,31.6,32.4,33.7,34.9,43.2,52.8,63.8,73.4; 41.4,51.8,61.7,67.9,68.7,77.5,95.9,137.4,155.0,175.0; save data1 data;2022-3-1二、基本统计量二、基本统计量对随机变量x,计算其基本统计量的命令如下:均值:mean(x)mean(x)中位数:median(x)median(x)标准差:std(x)std(x) 方差:var(x)var(x)例例 对例1中的职工工资总额x,可计算上述基

温馨提示

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

最新文档

评论

0/150

提交评论