1、第一部分 MATLAB 基础与入门第一章 MATLAB 简介在科学和工程应用中,往往要进行大量的科学计算,其中包括以矩阵为基础的数学计算;这些计算一般来说难以用手工精确和快捷地进行,而且众多工程问题一般只要求得到满足精度的近似解就行,从而借助于计算机编写相应的程序进行近似计算就显得很有必要。目前用 Basic、Fortran 和 C 编制计算程序较多,但其既需要对有关算法有深刻的了解,还需要熟练掌握所用语言的语法和编程技巧;这对较多科学和工程技术人员而言,同时具备这两方面的技能就很有难度;而且用上述语言编制程序不但复杂,一般需要大量的人力和物力,而且影响工作进程和效率,为此,美国 Mathwo
2、rk 公司于 1967年推出了“Matrix Laboratory”(即矩阵实验室,缩写为 Matlab)软件包,并不段进行更新和扩充,目前已成为全球应用最广泛最流行的软件之一。目前最新的 6.5 版本(windows 环境)是一种功能强、效率高便于进行科学和工程计算的交互式软件包。其中包括:一般数值分析、矩阵运算、概率统计、建模与系统控制和优化等应用程序。并集应用程序和图形于一便于使用的集成环境中,在此环境下所解问题的 Matlab 语言表述形式和其数学表达形式相同,不需要按传统的方法编程,就可解决工程、科学计算和数学学科中的许多问题。 。不过,Matlab 作为一种新的计算机语言,要想运用
3、自如,充分发挥它的威力,也许先系统地学习它。为此,本书的第一部分主要为了使读者能够掌握 Matlab 的基础,并在后面的不断应用中,再挖掘其内在的潜力。首先应该相信的是,由于使用 Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,从而学习 Matlab 语言不象学习其它高级语言如 Basic、Fortran 和C 等那样难以掌握。第二章 MATLAB 应用开发环境在安装完 MATLAB 后,在桌面上会有一快捷方式 MATLAB.exe,如下图所示:双击 MATLAB.exe 就可运行 MATLAB,初始窗口如下:从上图中可以看出,MATLAB 包含 5 种工具界面:发布平台(La
4、unch Pad) Matlab 的发布平台为用户提供对工具箱、演示程序和文档的轻松访问,双击“工具箱” 、 “演示程序”和“帮助”等对应的图标就可获得用户所需的操作。工作平台浏览器(workspace) 工作平台浏览器与发布平台共享一个界面,通过标签切换可选则其一。Matlab 工作平台包括一些 Matlab 运行过程中用到并储存于内存中的变量(称为数组)集合。用户通过使用函数、运行 M 文件或装载将变量保存到工作平台中。使用工作平台浏览器或函数 who 和 whos 来查看工作平台中的变量信息。使用菜单命令或 clear 函数来删除平台中的变量。Matlab 运行结束后工作平台不被保持,如
5、果希望在以后的 Matlab 运行过程中使用该平台,可以使用菜单命令或函数 save 将平台保存为一个 mat 文件,文件的扩展名为.mat,读取 mat 文件可以使用菜单命令或函数load。在工作平台浏览器中右击一个变量可以看到行编辑器,使用该编辑器可对工作平台的一维或二维常数数组、字符串或字符串数组元素进行编辑和查看。历史命令(Command History) 历史命令窗口中显示了最近在命令窗口运行过的函数的日志,历史命令窗口包括在当前回话和前面回话中执行过的所有函数的记录。每一个回话的时间和日期显示在这个回话历史的所有记录上面,利用滚动条、向上方向键或者向下方向键可以浏览历史命令窗口的全
6、部内容。当内容太多,很难找到需要的函数时,就需要删除一些不用的条目。当前目录浏览器(Current Directory) 当前目录浏览器与历史命令公用一个窗口,通过标签切换可选则其一。Matlab 文件的操作使用当前目录并使用搜索路径作为参考点,用户希望运行的任何文件都必须位于当前路径或搜索路径内。当前目录浏览器用来搜索、查看、打开或修改 Matlab 相关路径。另外,也可以通过函数 dir、cd 和 delete 来进行路径操作;Matlab 使用搜索路径寻找 m 文件和其他 Matlab 相关文件,通常 Matlab 提供的文件和工具箱都包括在搜索路径内。使用桌面菜单 File 中的 Se
7、t Path 选项来修改或添加搜索路径,函数 path,addpath,rmpath 也可分别用来查看添加和删除搜索路径。命令窗口(Command Window) 命令窗口是 Matlab 的重要组成部分,是用户和Matlab 交互使用最多的工具。命令窗口可以用来输入变量和运行函数以及 m 文件。如果需要,用户还可以定义该窗口的输入输出特性。由于命令窗口如此重要,下面分别介绍命令窗口的菜单栏和命令输入区等。从上图可以看出,窗口的菜单栏由 File、View、Web、Window 和 Help 菜单组成。1. File 菜单 单击菜单栏上的 File 菜单,显示如下图所示的下拉式子菜下面介绍各子
8、菜单的作用和功能。New 选项 鼠标移到 File 选项的下拉式子菜单 New 选项,New 选项将会向右拉出四项子菜单项:M-file、Figure、Model 和 GUI。单击 M-file 将打开指定的编辑器,并自动打开一个空白 M 文件(M 文件是包含 matlab 源代码的文本文件) ;单击 Figure 选项将建立一个空白图形窗口;单击 Model 选项将自动打开防真库和一个用于建立新模型的窗口(用于系统防真) ;单击 GUI 选项,matlab 将会打开图形界面控制面板,在图形界面控制面板里,用户可以通过选种面板里的图形模板,然后在打开的图形窗口中根据需要绘制各种界面元素,生成精
9、美的图形界面;Open 选项 单击 Open 选项, matlab 将用指定的编辑器打开一个已经建立的.m 文件、.fig 文件或.mdl 文件等。Close Command Window 选项 只是关闭 MATLAB 包含 6 种工具界面中的命令窗口这一个界面,而其他界面保持,若再单击 Open Selection 选项,Matlab 将用指定的编辑器打开该 M 文件。Import Data 选项 单击该选项将打开一个目录框,在目录框中列出所选目录下的后缀为.Mat(默认)的文件,选中某个文件后,将把该文件中保存的变量载入到当前空间。Save Workspace As选项 把当前工作空间的所
10、有变量用后缀为.Mat 或其他后缀的 ASCll 文件保存起来,将来可用 Import data菜单选项进行装载,单击该选项将弹出一个目录框,用户通过该目录框选折文件的存储目录和名字。Set Path选项 单击该选项,将打开 Matlab 的路径浏览器,通过路径浏览器可以更改 Matlab 执行命令时的搜索路径。Preferences 选项 单击该选项,将打开参数设置的对话框,通过设置其中的选项,可以调整命令编辑区的显示格式,包括数字格式、编辑器设置、帮助目录设置、命令窗口字体、背景色设置等选项。Print 选项 该选项用于打印命令窗口中的内容,也可以设置一些打印参数。Print Select
11、ion 选项 当选中命令编辑区的一部分后,单击该选项即可按照设置进行打印。Exit MATLAB 选项 单击 Exit MATLAB 选项,将关闭 Matlab。2.Edit 菜单单击菜单栏上的 Edit 菜单,将出现一个如图 2-9 所示的下拉菜单。其中Undo、Redo、Cut、Copy 和 Paste 项的作用分别进行撤消上一次操作、重做上一次操作、剪切、复制、粘贴等常规编辑操作。在命令编辑区输入命令出现错误时,选中想删除的内容,再单击 Clear 选项,将清除选中的内容(已经敲“回车”键的除外) 。Select All 选项用于选定文本编辑区的所有内容,以便进一步操作。命令内容很乱时,
12、可用 Clear Command Window、Clear Command History、Clear Workspace 项清除Command Window、Command History、Workspace 的全部内容。3.View 和 Window 菜单提供了一些简单的功能,控制 Matlab 的桌面和窗口。4.Web 菜单提供了到 Matlab 网站的几个连接。5.Help 菜单包括 Matlab Help、Using Command Window、Demos、About Matlab 等选项。Matlab Help 选项:将打开 Matlab 的帮助窗口,帮助窗口显示了帮助内容分类信
13、息。Using Command Window:直接将帮助内容连接到命令窗口使用的帮助文档。Demos 选项:单击 Demos 项时,可以演示 Matlab 提供的例子,熟悉相关部分的用法。About Matlab 选项:单击 About Matlab 将打开关于 Matlab 6 的版本和版权等信息。第三章 MATLAB 语言基础MATLAB 建立在向量、数组和矩阵的基础上,使用方便,人机界面直观,输出结果可视化,矩阵是 MATLAB 的核心。一、变量与函数 1.变量MATLAB 中变量的命名规则 是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过 19 个
14、字符;(4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号。2.特殊变量表特殊变量 取 值Ans 用于结果的缺省变量名Pi 圆周率Eps 计算机的最小数,当和 1 相加就产生一个比 1 大的数Flops 浮点运算数Inf 无穷大,如 1/0NaN 不定量,如 0/0I,j i=j= 1Nargin 所用函数的输入变量数目Nargout 所用函数的输出变量数目Realmin 最小可用正实数Realmax 最大可用正实数3.数学运算符号及标点符号+ 加法运算,适用于两个数或两个同阶矩阵相加. 减法运算* 乘法运算.* 点乘运算/ 除法运算./ 点除运算 乘幂运算
15、. 点乘幂运算 反斜杠表示左除. (1)MATLAB 的每条命令后,若为 逗号或无标点符号,则显示该条命令运行的结果;若命令后为分号,则运行结果不显示;(2) “%” 后面所有文字为注释;(3) “.”表示续行;4.数学函数函 数 名 称 函 数 名 称sin(x) 正弦函数 asin(x) 反正弦函数cos(x) 余弦函数 acos(x) 反余弦函数tan(x) 正切函数 atan(x) 反正切函数abs(x) 绝对值 max(x) 最大值min(x) 最小值 sum(x) 元素的总和sqrt(x) 开平方 exp(x) 以 e 为底的指数log(x) 自然对数 )(log10x以 10 为
16、底的对数sign(x) 符号函数 fix(x) 取整5.M 文件MATLAB 的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为MATLAB 定义新函数,为此必须编写函数文件 . 函数文件是文件名后缀为 M 的文件,这类文件的第一行必须是一特殊字符 function 开始;格式为:function 因变量名=函数名(自变量名)函数值的获得必须通过具体的运算实现,并赋给因变量. M 文件建立方法:1. 在 Matlab 中,点:File-New-M-file2. 在编辑窗口中输入程序内容3. 点:File-Save,存盘,M 文件名必须与函数名一致。Matlab 的应用程序也以 M 文
17、件保存。例 3.1 定义函数 f(x1,x2)=100(x2-x12)2+(1-x1)21.建立 M 文件:fun.mfunctionf=fun(x)f=100*(x(2)-x(1)2)2+(1-x(1)22.可以直接使用函数 fun.m例 3.2 计算 f(1,2),只需在 Matlab 命令窗口键入命令:x=1 2fun(x)二、数组1、创建简单的数组x=a b c d e f 创建包含指定元素的行向量x=first:last 创建从 first 开始,加 1 计数,到 last 结束的行向量x=first:increment :last 创建从 first 开始,加 increment
18、计数,last 结束的行向量x=linspace(first,last,n) 创建从 first 开始,到 last 结束,有 n 个元素的行向量x=logspace(first,last,n) 创建从开始,到结束,有 n 个元素的对数分隔行向量.清单:x=1 2 3 4 5 8 7 18y=1:7z=3:2:9v=y zu=linspace(2,9,11)结果:x =1 2 3 4 5 8 7 18y =1 2 3 4 5 6 7z =3 5 7 9v =1 2 3 4 5 6 7 3 5 7 9u =2.00 2.70 3.40 4.10 4.80 5.50 6.20 6.90 7.60
19、8.30 9.002、数组元素的访问(1)访问一个元素: x(i)表示访问数组 x 的第 i 个元素. (2)访问一块元素: x(a :b :c)表示访问数组 x 的从第 a 个元素开始,以步长为 b 到第 c 个元素(但不超过 c) ,b 可以为负数,b 缺损时为 1. (3)直接使用元素编址序号. x(a b c d) 表示提取数组 x 的第 a、b、c、d 个元素构成一个新的数组x(a) x(b) x(c) x(d). 清单: x=1:9y=x(2:2:8)z=x(1) x(6) x(8)结果:x=1 2 3 4 5 6 7 8 9y=2 4 6 8z=1 6 83、数组的方向前面例子中
20、的数组都是一行数列,是行方向分布的. 称之为行向量. 数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.;产生列向量有两种方法:直接产生 例 c=1; 2;3;4转置产生 例 b=1 2 3 4; c=b 说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素;2、 数组的运算(1)标量-数组运算数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方设:a=a 1,a2,an, c=标量则:a+c=a 1+c,a2+c,an+ca.*c=a1*c,a2*c,an*ca./c= a1/c,a2/c
21、,an/c(右除)a.c= c/a1,c/a2,c/an (左除 )a.c= a1c,a2c,ancc.a= ca1,ca2,can 清单: a=1 2 3 4;c=2;a1=a+ca2=a*ca3=a./ca4=a.ca5=a.ca6=c.a结果:a1=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 16(2)数组-数组运算当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.设:a=a 1,
22、a2,an, b=b1,b2,bn则:a+b= a1+b1,a2+b2,an+bna.*b= a1*b1,a2*b2,an*bna./b= a1/b1,a2/b2,an/bna.b=b1/a1,b2/a2,bn/ana.b=a1b1,a2b2,anbn清单: a=2 2 2;b=3 3 3;c1=a+bc2=a.*bc3=a./bc4=a.bc5=a.b结果:c1=5 5 5c2=6 6 6c3=0.6667 0.6667 0.6667c4=1.5000 1.5000 1.5000c5=8 8 8三、矩阵1、矩阵的建立逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵
23、时,按 Enter 键也表示开始一新行. 输入矩阵时,严格要求所有行有相同的列. 例 3.2m=1 2 3 4 ;5 6 7 8;9 10 11 12p=1 1 1 12 2 2 23 3 3 3特殊矩阵的建立:a= 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零. b=zeros(m,n) 产生一个 m 行、n 列的零矩阵c=ones(m,n) 产生一个 m 行、n 列的元素全为 1 的矩阵d=eye(m,n) 产生一个 m 行、n 列的单位矩阵清单: m=1 2 3 4;5 6 7 8;9 10 11 12p=1 1 1 12 2 2 23 3 3 3a=b=zeros
24、(2,3)c=ones(2,3)d=eye(2,3)e=eye(3,3)结果:m =1 2 3 45 6 7 89 10 11 12p =1 1 1 12 2 2 23 3 3 3a =b =0 0 00 0 0c =1 1 11 1 1d =1 0 00 1 0e =1 0 00 1 00 0 1矩阵中元素的操作(1)矩阵 A 的第 r 行:A(r ,:)(2)矩阵 A 的第 r 列:A(:,r )(3)依次提取矩阵 A 的每一列,将 A 拉伸为一个列向量: A(:)(4)取矩阵 A 的第 i1i2 行、第 j1j2 列构成新矩阵:A(i 1:i2, j1:j2)(5)以逆序提取矩阵 A 的
25、第 i1i2 行,构成新矩阵:A(i 2:-1:i 1,:)(6)以逆序提取矩阵 A 的第 j1j2 列,构成新矩阵:A(:, j2:-1:j 1 )(7)删除 A 的第 i1i2 行,构成新矩阵 :A(i1:i2,:)= (8)删除 A 的第 j1j2 列,构成新矩阵 :A(:, j1:j2)= (9)将矩阵 A 和 B 拼接成新矩阵:A B;A ;B清单: a=1 2 3;4 5 6;7 8 9;a1=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
26、 a2a10=a;a1结果:a1=4 5 6a2=258a3=147258369a4=2 35 6a5=4 5 61 2 3a6=3 26 59 8a7=7 8 9a8=2 35 68 9a9=1 2 3 24 5 6 57 8 9 8a10=1 2 34 5 67 8 94 5 63、矩阵的运算(1)标量-矩阵运算同标量-数组运算。(2)矩阵-矩阵运算1 元素对元素的运算,同数组- 数组运算。2矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:V,D=eigA清单: a=1 2 34 5 6;b=1 21 21 2;c1=a+a
27、c2=a*bc=2 7 3;3 9 4;1 5 3c3=det(c)c4=inv(c)v,d=eig(c)结果:c1 =2 4 68 10 12c2 = 6 1215 30c =2 7 33 9 41 5 3c3 =-3c4 =-2.3333 2.0000 -0.33331.6667 -1.0000 -0.3333-2.0000 1.0000 1.0000v =-0.5515 -0.7857 -0.2743-0.7309 0.4412 -0.3391-0.4020 -0.4337 0.8999d =3.4635 0 00 -0.2747 00 0 0.8112四、关系与逻辑运算1、关系操作符关
28、系操作符 说明大于= 大于或等于= = 等于= 不等于2、逻辑运算符3、控制流 MATLAB 提供三种决策或控制流结构: for循环、while 循环、if-else-end 结构. 这些结构经常包含大量的 MATLAB 命令,故经常出现在 MATLAB 程序中,而不是直接加在 MATLAB 提示符下.a、for 循环:允许一组命令以固定的和预定的次数重复for x=arraycommandsend在 for 和 end 语句之间的命令串commands按数组(array)中的每一列执行一次. 在每一次迭代中,x 被指定为数组的下一列,即在第 n 次循环中,x=array(:,n)例 3.3
29、对 n=1,2,10,求 xn= 的值;10si清单: for n=1:10x(n)=sin(n*pi/10);endx结果:b、While 循环与 for 循环以固定次数求一组命令相反,while 循环以不定的次数求一组语句的值 .while expressioncommands逻辑操作符 说明 与 或 非end只要在表达式(expression)里的所有元素为真,就执行 while 和 end 语句之间的命令串commands. 例 3.4 设银行年利率为 11.25%。将 10000 元钱存入银行,问多长时间会连本带利翻一番?清单: money=10000;years=0;while m
30、oney1f=x2+1endif x1f=x2+1else if x=0f=x3elsef=2*xendend输入:fun2(2),fun2(0.5),fun2(-1)结果:5 1 -1第四章 MATLAB 作图1、二维图形1.曲线图Matlab 作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标) ,然后将该点集的坐标传给Matlab 函数画图. 命令为: plot(X,Y,S)plot(X,Y)-画实线plot(X,Y1,S1,X,Y2,S2,X,Yn,Sn)-将多条线画在一起 X,Y 是向量, 分别表示点集的横坐标和纵坐标,命令
31、plot(X,Y,S)描绘该点集所表示的曲线,其线型 S 确定如下:y 黄色 . 点 - 连线m 洋红 o 圈 : 短虚线c 蓝绿色 x x-符号 -. 长短线r 红色 + 加号 - 长虚线例 4.1 在0,2*pi 用红线画 sin(x),用绿圈画 cos(x)清单:x=linspace(0,2*pi,30);y=sin(x);z=cos(x); plot(x,y,r,x,z,g0)结果:2.符号函数( 显函数、隐函数和参数方程)画图(1) ezplotezplot(f(x),a,b) 表示在 axb 绘制显函数 f=f(x)的函数图ezplot(f(x,y),xmin,xmax,ymin,
32、ymax)表示在区间 xminxxmax 和 yminyymax 绘制隐函数 f(x,y)=0 的函数图ezplot(x(t),y(t),tmin,tmax)表示在区间 tminttmax 绘制参数方程 x=x(t),y=y(t)的函数图例 4.2 在0,pi上画 y=cos(x)的图形清单: ezplot(sin(x),0,pi)0 1 2 3 4 5 6 7 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 结果:例 4.3 在0,2*pi上画 , 星形图tx3costy3sin清单: ezplot(cos(t)3,sin(t)3,0,2*pi)结果:例
33、 4.4 在-2,0.5,0,2上画隐函数 的图0)sin(xyex清单: ezplot(exp(x)+sin(x*y),-2,0.5,0,2)结果:(2) fplotfplot(fun,lims)表示绘制字符串 fun 指定的函数在 lims=xmin,xmax的图形.注意:1fun 必须是 M 文件的函数名或是独立变量为 x 的字符串.2fplot 函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。例 4.5 在-1,2上画 的 图形)3sin(22xey清单: 先建 M 文件 myfun1.m:function Y=myfun1(x)Y=exp(2*x)+sin(3*x.2)输
34、入命令:fplot(myfun1,-1,2) 结果:例 4.6 在-2,2范围内绘制函数 tanh 的图形清单:fplot(tanh,-2,2) 结果:例 4.7 x、y 的取值范围都在- , ,画函数 tanh(x),sin(x),cos(x)的图形2清单: fplot(tanh(x),sin(x),cos(x),2*pi*-1 1 1 1)结果:3.对数坐标图在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用 loglog 函数可以实现双对数坐标转换 ,用semi
35、logx 和 semilogy 函数可以实现单轴对数坐标转换.loglog(Y) 表示 x、y 坐标都是对数坐标系semilogx(Y) 表示 x 坐标轴是对数坐标系semilogy() 表示 y 坐标轴是对数坐标系plotyy 有两个 y 坐标轴,一个在左边,一个在右边例 4.8 用方形标记创建一个简单的 loglog清单: x=logspace(-1,2);loglog(x,exp(x),-s)grid on %标注格栅结果:例 4.9 创建一个简单的半对数坐标图清单:x=0:.1:10;semilogy(x,10.x)结果:例 4.10 绘制 y=x3 的函数图、对数坐标图、半对数坐标图
36、;清单: x=1:1:100;subplot(2,3,1);plot(x,x.3);grid on;title plot-y=x3;subplot(2,3,2);loglog(x,x.3);grid on;title loglog-logy=3logx;subplot(2,3,3);plotyy(x,x.3,x,x);grid on;title plotyy-y=x3,logy=3logx;subplot(2,3,4);semilogx(x,x.3);grid on;title semilogx-y=3logx;subplot(2,3,5);semilogy(x,x.3);grid on;ti
37、tle semilogy-logy=x3;结果:2、三维图形空间曲线1.一条曲线 PLOT3(x,y,z,s)x,y,z 是 n 维向量,分别表示曲线上点集的横坐标、纵坐标、函数值;s 指定颜色、线形等例 4.11 在区间 0,10*pi画出参数曲线 x=sin(t),y=cos(t),z=t.清单: t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)rotate3d %旋转结果:2、多条曲线 PLOT3(x,y,z)其中 x,y ,z 是都是 m*n 矩阵,其对应的每一列表示一条曲线.例 4.12 画多条曲线观察函数 Z=(X+Y).2. 清单:x=-3:0.1:3
38、;y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;plot3(X,Y,Z) 结果:(这里 meshgrid(x,y)的作用是产生一个以向量 x 为行、向量 y 为列的矩阵)空间曲面(1) surf(x,y,z) 画出数据点( x,y,z )表示的曲面例 4.13 画函数 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 %将当前图形变得平滑结果:(2) Mesh(x,y,z) 画网格曲面例 4.14 画出曲面 Z=(X+Y).2 在不同
39、视角的网格图清单:x=-3:0.1:3; y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;mesh(X,Y,Z)结果:(3)meshz(X,Y,Z) 在网格周围画一个 curtain 图( 如,参考平面)例 4.15 绘 peaks 的网格图清单:X,Y=meshgrid(-3:.125:3);Z=peaks(X,Y);Meshz(X,Y,Z)结果:图形处理1、图形上加格栅、图例和标注(1 )GRID ON: 加格栅在当前图上GRID OFF: 删除格栅(2)hh = xlabel(string): 在当前图形的 x 轴上加图例 stringhh = ylabel(
40、string): 在当前图形的 y 轴上加图例 stringhh = zlabel(string): 在当前图形的 z 轴上加图例 stringhh = title(string): 在当前图形的顶端上加图例 string例 4.16 在区间 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 on结果:(3) hh = gtext(string)命令 gtext(string)用鼠标放置标注在现有的图上.运行命令 gtext(string)时,屏幕上出现当前图形,在图形上出现一个交叉的十字该十字随鼠标的移动移动,当按下鼠标左键时,该标注 string 放在当前十交叉的位置.