统计计算-matlab介绍

57
- - 1 - - 华华华 [email protected] 课课 课课课 Matlab 课课课课 课课 课课 2009 课 9 课 -2010 课 2

Upload: api-19919644

Post on 16-Nov-2014

91 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 11 - -汤银才 [email protected]

课程 统计计算

Matlab 上机习题

专业:统计学

2009 年 9 月 -2010 年2 月

Page 2: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 22 - -汤银才 [email protected]

一、 MATLAB 概述

MATLAB 是英文 MATrix LABorotory( 矩阵实验室 ) 的缩写

MATLAB 语言是一种广泛应用于工程计算及数值分析领域的新型高级语言

国际公认的最优秀的工程应用开发环境。 MATLAB 功能强大、简单易学、编程效率高,深受广

大科技工作者的欢迎。 大学生、硕士生以及博士生必须掌握的基本技能。

Page 3: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 33 - -汤银才 [email protected]

MATLAB 特点 :

1. 数值计算和符号计算功能 MATLAB 的数值计算功能包括:矩阵运算、多项式、数据统计分

析、数值积分、优化处理等。符号计算将得到问题的解析解。

2.MATLAB 语言 MATLAB 除了命令行的交互式操作以外,还可以程序方式工作。

3. 图形功能 MATLAB 提供了两个层次的图形命令。利用 MATLAB 的高级图形

命令可以轻而易举地绘制二维、三维乃至四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精细控制等等。

4. 应用工具箱基本部分和各种可选的工具箱。基本部分中有数百个

内部函数。

Page 4: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 44 - -汤银才 [email protected]

二、 MATLAB 程序设计

1.MATLAB 有两种工作方式:– 交互式的命令行工作方式

2. M 文件的程序工作方式M 文件 : 有两类:命令文件和函数文件。

– 命令文件:没有输入参数,也不返回输出参数。– 函数文件:可以输入参数,也可返回输出参数。

【例 1 】 求方程 x^4+7x^3 +9x-20=0 的全部根。 在 MATLAB 命令窗口输入: p=[1,7,0,9,-20]; % 建立多项式系数向量 x=roots(p) % 求根

Page 5: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 55 - -汤银才 [email protected]

命令文件【例 2 】 建立一个命令文件将变量 a,b 的值互换 (e31 . m) : a=1:9;

b=[11,12,13;14,15,16;17,18,19];

c=a;a=b;b=c;

a

b

Page 6: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 66 - -汤银才 [email protected]

函数文件 1. 函数文件格式

【例 3 】 编写函数求小于任意自然数 n 的 Fibonacci 数列各项(ffib.m) function f=ffib(n) % 用于求 Fibonacci 数列的函数文件: f=ffib(n) f=[1,1]; i=1; while f(i)+f(i+1)<n f(i+2)=f(i)+f(i+1); i=i+1; end

function 输出形参表 = 函数名 ( 输入形参表 ) 注释说明部分 函数体

Page 7: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 77 - -汤银才 [email protected]

【例 4 】利用函数的递归调用,求 n !

2 .函数调用

在命令文件 main2.m 中调用函数文件 factor.m : for i=1:10 fac(i)=factor(i); end fac

function f=factor(n) if n<=1 f=1; else f=factor(n-1)*n; end return; % 返回

函数调用的一般格式是: [ 输出实参表 ]= 函数名 ( 输入实参表 )

Page 8: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 88 - -汤银才 [email protected]

全局变量和局部变量在 MATLAB 中,全局变量用命令 global 定义。函

数文件的内部变量是局部的,与其他函数文件及MATLAB 工作空间相互隔离。但是,如果在若干函数中,都把某一变量定义为全局变量,那么这些函数将公用这一个变量。全局变量的作用域是整个 MATLAB工作空间,即全程有效。

