MATLAB绘图简介以及举例应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生: 指导老师: 2010-11-4
目录梗概
MATLAB数值计算功能
MATLAB绘图基础及例题解析 简单应用 总结
数值计算--数据滤波
• Y=FILTER(B,A,X)
• 该滤波器的数学模型为 a(1)*y(n)=b(1)*x(n)+b(2)* x(n-1)+…+b(nb+1) *x(n-nb)-a(2)*y(n-1)-…-a(na+1)*y(n-na) 程序为: • y=zeros(size(x)); • >> A=[1 -0.9]; • >> B=[0.05 0.06]; • >> y=filter(B,A,x); • >> plot(t,x,'b',t,y,'r')
• 和其他程序语言一样,MATLAB程序也可以用一 般的文字编程器来编写,但必须要将编写的程序 保存为文本文件。 • M文件有两个形式:
命令文件(script file)
函数文件(function file) • 命令文件:这类程序包含了一连串的MATLAB命 令,执行时依序执行。 • 函数文件:它的第一句可执行语句是以function 引导的定义语句,在函数文件中的变量都是局部 变量。
瀑布图举例
• Waterfall函数绘一网格,与meshz函数效果类似, 但它不生成源于矩阵列的直线,而是具有瀑布效 果。 • [X,Y,Z]=peaks(30); • waterfall(X,Y,Z)
10 5 0 -5 -10 4 2 0 -2 -4 -4 -2 2 0 4
图9 瀑布图
MATLAB绘图应用
• load clown
20 40 60 80 100 120
• clims=[10 60]
• imagesc(X,clims)
140 160 180 200
• colormap(winter)
50
100
150
200
250
300
图11 用淡绿色与指定强度显示的图像
总结
• MATLAB的绘图十分方便,它有一系列绘图函数
• 绘图时可设定颜色、光线来源,在三维图上加标 志,进行透视、调整视角等设置 。
绘图举例
• • • • • • • • • • • • • • • • • • • •
方 位 角 =-37.5, 俯 仰 角 =30 方 位 角 =-7, 俯 仰 角 =80 z=peaks(x,y); 10 mesh(z); 0 10 -10 hidden off 40 0 z=peaks(40); subplot(2,2,1); 20 -10 40 mesh(z); 40 20 20 view(-37.5,30); 30 0 0 0 20 10 0 >> title('方位角=-37.5,俯仰角=30'); 方 位 角 =-90, 俯 仰 角 =0 方 位 角 =-7, 俯 仰 角 =10 10 >> subplot(2,2,2); 10 5 mesh(z); 5 view(-7,80); 0 0 title('方位角=-7,俯仰角=80'); -5 -5 >> subplot(2,2,3); -10 40 mesh(z); 20 -10 0 0 40 30 20 10 0 30 20 10 view(-90,0); title('方位角=-90,俯仰角=0'); 图6 多视角绘图 >> subplot(2,2,4); mesh(z); view(-7,10); title('方位角=-7,俯仰角=10');
• 1.使用默认的灰色显示小丑肖像
• 程序如下:
20 40
• load clown
• imagesc(X)
60 80 100 120 140 160 180 200
• colormap(gray)
50
100
150
200
250
300
图10 灰色小丑图像
• 2.使用淡绿色和指定强度显示小丑肖像
• 程序如下:
命令文件举例
• 命令文件包括注解和指令; • 注解部分开头必须用%注明; • 命令文件中的语句可访问MATLAB 工作间中的所有数据; • 程序如下: • %命令文件程序,画出花瓣 • >> angle=-pi:0.01:pi; • >> dp(1,:)=3+sin(10*angle).^2; • >> polar(angle,dp(1,:));
(命令),例如线性坐标、对数坐标、半对数坐 标及极坐标,均只需调用不同的绘图函数(命
令)。另外,在调用绘图函数时调整自变量可绘
制出不变颜色的点、线、复线或多重线。 • 总之,MATLB语言的设计思想可以说代表了当前 计算机高级语言的方向。
参考文献
♪ [1] 闻新、周露、张鸿著,科学出版社,MATLAB
15
10
5
0
-5
-10
1
1.2
1.4
1.6
1.8
2
2.2
2百度文库4
2.6
2.8
3
图7 区域图
离散叠加图形举例
• • • • • • • • • • • • • stem3:沿xy轴等间距地排列z轴坐标的离散点数据 程序为: t=0:.1:10; s=0.1+i; y=exp(-s*t); stem3(real(y),imag(y),t) hold on plot3(real(y),imag(y),t,'r') hold off view(-39.5,62) 图8 叠加图形 xlabel('Real') ylabel('Imaginary') zlabel('Magnitude')
科学图形构建基础与应用(6.x),2006年6月 ♪ [2] 苏金明、王永利著,电子工业出版社, MATLAB图形,2005年11月 ♪ [3] 张德丰等著,机械工业出版社,MATLAB数值 计算方法,2010年1月
40
40
特殊图形的绘制
• MATLAB支持各种类型的图形绘制,使用户能够将 数据信息进行有效的表达。
• 特殊的图形包括条形图、面积图、阶梯图和等值图 等。 • bar函数绘制条形图,area函数绘制区域图; • pie函数绘制饼图; • hist、rose绘制柱状图; • stem、stairs函数绘制离散数据的图形; • compass、feather、quiver函数绘制矢量图; • clable、contour等函数绘制轮廓图; • ginput函数绘制交互式图形。
符号函数绘图—举例
图2 ezplot(‘cos(x)’,[0,pi])
cos(x) 1
图3 ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',[0,pi]) x = sin(3 t) cos(t), y = sin(3 t) sin(t)
0.4
0.5
0.2
0
0 -0.2 -0.4
10
Magnitude
5
0 1
0.5
1 0.5
0
0
-0.5
-0.5
Imaginary
-1
-1
Real
动画的绘制
• 动画的创建有两种方法:
1)电影动画:首先保存一系列的图形,然后
按照一定的顺序像电影一样的播放;
2)程序动画:在图形窗口中按照一定的算法 连续擦除和重绘图形对象。
MATLAB高级绘图
• • • • • • • • • 柱形图 cylinder函数 彗星图 comet、comet3函数 带状图 ribbon函数 散点图 scatter函数 切片图 slice函数 瀑布图 waterfall函数 三角形网格图 trimesh函数 三角形表面图 trisurf函数 流图 stream系列函数
150 180 120 3 2 1 30 90 4 60
0
• 运行过程中所有变量均是全局变量。
210 240 270 300
330
图5 花瓣图
MATLAB图形绘制基础
• 能够给数据以二维、三维乃至四维的图形表现;
• 绘图功能是建立在一组“图形对象”基础之上的, 核心是“图形句柄”操作; • 有两层绘图指令: 直接对句柄进行操作的底层绘图指令; 在底层指令基础上建立起来的高层绘图指令。 • Plot是最基本的二维绘图命令,mesh是最基本的 三维绘图命令。
1.5 1 0.5 0 -0.5 -1 0 1 2 3 4 5 6 7 8 9 10
图1 数据滤波前后的图形
符号函数绘图

