matlab 三维图形绘制实例

matlab  三维图形绘制实例
matlab  三维图形绘制实例

三维图形

一. 三维曲线

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)

其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y ,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y ,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf,

t=0:pi/100:20*pi; x=sin(t); y=cos(t);

z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z);

title('Line in 3-D Space');

xlabel('X');ylabel('Y');zlabel('Z'); grid on;

所的图形如下:

-1

1

X

Line in 3-D Space

Y

Z

二. 三维曲面

1. 产生三维数据

在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。

语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数

surf 函数和mesh 函数

example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下:

clf,

[x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z);

axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure;

mesh(x,y ,z);

axis([0 4*pi 0 4*pi -2.5 1]);

title('mesh 函数所产生的曲面');

-2.5

-2-1.5-1-0.500.51surf 函数所产生的曲面

-2.5

-2-1.5-1-0.500.51mesh 函数所产生的曲面

Example3.绘制4种三维曲面图。 clf,

[x,y]=meshgrid(-10:0.8:10);

z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); subplot(2,2,1); mesh(x,y,z);

title('mesh(x,y,z)') subplot(2,2,2); meshc(x,y ,z);

title('meshc(x,y,z)') subplot(2,2,3); meshz(x,y ,z) title('meshz(x,y,z)') subplot(2,2,4); surf(x,y,z);

title('surf(x,y,z)')

图像如下:

10

mesh(x,y,z)

10

10

-101meshc(x,y,z)

10

meshz(x,y,z)

10

10

-101surf(x,y,z)

3. 标准三维曲面 sphere 函数的调用格式为: [x,y,z]=sphere(n)

cylinder 函数的调用格式为:

[x,y,z]= cylinder(R,n)

MATLAB 还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。 Example4 绘制标准三维曲面图形。 clear all ;

t=0:pi/20:2*pi;

[x,y,z]= cylinder(2+sin(t),30); subplot(2,2,1); surf(x,y,z);

title('[x,y,z]= cylinder(2+sin(t),30)') subplot(2,2,2); [x,y,z]=sphere;%20X20 surf(x,y,z); title('[x,y,z]=sphere') subplot(2,1,2);

[x,y,z]=peaks(30); %30X30 surf(x,y,z);

title('[x,y,z]=peaks(30)') 图像如下:

5

[x,y,z]= cylinder(2+sin(t),30)1

1

-10

1[x,y,z]=sphere

[x,y,z]=peaks(30)

Matlab 特殊图形和高维可视化

Matlab 特殊图形和高维可视化 2009-10-20 01:06 7.4 特殊图形和高维可视化 7.4.1 特殊图形指令例示 7.4.1.1 面域图area 【* 例7.4.1 .1-1 】面域图指令area 。该指令的特点是:在图上绘制多条曲线时,每条曲线(除第一条外)都是把“前”条曲线作基线,再取值绘制而成。因此,该指令所画的图形,能醒目地反映各因素对最终结果的贡献份额。注意:( 1 )area 的第一输入宗量是单调变化的自变量。第二输入宗量是“各因素”的函数值矩阵,且每个“因素”的数据取列向量形式排放。第三输入宗量是绘图的基准线值,只能取标量。当基准值为0 (即以x 轴为基准线)时,第三输入宗量可以缺省。(2 )本例第<4> 条指令书写格式x' , Y' ,强调沿列方向画各条曲线的事实。 clf;x=-2:2 % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5] % 各因素的相对贡献份额 Cum_Sum=cumsum(Y) % 各曲线在图上的绝对坐标 area(x',Y',0) %<4> legend(' 因素A',' 因素B',' 因素C'),grid on,colormap(spring) x = -2 -1 0 1 2 Y = 3 5 2 4 1 3 4 5 2 1 5 4 3 2 5 Cum_Sum = 3 5 2 4 1 6 9 7 6 2 11 13 10 8 7