【例 5 】 全局变量应用示例 先建立函数文件 wadd.m ,该函数将输入的参数加权相加。 function f=wadd(x,y) %add two variable global ALPHA BETA f=ALPHA*x+BETA*y;

Page 9: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 99 - -汤银才 [email protected]

数据的输入输出1. input 函数:用于向计算机输入一个参数。

注:‘ s’ 选项,则允许用户输入一个字符串。 例如想输入一个人的姓名,可采用命令 xm=input('What''s your name:','s')

【例 6 】 求一元二次方程 a2 +bx+c=0 的根 (aa.m) a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]

调用格式: A=input( 提示信息,选项 );

Page 10: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1010 - -汤银才 [email protected]

2 . pause 函数:暂停程序的执行。

注:如果省略延迟时间,直接使用 pause ,则将暂停程序,直到用户按任一键后程序继续执行。

3 . disp 函数:命令窗口输出函数。

注:输出项为字符串或矩阵。例如 A='Hello,MATLAB';

disp(A)

调用格式: pause(延迟秒数 )

调用格式: disp( 输出项 )

Page 11: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1111 - -汤银才 [email protected]

程序设计

(一)选择结构选择结构的语句有 if 语句和 switch 语句。1 . if 语句

格式二: if 条件 语句组 1

else

语句组 2

end

格式一: if 条件 语句组 end

Page 12: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1212 - -汤银才 [email protected]

格式三: if 条件 1

语句组 1

elseif 条件 2

语句组 2

……

elseif 条件 m

语句组m

else

语句组m+1

end

Page 13: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1313 - -汤银才 [email protected]

【例 7 】 输入三角形的三条边,求面积。 A=input('请输入三角形的三条边: ');

if A(1)+A(2)>A(3) & A(1)+A(3)>A(2) & A(2)+A(3)>A(1)

p=(A(1)+A(2)+A(3))/2;

s=sqrt(p*(p-A(1))*(p-A(2))*(p-A(3)));

disp(s);

else

disp(' 不能构成一个三角形。 ')

end

运行: 请输入三角形的三条边: [4 5 6]

9.9216

Page 14: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1414 - -汤银才 [email protected]

2 switch 语句 switch 语句根据变量或表达式的取值不同,分别执行不同的语句。其格式为: switch 表达式 case 值 1 语句组 1 case 值 2 语句组 2 …… case 值 m 语句组m otherwise 语句组m+1 end

Page 15: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1515 - -汤银才 [email protected]

(二)循环结构实现循环结构的语句: for 语句和 while 语句。1 . for 语句:

注:其中表达式 1 的值为循环变量的初值,表达式 2 的值为步长,表达式 3 的值为循环变量的终值。步长为1时,表达式 2 可以省略。

格式: for 循环变量 = 表达式 1: 表达式 2: 表达式 3 循环体语句 end

Page 16: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1616 - -汤银才 [email protected]

【例 8 】 根据变量 num 的值来决定显示的内容。 num=input('请输入一个数 '); switch num case -1 disp('I am a teacher.'); case 0 disp('I am a student.'); case 1 disp('You are a teacher.'); otherwise disp('You are a student.'); end

Page 17: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1717 - -汤银才 [email protected]

2 . while 语句

3 . 循环的嵌套多重循环的嵌套层数可以是任意的。可以按照嵌

套层数,分别叫做二重循环、三重循环等。处于内部的循环叫作内循环,处于外部的循环叫作外循环。

格式为: while (条件 ) 循环体语句 end

Page 18: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1818 - -汤银才 [email protected]

【 例 9 】 求 [100,1000] 以 内 的 全 部 素 数 。

n=0;

for m=100:1000

flag=1; j=m-1;

i=2;

while i<=j & flag

if rem(m,i)==0

flag=0; end

i=i+1; end if flag n=n+1; prime(n)=m; end end prime % 变量 prime存放素数

Page 19: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 1919 - -汤银才 [email protected]

统计工具箱常用的命令