1) 2) 3)
符号函数绘图可以通过函数’ezplot’或’fplot’ 来实现:
ezplot(f,[a,b]):表示在区间a<x<b和a<y<b绘制f(a,b)=0 的函数图,当区间缺省时,表示在默认区间2*pi<a<2*pi和-2*pi<b<2*pi绘制f(a,b)=0的函数图; ezplot(x,y,[tmin,tmax]):表示在区间tmin<t<tmax绘制 x(t)=0,y(t)=0的函数图;当区间缺省时,表示在默认区 间-2*pi<t<2*pi绘制x(t)=0,y(t)=0的函数图; fplot(fun,lims, ,[tmin,tmax]):表示绘制的字符串fun指 定的函数在区间lims=[xmin,xmax]的图形。
区域图举例[3]
• area函数以堆叠的区域图形 显示矢量数据 • 程序为: • y=[3 2 -2 2 1;-1 3 3 7 2;7 5 5 9 3]; • area(y) • 注意:area(y)将向量或矩 阵y中的元素显示为一条或 多条曲线,并填充每条曲 线以下的面积。当y为矩阵 时,曲线堆栈,显示每个x 区间内每行元素对曲线总 高度的贡献。
0 0.5 1 1.5 x 2 2.5 3
-1
y
10 9 8 7 6 5 4 3 2 1 0
-0.5
-0.6 -0.8
-0.8
-0.6
-0.4
-0.2
0 x
0.2
0.4
0.6
0.8
0
1
2
3
4
5
6
图4 fplot('abs(exp(j*x*(0:9))*ones(10,1))',[0 2*pi])
MATLAB的程序设计
相关文档
最新文档