图 7.4.1 .1-1 面域图表现各分量的贡献 7.4.1.2 各种直方图bar, barh, bar3, bar3h 【 * 例 7.4.1 .2-1 】二维直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。本例选其两种加以表现。 x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar(x',Y','stacked') % “累计式”直方图 xlabel('x'),ylabel('\Sigma y'),colormap(cool)% 控制直方图的用色legend(' 因素 A',' 因素 B',' 因素 C') subplot(1,2,2),barh(x',Y','grouped') % “分组式”水平直方图 xlabel('y'),ylabel('x') 图 7.4.1 .2-1 二维直方图 clf;x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar3(x',Y',1) % “队列式”直方图 xlabel(' 因素 ABC'),ylabel('x'),zlabel('y') colormap(summer) % 控制直方图的用色 subplot(1,2,2),bar3h(x',Y','grouped') % “分组式”水平直方图 ylabel('y'),zlabel('x')

matlab 三维图形绘制实例

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y ,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y ,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: -1 1 X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。

语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y ,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

利用MATLAB绘制二维函数图形

《MATLAB语言》课程论文 利用MATLAB绘制二维函数图形 姓名:海燕 学号:12010245375 专业:通信工程 班级:通信一班 指导老师:汤全武 学院:物理电气信息学院 成日期:2011年12月5 利用MATLAB绘制二维函数图形 (海燕 12010245375 2010级通信1班) [摘要]大学高等数学中涉及许多复杂的函数求导绘图极值及其应用的问题,例如二维绘图,对其手工