– 产生随机数 :正态分布、对数正态分布、指数分布等

– 计算 常用分布的概率密度函数– 计算 常用分布的 (累积 ) 分布函数– 计算 常用分布的分位数 (逆累积分布函数 )– 常用分布的极大似然估计– 常用的统计 特征量– 常用的检验方法 (JBtest, kktest)– 常用的统计绘图工具 (qqplot, boxplot, normplot

等 )

Page 20: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2020 - -汤银才 [email protected]

三、绘图功能 作为一个功能强大的工具 软件, Matlab 具有很

强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。

Page 21: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2121 - -汤银才 [email protected]

3.1 二维图形

一、 plot 函数函数格式: plot(x,y) 其中 x 和 y 为坐标向量函数功能:以向量 x 、 y 为轴,绘制曲线。

【 例 3-1 】 在区间 0≤X≤2 内 , 绘 制正弦曲线 Y=SIN(X) , 其程序为:

x=0:pi/100:2*pi;y=sin(x);plot(x,y)

Page 22: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2222 - -汤银才 [email protected]

【 例 3-2 】同时绘 制正、余弦两条曲线 Y1=SIN ( X ) 和 Y2=COS ( X ),其程序为:

x=0:pi/100:2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,x,y2)

plot 函数还可以为 plot(x,y1,x,y2 , x,y3 ,… ) 形式,其功能是以公共向量 x 为 X轴,分别以 y1 , y2 , y3 ,…为 Y轴,在同一幅图内绘制出多条曲线。

Page 23: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2323 - -汤银才 [email protected]

(一)线型与颜色

【例 3-3 】 用不同线型和颜色重新绘制例 4.2 图形,其程序为:x=0:pi/100:2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,'go',x,y2,'b-.')

其中参数 'go' 和 'b-.' 表示图形的颜色和线型。 g 表示绿色, o 表示图形线型为圆圈; b 表示蓝色, -. 表示图形线型为点划线。

格式: plot(x,y1,’cs’,...) 其中 c 表示颜色, s 表示线型。

Page 24: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2424 - -汤银才 [email protected]

(二)图形标记在绘制图形的同时,可以对图形加上一些说明,如

图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。

title(‘ 加图形标题 ');

xlabel('加 X轴标记 ');

ylabel('加 Y轴标记 ');

text(X,Y,'添加文本 ');

Page 25: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2525 - -汤银才 [email protected]

(三)设定坐标轴用户若对坐标系统不 满意,可利用 axis 命令对其重新设

定。axis([xmin xmax ymin ymax]) 设定最大和最小

值axis (’ auto’) 将坐标系统返回到自 动缺省状态axis (’ square’) 将当前图形设置为方形axis (’ equal’) 两个坐标因子设成相等axis (’ off’) 关闭坐标系统axis (’ on’) 显示坐标系统

Page 26: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2626 - -汤银才 [email protected]

【例 3-4 】 在坐标范围 0≤X≤2π,-2≤Y≤2 内重新绘制正弦曲线,其程序为:x=linspace(0,2*pi,60); 生成含有 60 个数据元素的向量 X

y=sin(x);

plot(x,y);

axis ([0 2*pi -2 2]); 设定坐标轴范围

Page 27: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2727 - -汤银才 [email protected]

(四)加图例 给图形加图例命令为 legend 。该命令把图例放置在图

形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。

【例 3-5 】 为正弦、余弦曲线增加图例,其程序为:x=0:pi/100:2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,x,y2, '--');

legend('sin(x)','cos(x)');

格式 :legend(' 图例说明 ',' 图例说明 ')

Page 28: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2828 - -汤银才 [email protected]

(一) subplot ( m,n,p ) 该命令将当前图形窗口分成m×n 个绘图区,

即每行 n 个,共m 行,区号按行优先编号,且选定第 p 个区为当前活动区。

二、 subplot 函数

Page 29: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 2929 - -汤银才 [email protected]

