当前位置:文档之家› MATLAB(第三讲)

MATLAB(第三讲)

思考: 如何绘制球面 x2 + y2 + z2 = 16?
surf 作图举例
>> >> >> >> [X,Y]=meshgrid(-8:0.5:8); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; surf(X,Y,Z)
mesh 与 surf 的比 较
sphere (球面)作图
在曲线旁边标出各曲线的函数;给出图像的标题,x轴与y轴的 坐标说明。
空间三维曲线
三维曲线 : plot3
设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t), 则其图形可由下面的命令绘出:
plot3(x,y,z,’s’)
例:三维螺旋线 t=[0:0.1:10*pi]; x=2*t; y=sin(t); z=cos(t); plot3(x,y,z); t=[0:0.1:10*pi]; x=t.*sin(t); y=t.*cos(t); z=t; plot3(x,y,z,’r*-.’);
Matlab 图形绘制功能
二维图形
同时绘制多个函数图像

plot(x1,y1,s1,x2,y2,s2, ... ,xn,yn,sn) 等价于: hold on plot(x1,y1,s1) plot(x2,y2,s2) ... plot(xn,yn,sn) 属性选项 可以省略
对数坐标图形
Matlab 的特点与功能
Matlab 是一个交互式软件系统
输入一条命令,立即就可以得出该命令的结果
Matlab 具有很强的数值计算功能
Matlab 以矩阵作为数据操作的基本单位,但无需预先指定 矩阵维数(动态定维)
按照 IEEE 的数值计算标准进行计算 提供十分丰富的数值计算函数,方便计算,提高效率 Matlab 命令与数学中的符号、公式非常接近,可读性强, 容易掌握
plot3的用法与 plot 类似
Matlab 空间曲线绘图举例 例:三维 x=t, y=sin(t), z=cos(t), 0 < t < 20 螺线
先画点,后连线
1) 给出空间离散点的坐标 (x,y,z) 2) 将这些点按顺序连接即可
空间曲线作图举例
>> >> >> >> t=[0:0.5:20]; x=t; y=sin(t); z=cos(t);
坐标控制
axis函数的调用格式为:
axis([xmin xmax ymin ymax( zmin zmax)])
axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(缺省为矩形)。 axis auto:使用缺省设置(默认)。 axis off:取消坐标轴。 axis on:显示坐标轴
图形的属性

划分绘图区域 subplot(m,n,p) 将一个绘图窗口分割成 m*n 个子区域,并 按行 从左至 右 依次编号 。p 表示第 p 个绘图子区域。
例:>> x=-pi:pi/10: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));
如果没有给出 n 的值, 则系统默认为 n=20
meshz 调用方式与 mesh 相同,在 mesh 基础上屏蔽边界面
空间曲面作图举例
例:“墨西哥帽子”
由函数 z sin( r ) / r, 其中 r x 2 y 2 确定的曲面
( –a < x < a, -a < y <a )
a=8 时的曲 空间曲面作图举例
[X,Y]=meshgrid([8:0.5:8]); x=[-8:0.5:8]; x=[-8:0.1:8]; y=[-8:0.5:8]; y=[-8:0.1:8]; [X,Y]=meshgrid(x,y); Z=x‘*sin(y); mesh(x,y,Z); r=sqrt(X.^2+Y.^2)+e [X,Y]=meshgrid(x,y); ps; r=sqrt(X.^2+Y.^2)... +eps; Z=sin(r)./r; Z=sin(r)./r; 1) x 与 y 可以取不同的步长 mesh(X,Y,Z) mesh(X,Y,Z)
二维统计分析图

饼图
pie(y) 向量y的每一个元素占一个扇形, 矩阵y的每一个元素占一个扇形,按列方向排列
例:
y=[30 48 36 20 12]; pie(y); x=magic(3),pie(x) xx=[0.02 0.036 .45 .09] pie(xx)
二维统计分析图