绘图因为根据函数的表达式的难易程度而不易绘制,而MATLAB语言正是处理这类的很好工具,既能简易的写出表达式,又能绘制有关曲线,非常方便实用。另外,利用其可减少工作量,节约时间,加深理解,同样可以培养应用能力。本文将探讨利用matlab来解决高等数学中的二维图形问题,并对其中的初等函数、极坐标、进行实例分析,对于这些很难用手工绘制的图形,利用matlab则很轻易地解决。[关键词]高等数学一元函数二元函数 MATLAB语言图形绘制 一、问题的提出 MATLAB 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。中学数学中常见到的是二维平面图形,由于概念抽象,学生不好理解,致使学生对学习失去信心,导致学习兴趣转移。在传统的教学中,教师在黑板上应用教具做图,不能保证所做图形的准确性,曲线的光滑度不理想,教学过程显得枯燥无味,教学质量难以保证。Matlab是集数值计算、符号计算和图形可视化三大基本功能于一体的大型软件,广泛应用于科学研究、工程计算、动态仿真等领域。Matlab是一种集成了计算功能、符号运算、数据可视化等强大功能的数学工具软件。其代码的编写过程与数学推导过程的格式很接近,所以使编程更为直观和方便,应用于教学就更加容实现Matlab软件尤 其在简单的绘图中有较强的编辑图形界面功能,在中学的数学教学中的抽象函数变得直观 形象、容易实现,同时也激发学生的学习兴趣,学生通过数形结合,更好地理解题意高等数学是一门十分抽象的学科,对于一些抽象的函数,我们可以借助于几何图形来理解,但这类图形的绘制往往很复杂,仅凭手工绘制也难以达到精确的效果,这时如果使用Matlab来解决所遇到的图形问题,则能达到事半功倍的效果。在高等数学领域中有关图形方面的应用,无论是初等函数图形、还是极坐标图形、统计图,对于Matlab而言都是完全可以胜任的。 下面结合实例从几个方面来阐述matlab在高等数学二维图形中的应用。 二、用matlab绘制一元函数图像 1.平面曲线的表示形式 对于平面曲线,常见的有三种表示形式,即以直角坐标方程 ] , [ ), (b a x x f y∈ =,以参数方程 ] , [ ), ( ), (b a t t y y t x x∈ = =,和以极坐标] , [ ), (b a r r∈ =? ?表示等三种形式。 2.曲线绘图的MATLAB命令 MATLAB中主要用plot,fplot二种命令绘制不同的曲线。 可以用help plot, help fplot查阅有关这些命令的详细信息 问题1 作出函数 x y x y cos , sin= =的图形,并观测它们的周期性。先作函数x y sin =在

Matlab图形绘制经典案例

Matlab图形绘制经典案例 1、 三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on

2、一窗口多图形>> t=-2*pi:0.01:2*pi; >> subplot(3,2,1)

>> plot(t,sin(t)) >> subplot(3,2,2) >> plot(t,cos(t)) >> subplot(3,2,3) >> plot(t,tan(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,4) >> plot(t,cot(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,5) >> plot(t,atan(t)) >> subplot(3,2,6) >> plot(t,acot(t))

3、图形样式、标注、题字(也可以利用菜单直接Insert) >> x=0:pi/20:2*pi;

>> plot(x,sin(x),'b-.') >> hold on >> plot(x,cos(x),'r--') >> hold on >> plot(x,sin(x)-1,'g:') >> hold on >> plot(x,cos(x)-1) >> xlabel('x'); >> xlabel('x轴'); >> ylabel('y轴'); >> title('图形样式、标注等'); >> text(pi,sin(pi),'x=\pi'); >> legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1'); >> [x1,y1]=ginput(1) %利用鼠标定位查找线上某点的值x1 = 2.0893 y1 = -0.5000 >> gtext('x=2.5') %鼠标定位放置所需的值在线上

matlab作图

MATLAB受到了广大理工科学生和学者青睐,除了Matlab强大的矩阵计算功能和功能齐全的toolbox以外,一个重要原因是因为它提供了方便的绘图功能。下面我们将详细介绍2维图形对象的生成函数及图形控制函数的使用方法以及一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 一、图形窗口与坐标系; A.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2.在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句 柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的File菜单中的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属性. B.坐标系; 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.

实验二 matlab图形绘制

实验二matlab图形绘制 一、实验目的 1、学习MATLAB图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 二、实验原理 1.二维数据曲线图 (1)绘制单根二维曲线plot(x,y); (2)绘制多根二维曲线plot(x,y) 当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列 元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。 (3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn) (4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2) 2.图形标注与坐标控制 1)title (图形名称) 2)xlabel(x轴说明) 3)ylabel(y轴说明) 4)text(x,y图形说明) 5)legend(图例1,图例2,…) 6)axis ([xmin xmax ymin ymax zmin zmax]) 3.图形窗口的分割 subplot(m,n,p) 4.三维曲线 plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)

5.三维曲面 mesh(x,y,z,c) 与surf(x,y,z,c)。一般情况下,x ,y ,z 是维数相同的矩阵。X ,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 三、实验内容及步骤 1.绘制下列曲线: (1) 2 1100 x y += x=0:0.02:10; y=100./(1+x.^2); plot(x,y) title('my first plot'); xlabel('x'); ylabel('y'); grid on 截图:

MATLAB中bode图绘制技巧(精)