【例 3-6 】 在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为:

x=linspace(0,2*pi,60);

y=sin(x);

z=cos(x);

t=sin(x)./(cos(x)+eps); eps 为系统内部 常数ct=cos(x)./(sin(x)+eps);

subplot(2,2,1); 分成 2×2区域且指定 1 号为活动区plot(x,y);

title('sin(x)');

axis ([0 2*pi -1 1]);

Page 30: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3030 - -汤银才 [email protected]

subplot(2,2,2);plot(x,z);title('cos(x)');axis ([0 2*pi -1 1]);subplot(2,2,3);plot(x,t);title('tangent(x)');axis ([0 2*pi -40 40]);subplot(2,2,4);plot(x,ct);title('cotangent(x)');axis ([0 2*pi -40 40]);

Page 31: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3131 - -汤银才 [email protected]

(二)多图形窗口 需要建立多个图形窗口,绘制并保持每一个窗口的

图形,可以使用 figure 命令。 每执行一次 figure 命令,就创建一个新的图形

窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、 xlabel、 title 等许多命令也只对活动窗口有效。

Page 32: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3232 - -汤银才 [email protected]

x=linspace(0,2*pi,60);

y=sin(x);

z=cos(x);

t=sin(x)./(cos(x)+eps);

ct=cos(x)./(sin(x)+eps);

H1=figure; %创建新窗口并返回句柄到变量 H1

plot(x,y); % 绘制图形并设置有关属性title('sin(x)');

axis ([0 2*pi -1 1]);

H2=figure; %创建第二个窗口并返回句柄到变量 H2

plot(x,z); % 绘制图形并设置有关属性title('cos(x)');

重新绘制上例 4 个图形,程序变动后如下:

Page 33: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3333 - -汤银才 [email protected]

axis ([0 2*pi -1 1]);H3=figure; 同上plot(x,t);title('tangent(x)');axis ([0 2*pi -40 40]);H4=figure; 同上plot(x,ct);title('cotangent(x)');axis ([0 2*pi -40 40]);

Page 34: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3434 - -汤银才 [email protected]

(三) hold 命令 若在已存在图形窗口中用 plot 命令继续添加新的图形

内容,可使用图形保持命令 hold 。发出命令 hold on后,再执行 plot 命令,在保持原有图形或曲线的基础上,添加新绘制的图形。

Page 35: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3535 - -汤银才 [email protected]

【例 3-7 】阅读如下程序:x=linspace(0,2*pi,60);

y=sin(x);

z=cos(x);

plot(x,y,'b'); 绘制正弦曲线hold on; 设置图形保持状态plot(x,z,'g'); %保持正弦曲线同时绘制余弦曲线axis ([0 2*pi -1 1]);

legend('cos','sin');

hold off 关闭图形保持

Page 36: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3636 - -汤银才 [email protected]

三、 函数 f(x) 曲线fplot 函数则可自适应地对函数进行采样,能更好地反应

函数的变化规律。 fplot 函数格式: fplot(fname , lims , tol)

其中 fname 为函数名,以字符串形式出现, lims 为变量取值范围, tol 为相对允许误差,其其系统默认值为2e-3 。

【例 3-8 】同时绘制正弦、余弦曲线 fplot(‘sin(x)’,[0 2*pi],’-+’) fplot(‘[sin(x),cos(x)]’,[0 2*pi],1e-3,’·’)

Page 37: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3737 - -汤银才 [email protected]

为绘制 f(x)=cos(tan(πx)) 曲线,可先建立函数文件fct.m ,其内容为:function y=fct(x)

y=cos(tan(pi*x));

用 fplot 函数调用 fct.m 函数,其命令为:fplot(‘fct’,[0 1],1e-4)

Page 38: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3838 - -汤银才 [email protected]

