matlab图形绘制

上传人:第*** 文档编号:35002338 上传时间:2018-03-06 格式:DOC 页数:35 大小:2.01MB
返回 下载 相关 举报
matlab图形绘制_第1页
第1页 / 共35页
matlab图形绘制_第2页
第2页 / 共35页
matlab图形绘制_第3页
第3页 / 共35页
matlab图形绘制_第4页
第4页 / 共35页
matlab图形绘制_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《matlab图形绘制》由会员分享,可在线阅读,更多相关《matlab图形绘制(35页珍藏版)》请在金锄头文库上搜索。

1、1 MATLAB作为一个强大的绘图工具,有很强的绘图功能,不仅可以绘制普通函数的二维、 三维甚至思维图形,而且可以绘制专业图像,如直方图、饼图等。 一、MATLAB 二维绘图 MATLAB 提供了多个函数用于图形绘制,以矢量或矩阵作为输入参数,主要通过描点 法绘图。 1.1 用plot 函数绘图 plot 函数是 MATLAB 中最常用的绘图函数,可以用来绘制单条或多条曲线,是 MATLAB 绘图的基础。 1. 用 plot 绘制函数 y=sin(x)的图形,因为 MATLAB 是描点法的,因此要将变量离散化。 x=-pi:0.1:pi; y=sin(x); plot(x,y) 0 1 2 3