Matlab中Bode图的绘制技巧学术收藏2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。我们可以用下面的语句:num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den; bode(H 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions 我们可以看到以下

内容:ans = Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct]TickLabel: [1x1 struct]Grid: 'off' XLim: {[1 10]}XLimMode: {'auto'}YLim: {[1 10]} YLimMode: {'auto'}IOGrouping: 'none'InputLabels: [1x1 struct]OutputLabels: [1x1 struct]InputVisible: {'on'} OutputVisible: {'on'}FreqUnits: 'rad/sec'FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear'MagVisible: 'on' MagLowerLimMode: 'auto'MagLowerLim: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off' PhaseMatching: 'off'PhaseMatchingFreq: 0 PhaseMatchingValue: 0我们可以通过修改上面的每一 项修改伯德图的风格,比如我们使用下面的语句画我 们的伯德图:P=bodeoptions;P.Grid='on'; P.XLim={[10 40000]};P.XLimMode={'manual'};P.FreqUnits='HZ'; num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den; bode(H,P 这时,我们将会看到以下的伯德图: 上面这张图相对就比较好了,它的横坐标单位 是HZ,范围是[10 40K]HZ,而且打开了网格,便于我 们观察-3DB处的频率值。当然,你也可以改变bodeoptions中的其它参数,做出符合你的风格的伯

MATLAB二维绘图(直角坐标)

007. 二维绘图(直角坐标) 前言: Matlab 具有强大的绘图功能,提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形。 此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字说明等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 —————————————————————— 二维绘图可以采用不同的坐标系,如直角坐标、极坐标、对数坐标等。 一.绘制二维曲线的基本函数 1. 基本绘图函数——plot() 用于绘制二维平面上的直角坐标图,要提供一组x 坐标和对应的y 坐标,可以绘制分别以x 和y 为横、纵坐标的二维曲线。 plot(x,y)——x,y 为长度相同的向量,存储x 坐标和y 坐标 例1 在[0,2]π区间,绘制一般曲线/22sin2x y e x π-=

x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y) 运行结果: 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例2 绘制参数方程曲线——星形线: x = 2 cos3 t ; y = 2 sin3 t t = 0:0.01:2*pi; x = 2.*(cos(t)).^3; y = 2.*(sin(t)).^3; plot(x,y);

运行结果: 例3 绘制参数方程曲线——摆线: x = a(t – sin t) ; y = a(1 – cos t) t = 0:0.01:2*pi; x = a.*(t - sin(t)); y = a.*(1 - cos(t)); plot(x,y); 运行结果:

MATLAB画图入门篇--各种基本图形绘制的函数与实例

MATLAB画图入门篇--各种基本图形绘制的函数与实例【来自网络】 一.二维图形(Two dimensional plotting) 1.基本绘图函数(Basic plotting function):Plot,semilogx,semilogy,loglog,polar,plotyy (1).单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[00.62.358.311.71517.719.420];plot(y) 可以在图形中加标注和网格, 例2:给例1的图形加网格和标注。 y=[00.62.358.311.71517.719.420];plot(y) title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid (2).双矢量绘图(Double vector plotting):如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y) (3).对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx,y轴对数semilogy,双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[00.62.358.311.71517.719.420]; subplot(2,2,1);plot(y);subplot(2,2,2);semilogx(y) subplot(2,2,3);semilogy(y);subplot(2,2,4);loglog(y) (4)极坐标绘图(Plotting in polar coordinate): polar(theta,rho)theta—角度,rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)) 2.多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a)x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y) (b)x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2; y=sin(x(1,:));plot(x,y) (c)x和y是同样大小的矩阵时,plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3: x(:,1)=[0:pi/50:2*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,3)=[pi/2:pi/50:2*pi+pi/2]'; y(:,1)=sin(x(:,1));y(:,2)=0.6*sin(x(:,1));y(:,3)=0.3*sin(x(:,1)); plot(x,y) 这里x和y的尺寸都是101×3,所以画出每条都是101点组成的三条曲线。如行列转置后就会画出101条曲线,每条线

MATLAB绘图功能大全

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一、二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 (一)绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线: >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

matlab中绘制多个图形