3.2 特殊坐标图形一、 对数坐标图形(一) loglog(x,y) 双对数坐标【例 3-9 】 绘制 y=|1000sin(4x)|+1 的双对数坐标图。程序为: x=[0:0.1:2*pi]; y=abs(1000*sin(4*x))+1; loglog(x,y); %双对数坐标绘图命令

Page 39: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 3939 - -汤银才 [email protected]

(二)单对数坐标以 X轴为对数重新绘制上述曲线,程序为:

x=[0:0.01:2*pi];

y=abs(1000*sin(4*x))+1;

semilogx(x,y); % 单对数 X轴绘图命令同样,可以以 Y轴为对数重新绘制上述曲线,程序为:

x=[0:0.01:2*pi];

y=abs(1000*sin(4*x))+1;

semilogy(x,y); % 单对数 Y轴绘图命令

Page 40: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4040 - -汤银才 [email protected]

二、 极坐标图 函数 polar(theta,rho) 用来绘制极坐标图, theta 为极

坐标角度, rho 为极坐标半径

【例 3-10 】 绘制 sin(2*θ)*cos(2*θ) 的极坐标图,程序为:theta=[0:0.01:2*pi];rho=sin(2*theta).*cos(2*theta);polar(theta,rho); % 绘制极坐标图命令title('polar plot');

Page 41: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4141 - -汤银才 [email protected]

3.3 其它图形函数

除 plot 等基本绘图命令外, Matlab 系统提供了许多其 它特殊绘图函数,这里举一些代表性例子,更详细的信息用户可随时查阅在线帮助,其对应的 M-file 文件存放在系统 \matlab\toolbox\matlab目录下。

Page 42: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4242 - -汤银才 [email protected]

一、阶梯图形 函数 stairs(x,y) 可以绘制阶梯图形,如下列程序段:

x=[-2.5:0.25:2.5];

y=exp(-x.*x);

stairs(x,y); % 绘制阶梯图形命令title('stairs plot');

Page 43: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4343 - -汤银才 [email protected]

二、条形图形 函数 bar(x,y) 可以绘制条形图形,如下列程序段将

绘制条形图形 x=[-2.5:0.25:2.5];

y=exp(-x.*x);

bar(x,y); % 绘制条形图命令

Page 44: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4444 - -汤银才 [email protected]

三、填充图形 fill(x,y,’c’) 函数用来绘制并填充二维多边图形, x 和 y

为二维多边形顶点坐标向量。字符 ’ c’ 规定填充颜色,其取值前已叙述。

下述程序段绘制一正方形并以黄色填充:

Page 45: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4545 - -汤银才 [email protected]

x=[0 1 1 0 0]; %正方形顶点坐标向量y=[0 0 1 1 0];

fill(x,y,'y');% 绘制并以黄色填充正方形图再如:x=[0:0.025:2*pi];

y=sin(3*x);

fill(x,y,[0.5 0.3 0.4]); 颜色向量Matlab 系统可用向量表示 颜色,通常称其为颜色向量。基本颜色向量用

[r g b] 表示,即 RGB颜色组合;以 RGB 为基本色,通过 r,g,b 在0~1 范围内的不同取值可以组合出各种颜色。

Page 46: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4646 - -汤银才 [email protected]

二维绘图函数小结plot 二维图形基本函数fplot f(x) 函数曲线绘制fill 填充二维多边图形polar 极坐标图bar 条形图loglog 双对数坐标图semilogx X 轴为对数的坐标图semilogy Y 轴为对数的坐标图stairs 阶梯形图axis 设置坐标轴clf 清除图形窗口内容close 关闭图形窗口

Page 47: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4747 - -汤银才 [email protected]

figure 创建图形窗口grid 放置坐标网格线gtext 用鼠标放置文本hold 保持当前图形窗口内容subplot 创建子图text 放置文本title 放置图形标题xlabel 放置 X 轴坐标标记ylabel 放置 Y 轴坐标标记

Page 48: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4848 - -汤银才 [email protected]