2、 4 5 6 7 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 正弦函数图形 2. 用plot绘制图形可以通过交换参数位置来交换坐标轴,如绘制 的图形, 3 2 2 x x y x=-3:0.1:1; y=x.2+2*x+3; subplot(121),plot(x,y) subplot(122),plot(y,x)2 -3 -2 -1 0 1 2 2.5 3 3.5 4 4.5 5 5.5 6 2 3 4 5 6 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 多项式函数在不同坐标系下的图形 3. 绘制多条曲线 x=linspace(0

3、,2*pi,100); plot(x,sin(x),x,cos(x) 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 plot同时绘制多条曲线 4改变颜色及图线形态 x=linspace(0,2*pi,100); plot(x,sin(x),cs,x,cos(x),g*)3 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 自定义颜色和线型的正余弦函数图形 5. 用axis(xmin,xmax,ymin,ymax)函数确定坐标轴的范围 x=linspace(

4、0,2*pi,100); plot(x,sin(x),cs,x,cos(x),g*) axis(0,6.3,-1.2,1.2) 0 1 2 3 4 5 6 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 用axis函数调整过的图形 前面主要讲的是两个函数均为向量的形式,下面介绍一下其他变量的输入形式。 6. plot(x,Y),x 为向量,Y为矩阵。如果x的元素个数与Y的列数相等,则采用矩阵Y 的列向数据;如果x的元素个数与Y的行数相等,则采用矩阵Y的行向数据;若Y是方阵, 则采用列向量数据。4 x=1:length(peaks); Y=peaks; pl

5、ot(x,Y ) 0 5 10 15 20 25 30 35 40 45 50 -8 -6 -4 -2 0 2 4 6 8 10 一个向量、一个矩阵作为plot函数的输入参数绘图 7. 输入参数为矩阵时,如plot(Y),如果Y有m行n列,则绘出n个图形。 X=peaks(100); plot(X) 0 10 20 30 40 50 60 70 80 90 100 -8 -6 -4 -2 0 2 4 6 8 10 输入参数为矩阵的plot绘图 如果输入参数两个都是矩阵,如 plot(X,Y),则绘制 X的列向量数据相对的Y的列向量的 数据的图形。 8. 当plot的输入参数为一个复矩阵时,则在

6、绘图时相当于使用real和imag函数将复 矩阵分离成实部和虚部两个矩阵。5 plot(eig(randn(50,50),g*,markersize,8) -8 -6 -4 -2 0 2 4 6 8 -8 -6 -4 -2 0 2 4 6 8 随机矩阵的特征值 1.2专业二维绘图函数 1. bar和barh函数用来绘制垂直和水平直方图。 clear all; bar (rand(1,10) 1 2 3 4 5 6 7 8 9 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Y是向量时的直方图 用来绘制mXn的矩阵的直方图。6 x=-2:0.1:2; Y=e

7、xp(-x.*x); bar(x,Y) -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 钟型图 2. 用area函数可以根据矢量或矩阵的各列生产一个区域图 X=magic(5); area(X) 1 1.5 2 2.5 3 3.5 4 4.5 5 0 10 20 30 40 50 60 70 矩阵的区域图 3. 已知资料的误差值,利用errorbar函数来表示 x=linspace(0,2*pi,30);7 y=sin(x); e=std(y)*ones(size(x) %标准差 er

8、rorbar(x,y,e) -1 0 1 2 3 4 5 6 7 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 误差的区域范围 4. 对于变化剧烈的函数,可用fplot来进行较精确的绘图,该函数对剧烈变化处进行 较密集的取样。 x=0.02:0.001:0.2; subplot(121),plot(x,sin(1./x) subplot(122),fplot(sin(1/x),0.02 0.2) 0 0.05 0.1 0.15 0.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0.05 0.1 0.15 0.2 -1 -0.8 -0.6

9、 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 用fplot精确绘图与plot绘图比较 5. 用polar函数产生极坐标图 theta=linspace(0,2*pi);8 r=cos(4*theta); polar(theta,r)0.20.40.60.81 30 210 60 240 90 270 120 300 150 330 180 0 极坐标图 6. 对于大量的资料,用hist函数来显示资料数据的分部情况 x=-3:0.1:3; y=randn(1000,1); hist(y,x) -4 -3 -2 -1 0 1 2 3 4 0 5 10 15 20 25 30 35

10、40 45 50 频数累计柱状图 7. rose和hist很接近,只不过rose是将资料大小视为角度,资料个数视为距离,并 用极坐标绘制表示。 x=randn(1000,1);9 rose(x)50100150 30 210 60 240 90 270 120 300 150 330 180 0 极坐标中的频数累计直方图 8. stairs函数可画出阶梯图 x=linspace(0,10,50); y=sin(x).*exp(-x/3); stairs(x,y) 0 1 2 3 4 5 6 7 8 9 10 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.

11、7 阶梯图 9. stem可产生针状图,常用来绘制数位信号 x=linspace(0,10,50); y=sin(x).*exp(-x/3); stem(x,y)10 0 1 2 3 4 5 6 7 8 9 10 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 针状图 10. fill函数将资料点视为多边形顶点,并将此多边形涂上颜色。 x=linspace(0,10,50); y=sin(x).*exp(-x/3); fill(x,y,b) 0 1 2 3 4 5 6 7 8 9 10 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4

12、0.5 0.6 0.7 填充图 11. feather将每一个资料点视为复数,并以箭头号画出 theta=linspace(0,2*pi,20); z=cos(theta)+i*sin(theta); feather(z)11 0 5 10 15 20 25 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 羽毛图 12. compas和feather很接近,只是每个箭头号的起点都在圆内 theta=linspace(0,2*pi,20); z=cos(theta)+i*sin(theta); compass(z)0.20.40.60.81 30 210 6

13、0 240 90 270 120 300 150 330 180 0 罗盘图 13. scatter(X,Y,S,C)在向量X、Y定义的位置绘制彩色的圆圈标志(X、Y必须大小相同), S定义了每个符号的大小,C定义了每个标记的颜色。 load seamount scatter(x,y,8,z)12 210.8 210.9 211 211.1 211.2 211.3 211.4 211.5 211.6 211.7 211.8 -48.45 -48.4 -48.35 -48.3 -48.25 -48.2 -48.15 -48.1 -48.05 -48 -47.95 离散点图 14. pie(X)使

14、用X里的数据绘制一张饼图,X里的每一个元素被表示为饼图的一张切片。 pie(X,explode)分离饼图中的某一切片。 x=4 3 7 2 1 6 5; explode=0 0 0 0 0 1 0; pie(x,explode) 14% 11% 25% 7% 4% 21% 18% 饼图 15. quiver用来绘制向量图 X,Y=meshgrid(-2:0.2:2);13 Z=X.*exp(-X.2-Y.2); DX,DY=gradient(Z,2,2); quiver(X,Y,DX,DY) -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2.5 -2 -1.5 -1

15、-0.5 0 0.5 1 1.5 2 2.5 函数梯度图 16. 凸壳图常用命令K=conhull(x,y) xx=-1:0.04:1; yy=abs(sqrt(xx); x,y=pol2cart(xx,yy); k=convhull(x,y); plot(x(k),y(k),r-,x,y,g*) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 114 凸壳图 二、MATLAB其他基本函数与基本图形处理 2.1 其他基本函数 1. loglog、semilog和semilogy 三个函数的用法同plo

16、t,只是Y轴的刻度有所不同。 x=logspace(-1,1); loglog(x,exp(x),o); grid on 10 -1 10 0 10 1 10 0 10 1 10 2 10 3 10 4 10 5 双对数刻度曲线 x=logspace(-1,0); y=exp(x); subplot(121),semilogx(x,y,b*); subplot(122),semilogy(x,y,g+)15 10 -1 10 0 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 0 0.5 1 10 0.1 10 0.2 10 0.3 10 0.4 半对数刻度曲线图 2. plotyy可以产生两个y轴,在同一个图中绘制两组不同的数据,或指定一种数据的 两种不同显示形式。 t=0:pi/20:6; y=exp(sin(t); plotyy(t,y,t,y,plot,stem) 0 1 2 3 4 5 6 0 0.5 1 1.5 2 2.5 3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号