绘图功能是Matlab的一个强大的功能。 subplot是MATLAB中常用的的函数。在绘图过程中经常要在一个页面中绘制几张图 它的使用格式:subplot(m,n,p)或者subplot(m n p)。 函数subplot是将多个图画到一个平面上的工具。括号中的m表示是图排成m行,n 表示图排成n列,也就是整个figure中有n个图是排成一列的,一共m行,如果m=3就是表示3行图。p表示图所在的位置,p=3表示从左到右从上到下的第3个位置。 以下是对它的一些应用,还用到了其它的一些函数 程序的代码如下 x=0:0.01:10; y1=sin(x); subplot(3,3,1); plot(x,y1); xlabel('x'); ylabel('y1'); title('y1=sin(x)');axis([0 pi*2 -1 1]); y2=cos(x+2); subplot(3,3,2); plot(x,y2); xlabel('x'); ylabel('y2');title('y2=cos(x+2)');axis([0 pi*2 -1 1]); y3=sin(x)+y2;subplot(3,3,3); plot(x,y3); xlabel('x'); ylabel('y3');title('y3=sin(x)+y2'); y4=sin(x).^3+cos(x);subplot(3,3,4);axis([0 pi*2 -1 2]); plot(x,y4); xlabel('x'); ylabel('y4');title('y4=sin(x).^3+cos(x)');axis([0 pi*2 -1 2]); y5=9*x.^5+3*x.^4+x.^3+2*x.^2;

matlab二维平面图形的绘制

1、基本图形函数 函数polt是针对向量或矩阵的列来绘制曲线的,其命令格式:(1)plot(x)当x是一向量时,以其元素为纵坐标,其序号为横坐标。 (2)plot(x,y) (3)plot(x,y1,x,y2,...)绘制多条曲线 例 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)

参数选项 y黄 m紫 c青 r红 g绿 b蓝 w白 k黑-实线 :点线 -.点划线 --虚线 .点 o圆 x叉号 +加号 *星号 v下三角 ^上三角 >大于号 <小于号 s正方形 d菱形 h六角形 p五角星 例 >> plot(x,y1,'r+-',x,y2,'k*:')

2、图形修饰 图形修饰函数: grid on(/off) 添加或取消网格 xlabel('string')标记横坐标 ylabel('string')标记横坐标 title('string')添加标题 text(x,y,'string')在图形的任意位置增加文本信息gtext('string')利用鼠标添加文本信息 axis([xmin xmax ymin ymax])设置坐标轴的最小最大值例

>> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) >> grid on >> xlabel('Independent Variable X') >> ylabel('Dedependent Variable Y1&Y2') >> title('sine and cosine curve') >> text(1.5,0.3,'cos(x)') >> gtext('sin(x)')

matlab上机习题5matlab7.0二维绘图

实验五二维绘图 实验目的: ①掌握绘制数据曲线图的方法; ②掌握绘制其他坐标系下的数据曲线图和统计分析图的方法; ③掌握绘制隐函数图形的方法。 ④掌握图形修饰处理方法; 实验要求:给出程序和实验结果。 实验内容: 8. 编制程序,该程序绘制两条曲线,x的取值在[0,2pi],易pi/10为步长,一条是正弦曲线,一条是余弦曲线,线宽为6个象素,正弦曲线为绿色,余弦曲线为红色,线型分别为实线和虚线。给所绘的两条曲线增添图例,分别为“正弦曲线”和“余弦曲线”。 9. 在同一坐标内,分别用不同线型和颜色绘制曲线y1= 和y2=(πx),标记两曲线交叉点。 10. 在0≤x≤2区间内,绘制曲线y1=和y2=cos(4πx),并给图形添加图形标注。 11.重新绘制第一题所描述的曲线,将正弦曲线和余弦曲线分别画在两个子图中,子图竖向排列。

12、绘制r=sin(t)cos(t)的极坐标图; 13、分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。 实验程序与结果: 1 x=-2::2; y=sin(x).*cos(x); plot(x,y,'-r') -2 -1.5 -1 -0.5 0.5 1 1.5 2 -0.5-0.4-0.3-0.2-0.100.10.20.30.4 0.5 2 ezplot('x^2/9+y^2/16-1',[-5,5,-5,5]);

x y x 2/9+y 2/16-1 = 0 -5 -4 -3 -2 -1 01 2 3 4 5 -5-4-3-2-101234 5 3 x1=-2::2; x2=-2::2; y1=sin(x2).*x1; y2=cos(x1).*x2; plot3(x1,x2,y1,'d',x1,x2,y2,'d')