3.4 三维图形

一、 plot3 函数最基本的三维图形函数为 plot3 ,它是将二维函数 plot 的有关功能扩展到三维空间,用来绘制三维图形。函数格式: plot3(x1,y1,z1,c1,x2,y2,z2,c2,…) 其中 x1,y1,z1… 表示三维坐标向量, c1 , c2… 表示线形或颜色。函数功能:以向量 x , y , z 为坐标,绘制三维曲线。

Page 49: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 4949 - -汤银才 [email protected]

【例 3-11 】 绘制三维螺旋曲线,其程序为:t=0:pi/50:10*pi;

y1=sin(t);y2=cos(t);

plot3(y1,y2,t);

title('helix'),text(0,0,0,'origin');

xlabel('sin(t)');ylabel('cos(t)');zlabel('t');

grid;

Page 50: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5050 - -汤银才 [email protected]

二、 mesh 函数 mesh 函数用于绘制三维网格图。在不需要绘制特别精

细的三维曲面结构图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。

函数格式: mesh(x,y,z,c) 其中 x , y 控制 X 和 Y轴坐标,矩阵 z 是由 (x , y) 求得 Z轴坐标,(x,y,z)组成了三维空间的网格点; c 用于控制网格点颜色。

Page 51: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5151 - -汤银才 [email protected]

【例 3-12 】 下列程序绘制三维网格曲面图x=[0:0.15:2*pi];

y=[0:0.15:2*pi];

z=sin(y')*cos(x); % 矩阵相乘mesh(x,y,z);

Page 52: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5252 - -汤银才 [email protected]

三、 surf 函数surf 用于绘制三维曲面图,各线条之间的补面用颜色填充。 surf 函数和 mesh 函数的调用格式一致。

函数格式 : surf (x,y,z)其中 x , y 控制 X 和 Y轴坐标,矩阵 z 是由 x , y 求得的曲面上 Z轴坐标。

Page 53: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5353 - -汤银才 [email protected]

【例 3-13 】 下列程序绘制三维曲面图形x=[0:0.15:2*pi];y=[0:0.15:2*pi];z=sin(y')*cos(x); % 矩阵相乘surf(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-label');title('3-D surf');

Page 54: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5454 - -汤银才 [email protected]

四、视点 视点位置可由方位角和仰角表示。方位角又称旋转角

为视点位置在 XY平面上的投影与 X轴形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角为 XY平面的上仰或下俯角,正值表示视点在 XY平面上方,负值表示视点在 XY平面下方。从不同视点绘制三维图形的函数为 view 。

通过系统提供的多 峰函数 peaks 的绘制例子,可进一步说明视点对图形的影响,以及 view(az,el) 函数的使用。

函数格式 : view(az,el) 中的 az 为方位角, el 为仰角。

Page 55: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5555 - -汤银才 [email protected]

【例 3-14 】 不同视角图形p=peaks; % 系统提供的多 峰函数subplot(2,2,1);

mesh(peaks,p);

view(-37.5,30); %指定子图 1 的视点title('azimuth=-37.5,elevation=30')

subplot(2,2,2);

mesh(peaks,p);

view(-17,60); %指定子图 2 的视点title('azimuth=-17,elevation=60')

Page 56: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5656 - -汤银才 [email protected]

subplot(2,2,3);mesh(peaks,p);view(-90,0); %指定子图 3 的视点title('azimuth=-90,elevation=0')subplot(2,2,4);mesh(peaks,p);view(-7,-10);%指定子图 4 的视点title('azimuth=-7,elevation=-10')

Page 57: 统计计算-MATLAB介绍

华东师范大学

金融与统计学院

- - 5757 - -汤银才 [email protected]

五、等高线图等高线图可通过函数 contour3 绘制。

【例 3-13 】 多峰函数 peaks 的等高线图[x,y,z]=peaks(30);contour3(x,y,z,16);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('contour3 of peaks');