离散数据图
stem(y) 或 stem(x,y,’fill’,’ห้องสมุดไป่ตู้string’) fill 填充数据点处的小圆点
空间曲面
空间曲面其它作图函数
surf(X,Y,Z) 绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh mesh 绘制网格图,surf 绘制着色的三维表面图 sphere(n) 专用于绘制单位球面
[X,Y,Z]=sphere(n) X,Y,Z是返回的(n+1)×(n+1)单位矩阵点列
MATLAB
Matlab 简介
Matlab是一种广泛应用于工程计算及 数值分析领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展 与竞争,现已成为国际公认的最优秀的 工程应用开发环境。 在欧美各高等院校,Matlab 已经成为线性代数、数值分 析、数理统计、自动控制理论、数字信号处理、时间序列分 析、动态系统仿真、图像处理等课程的基本教学工具,已成 为大学生必须掌握的基本技能之一。Matlab 功能强大、简 单易学、编程效率高,深受广大科技工作者的欢迎。
2) 注意这里采用的数组运算 最后一个命令能否改为 mesh(Z)?
面图形
空间曲面作图举例
例:绘制等高线 meshc [X,Y]=meshgrid(-8:0.5:8); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; meshc(X,Y,Z)
空间曲面作图举例
例:绘制边界面屏蔽 meshz [X,Y]=meshgrid(-8:0.5:8); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; meshz(X,Y,Z)
空间三维曲面
空间曲面 : peaks(n)
空间三维作图
绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一个网格 矩阵,然后计算函数在各网格点上的值。 网格生成函数:meshgrid [X,Y]= meshgrid(x,y) x, y 为给定的向量,X, Y 是网格划分后得到的网格矩阵 若 x = y, 则可简写为 [X,Y]= meshgrid(x)
x1 n x2 n xmn
z11 z 21 Z zm 1
z12 z22 zm 2
z1n z2 n zmn
线: 分别沿 x 方向和 y 方向
连接这些点即可得到
空间曲面作图举例
例:画出下列函数的图像
空间曲面作图
先画点 (x,y,z),后连线,构成曲面网格图
点: ( xij , yij , zij )
x11 x X 21 xm 1 x12 x22 xm 2
i 1,, m, j 1,, n
y11 y Y 21 ym1 y12 y22 ym 2 y1n y2 n ymn
对函数自适应采样的绘 图函数
fplot函数的调用格式为:
fplot(fname,lims,tol,选项)
例:
其中fname为函数名,以字符串形式出现, lims为x,y的坐标轴取值范围,tol为相 对允许误差,其系统默认值为2e-3。
x=-1:0.1:1 y=cos(1./x);plot(x,y);figure fplot(‘cos(1./x)’,[-1,1])
二维统计分析图

条形图 bar(x,y) 或 bar(x,y,’style’) style的可选项有二:group 和 stack
例:
y=rand(6,4)*8; subplot(2,2,1);bar(y) subplot(2,2,2);bar(y,‘stack’) subplot(2,2,3);barh(y,‘stack’)
例: x=[-8:0.5:8], y=[-8:0.5:8] plot(x,y,'d') figure [X,Y]=meshgrid(x,y) plot(X,Y,'*')
空间三维曲面
空间曲面 mesh, meshc, meshz
mesh(X,Y,Z,C) 绘制由矩阵 X,Y,Z 所确定的曲面网格图, 矩阵 C 用于确定网格颜色,省略时 C=Z。 mesh(Z) 以Z的元素为Z坐标,行列下标分别为X,Y坐标。 mesh(x,y,Z) x, y 是向量时,length(x)=n,length(y)=m,[m,n]=size(Z) meshc 调用方式与 mesh 相同,在 mesh 基础上增加等高线
MATLAB提供了绘制对数和半对数坐标 曲线的函数,调用格式为:
semilogx (x1,y1,选项1,x2,y2,选项2,…) semilogy (x1,y1,选项1,x2,y2,选项2,…) loglog (x1,y1,选项1,x2,y2,选项2,…)
相关主题