实验四 MATLAB 二维绘图的基本操作

实验四 MATLAB 二维绘图的基本操作 一、实验目的 通过图形可以从一堆杂乱的数据中观察数据间的内在关系,感受由图形所传递的内在本质。本实验主要练习并掌握二维曲线绘图的基本操作。 Time(seconds)M a k e s p a n 二、实验内容 在了解了 MATLAB 的矩阵和向量概念与输入方法之后,MA TLAB 的二维绘图就再简单不过了。假设有两个同长度的向量 x 和 y, 则用 plot(x,y) 就可以自动绘制画出二维图来。如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图。 〖例〗正弦曲线绘制,在命令窗口依次输入如下指令: >> t=0:.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,...,6.2 >> y=sin(t); % 计算正弦向量 >> plot(t,y) %绘制图形 这样立即可以得出如下图所示的二维图:

1 0.8 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 plot 函数还可以同时绘制出多条曲线,其调用格式和前面不完全一致,但也好理解。在命令窗口接着输入: >> y1=cos(t); >>plot(t,[y; y1]), 即输出为两个行向量组成的矩阵。 所得图形如下: 1 0.8 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 ★plot 的基本调用格式:plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...),其中所有的选项如表4.1 所示。一些选项可以连用,如'-r' 表示红色实线。 练习: >> plot(x,y,'--') >> plot(x,y,'b') >> plot(x,y,'r') >> plot(x,y,'o') 由MA TLAB 绘制的二维图形可以由下面的一些命令简单地修饰。如 grid ——加网格线 xlabel('字符串') ——给横坐标轴加说明 ylabel('字符串') ——给纵坐标轴加说明,并自动旋转90 度 title('字符串') ——给整个图形加标题 axis([xmin xmax ymin ymax])——手动地设置x,y 坐标轴范围

实验Matlab三维作图的绘制

实验9 三维绘图 一、实验目的 学会MATLAB软件中三维绘图的方法。 二、实验内容与要求 1.三维曲线图 格式一:plot3(X,Y,Z,S). 说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表1.6~表1.10. 【例1.79】绘制螺旋线. >>t=0:pi/60:10*pi; >>x=sin(t); >>y=cos(t); >>plot3(x,y,t,’*-b’) >>grid on 图形的结果如图1.16所示. 格式二:comet3(x,y,z). 说明:显示一个彗星通过数据x,y,z确定的三维曲线. 【例1.80】 >>t=-20*pi:pi/50:20*pi; >>comet3(sin(t),cos(t),t) 可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线. 格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色. 图1.16 例1.79图形结果图1.17 例1.81图形结果 【例1.81】

>>X=[2,1,2;9,7,1;6,7,0]; >>Y=[1,7,0;4,7,9;0,4,3]; >>Z=[1,8,6;7,9,6;1,6,1]; >>C=[1,0,0;0,1,0;0,0,1] >>fill3(X,Y,Z,C) >>grid on 图形的结果如图1.17所示. 问题1.30:图1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何? 2.三维网格图 格式:mesh(X,Y,Z,C) ℅画出颜色由C指定的三维网格图. meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图. meshz(X,Y,Z,C) ℅画出带有底座的三维网格图. 说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X 对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进行线性处理,以便从当前色图中获得有用的颜色,若C缺省,网线颜色和曲面的高度Z相匹配. 在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y. 格式:[X,Y]= meshgrid(x,y). 说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值. 【例1.82】 >> x=1:4; >> y=1:5; >> [x,y]=meshgrid(x,y) x = 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 y = 1 1 1 1

MATLAB中绘图命令介绍

MATLAB中绘图命令介绍 本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。 plot是绘制一维曲线的基本函数,但在 使用此函数之前,我们需先定义曲线上每一 点的x 及y座标。 下例可画出一条正弦曲线: close all; x=linspace(0, 2*pi, 100); % 100个点的x坐标 y=sin(x); % 对应的y坐标 plot(x,y); 小整理:MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 若要画出多条曲线,只需将座标对依次放入plot函数即可: hold on 保持当前图形,以便继续画图到当前坐标窗口 hold off 释放当前图形窗口 title(’图形名称’)(都放在单引号内) xlabel(’x轴说明’) ylabel(’y轴说明’)

text(x,y,’图形说明’) legend(’图例1’,’图例2’,…) plot(x, sin(x), x, cos(x)); 若要改变颜色,在座标对後面加上相关字串即 可: plot(x, sin(x), 'c', x, cos(x), 'g'); 若要同时改变颜色及图线型态,也是在座标对後 面加上相关字串即可: plot(x, sin(x), 'co', x, cos(x), 'g*'); 小整理:plot绘图函数的叁数字元、颜色元、 图线型态, y 黄色 .点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线plot3 三维曲线作图 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); axis函数的功能丰富,其常用的用法有: axis equal :纵横坐标轴采用等长刻度 axis square:产生正方形坐标系(默认为矩形)

matlab各种三维绘图及实例

Matlab绘制三维图形 三维曲线 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。 例绘制三维曲线。 程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 三维曲面 1.产生三维数据 在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。 2.绘制三维曲面的函数 surf函数和mesh函数的调用格式为: mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。 例在xy平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 程序如下: [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1);

基于Matlab二维图像的分析与处理

目录 摘要1 Abstract2 1 数据采集3 1.1 图像提取3 1.2图像的读取3 1.2图像鉴别及转换5 1.3转换后图像信息显示6 2 数据统计处理8 2.1 均值计算8 2.1.1 原理介绍8 2.1.2 仿真结果8 2.2 标准差计算9 2.2.1 原理介绍9 2.2.2 仿真结果9 2.3 方差计算10 2.3.1 原理介绍10 2.2.2 仿真结果10 2.4 灰度直方图绘制11 2.4.1 原理介绍11 2.4.2 仿真结果11 3 快速傅立叶变换12 3.1 原理介绍12 3.2 仿真结果12 4 小结与体会15 参考文献16 摘要 基础强化训练的主要目的就是安排学生进行基础理论、基本技能的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。根据本专业需求和特点,需要在数学基础知识、基本技能方面进行强化训练,使学生对常用的数据分析与处理原理及方法有较为全面的了解,能够运用相关软件进行模拟分析。并帮助学生掌握基本的文献检索和文献阅读的方法,同时提高学生正

确地撰写论文的基本能力,本次基础强化训练主要是运用Matlab软件来处理图像,而且主要是学会使用该软件中与图像信息显示、分析和处理的有关函数的调用,本次基础强化训练运用的主要函数为,imread、imshow、fft、fft2、dct、dct2、dwt、dwt2、std、std2、mean、mean2、hist等,通过调用这些函数来实现图像显示、数据分析和图像处理即傅里叶变换。本次基础强化训练包括三个内容分别为:数据采集、数据统计处理和数据分析算法。 Abstract The basis of intensive training is the main purpose of allowing students to carry out basic theory, basic skills training to enhance students knowledge of basic theory, basic practical ability to improve the basic quality of personnel training. According to the professional needs and characteristics, the need for basic knowledge in mathematics, basic skills training to enable students to commonly used data analysis and theory and methods to deal with a more comprehensive understanding of, related to the use of simulation software. And to help students master basic reading literature search and documentation of methods, while improving the students correctly the basic ability to write papers, this is the basis of intensive training to deal with the use of Matlab software, images, and mainly learn how to use the software with the image information display, analysis and processing of the function to be called the basis for the use of intensive training for the main function, imread, imshow, fft, fft2, dct, dct2, dwt, dwt2, std, std2, mean, mean2, hist and so on, through the call these functions to achieve image display, data analysis and image processing that the Fourier transform. The basis of this intensive training, including three components are: data acquisition, data processing and data analysis algorithms.

相关文档
最新文档