文档库 最新最全的文档下载
当前位置:文档库 › MATLAB_的两种基本绘图功能:二维平面图形和三维立体图形绘制

MATLAB_的两种基本绘图功能:二维平面图形和三维立体图形绘制

MATLAB_的两种基本绘图功能:二维平面图形和三维立体图形绘制
MATLAB_的两种基本绘图功能:二维平面图形和三维立体图形绘制

本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。

5.1 二维平面图形

5.1.1 基本图形函数

plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是

说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制

曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m× n 矩阵时,就由n 条曲线。

(2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。

(3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,…元素为纵坐标值绘制多条曲线。

例5.1.1 画出一条正弦曲线和一条余弦曲线。

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

图5.1.1 函数plot 绘制的正弦曲线

在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专

门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实现它们的功能。

表5.1.1 绘图参数表

色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式

y 黄- 实线. 点< 小于号

m 紫:点线o 圆s 正方形

c 青-. 点划线x 叉号

d 菱形

r 红- - 虚线+ 加号h 六角星

g 绿* 星号p 五角星

b 蓝v 向下三角形

w 白^ 向上三角形

k 黑> 大于号

例如,在上例中输入

>> plot(x,y1,'r+-',x,y2,'k*:')

则得图5.1.2

图5.1.2 使用不同标记的plot 函数绘制的正弦曲线

5.1.2 图形修饰

MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。表5.1.2 图形修饰函数表

函数含义

grid on (/off) 给当前图形标记添加(取消)网络

xlable(‘string’) 标记横坐标

ylabel(‘string’) 标记纵坐标

title(‘string’) 给图形添加标题

text(x,y,’string’) 在图形的任意位置增加说明性文本信息

gtext(‘string’) 利用鼠标添加说明性文本信息

axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值

例5.1.2 给例5.1.1 的图形中加入网络和标记。(见图5.1.3 和5.1.4)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

>> grid on

>> xlabel('independent variable X')

>> ylabel('Dependent Variable Y1 & Y2')

>> title('Sine and Cosine Curve')

>> text(1.5,0.3,'cos(x)')

>> gtext('sin(x)')

>> axis([0 2*pi -0.9 0.9])

图5.1.3 使用了图形修饰的plot 函数绘制的正弦曲线

5.1.3 图形的比较显示

在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图

形窗口。但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法:一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;

二是采用subplot(m,n,k)函数,将图形窗口分隔成n m×个子图,并选择第k 个子图作为当前图形

,然后在同一个视图窗口中画出多个小图形。

例5.1.3 在同一窗口中绘制线段。

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> y3=x;

>> y4=log(x);

>> plot(x,y1,x,y2)

>> hold on

>> plot(x,y3)

>> plot(x,y4)

>> hold off

例5.1.4 在多个窗口中绘制图形。(见图5.1.6)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> y3=exp(x);

>> y4=log(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> plot(x,y2);

>> subplot(2,2,3);

>> plot(x,y3);

>> subplot(2,2,4);

>> plot(x,y4);

[说明]

(1)子窗口的序号按行由上往下,按列从左向右编号。

(2)如果不用指令clf 清除,以后图形将被绘制在子图形窗口中。图5.1.6 图形的比较显示(图形窗口分割方法)

5.2 三维立体图形

5.2.1 三维曲线图

与二维图形相对应,MATLAB 提供了plot3 函数,可以在三维空间中绘制三维曲线,

它的格式类似于plot,不过多了z 方向的数据。plot3 的调用格式为:

plot3(x1,y1,z1,x2,y2,z2,...)

其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该

函数的使用方式和plot 类似,也可以采用多种的颜色或线型(见表5.1.1)来区分不同的数据

组,只需在每组变量后面加上相关字符串即可实现该功能。

例5.2.1 绘制方程x=t

y=sin(t)

z=cos(t)

在t=[0,2*pi]上的空间方程。(见图5.2.1)

>> clf

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot3(y1,y2,x,'m:p')

>> grid on

>> xlabel('Dependent Variable Y1')

>> ylabel('Dependent Variable Y2')

>> zlabel('Independent Variable X')

>> title('Sine and Cosine Curve')

图5.2.1 函数plot 绘制的三维曲线图

5.2.2 三维曲面图

如果要画一个三维的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函数来实现。

mesh 函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接。surf

函数和mesh 的用法类似,但它可以画出着色表面图,图形中的每一个已知点与其相邻点以平面连接。

为方便测试立体绘图,MATLAB 提供了一个peaks 函数,它可以产生一个的高

斯分布矩阵,其生成方程是N N ×

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*exp(-(x+1).^2-y.^2)

对应的图形是一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点。

下面使用peaks 函数来比较一下mesh 和surf 的区别。

例5.2.2 分别用mesh 函数和surf 函数绘制高斯矩阵的曲面。

>> z=peaks(40);

>> mesh(z);

>> surf(z);

图5.2.2 mesh 函数绘制的三维曲面图

图5.2.3 surf 函数绘制的着色表面图

在曲面绘图中,另一个常用的函数是meshgrid 函数,其一般引用格式是:

[X, Y]=meshgrid (x, y)

其中x 和y 是向量,通过meshgrid 函数就可将x 和y 指定的区域转换成为矩阵X 和Y。这样我们在绘图时就可以先用meshgrid 函数产生在x-y 平面上的二维的网格数据,再以一组z 轴的数据对应到这个二维的网格,即可画出三维的曲面。

例5.2.3 绘制方程

sin((x^2+y^2)^(1/2))

z = ---------------------

(x^2+y^2)^(1/2)

在x∈[-7.5,7.5];y∈[-7.5,7.5] 的图形。

>> x=-7.5:0.5:7.5;y=x;

>> [X,Y]=meshgrid(x,y);

>> R=sqrt(X.^2+Y.^2)+eps;

>> Z=sin(R)./R;

>> surf(X,Y,Z)

>> xlabel('X 轴方向')

>> ylabel('Y 轴方向')

>> zlabel('Z 轴方向')

(见图5.2.4)

图5.2.4

例5.2.4 绘制由方程形成的立体图。(见图5.2.5) z=x*exp(-(x^2+y^2))

>> clear

>> x=-2:0.1:2;y=x;

>> [X,Y]=meshgrid(x,y);

>> Z=X.*exp(-X.^2-Y.^2);

>> surf(X,Y,Z)

图5.2.5

5.2.3 观察点

MTALAB 允许用户设置观察点,其指令是: view(azimuth,elevation)

其中方位角azimuth 是观察点和坐标原点连线在x-y 平面的投影和y 轴负方向的夹角,仰角elevation 是观察点与坐标原点的连线和x-y 平面的夹角。对于这两个角度,三维图形的默认值分别是-37.5 和30,二维图形的默认值是0 和90。

例5.2.5 从不同的角度观察高斯矩阵的曲面。

>> z=peaks(40);

>> subplot(2,2,1);

>> mesh(z);

>> subplot(2,2,2);

>> mesh(z);

>> view(-37.5,-30);

>> subplot(2,2,3);

>> mesh(z);

>> view(180,0);

>> subplot(2,2,4);

>> mesh(z);

>> view(0,90);

图5.2.6 对应不同观察点的三维曲面图

5.3 其他图形函数

除了plot 绘图函数以外,在有些场合对绘制的曲线会有一些特殊要求,这就要其他函数来实现,常用的几种函数如下(见表5.3.1)

表5.3.1 其他图形函数表

函数含义

loglog 使用对数坐标系绘图

semilogx 横坐标为对数坐标轴,纵坐标为线性坐标轴

semilogy 横坐标为线性坐标轴,纵坐标为对数坐标轴

polar 绘制极坐标图

fill 绘制实心图

bar 绘制直方图

pie 绘制饼图

area 绘制面积图

quiver 绘制向量场图

stairs 绘制阶梯图

sterm 绘制火柴杆图

例5.3.1

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> bar(x,y1);

>> subplot(2,2,3);

>> fill(x,y1,'g');

>> subplot(2,2,4);

>> stairs(x,y1,'k');

图5.3.1 其他图形函数

5.3.1 直方图

函数bar(x)可以绘制直方图,这对统计或者数据采集非常直观实用。它共有四种形式:bar,bar3,barh 和bar3h,其中bar 和bar3 分别用来绘制二维和三维竖直方图,barh 和b ar3h 分别用来绘制二维和三维水平直方图,调用格式是:

bar(x,y) 其中x 必须单调递增或递减,y 为n m×矩阵,可视化结果为m 组,每

组n 个垂直柱,也就是把y 的行画在一起,同一列的数据用相同的颜色表示;

bar(x,y,width) (或bar(y,width))指定每个直方条的宽度,如width>1,则直方条会重叠,默认值为width=0.8;

bar(…,’grouped’) 使同一组直方条紧紧靠在一起;

bar(…,’stack’) 把同一组数据描述在一个直方条上。

例5.3.2

>> y=[5 3 2 9;4 7 2 7;1 5 7 3];

>> subplot(2,2,1),bar(y)

>> x=[5 9 11];

>> subplot(2,2,2),bar3(x,y)

>> subplot(2,2,3),bar(x,y,'grouped')

>> subplot(2,2,4),bar(rand(2,3),.75,'stack')

图5.3.2 直方图

5.3.2 面积图

函数area 用来绘制面积图,面积图在plot 的基础上填充x 轴和曲线之间的面积,该图用于查看某个数在该列所有数的总和中所占的比例。

例5.3.3

>> x=-3:3;

>> y=[3 2 5;6 1 8;7 4 9;6 3 7;8 2 9;4 2 9;3 1 7];

>> area(x,y)

图5.3.3 面积图

5.3.3 饼图

函数pie 用来绘制饼图,它可以形象地表示出向量中各元素所占比例。其调用格式是:pie(x) x 中的元素通过x/sum(x)进行归一化,以确定饼图中的份额;

pie(x,explode) 向量explode 和x 元素数相同,用来指出需要分开的饼片,explode 中

不为零的部分会被分开。

例5.3.4 设某班的某课程的考试成绩如下:90 分以上有32 人,81 至90 有58 人,71 至80 分有27 人,60 至70 分为21 人,60 分以下有16 人,画出饼图。(见图5.3.4)

>> x=[32 58 27 21 16];

>> explode0=[1 0 0 0 0];

>> subplot(1,2,1)

>> pie(x,explode0)

>> explode1=[0 0 0 0 1];

>> subplot(1,2,2)

>> pie(x,explode1)

图5.3.4 饼图

5.3.4 不同坐标系中的绘图

Semilogx,semilogy,loglo,polar(theta,rho)的使用方法和plot 完全类似,不同的只是绘

制到不同的图形坐标上。函数semilogx 绘制x 轴为对数标度的图形,在半对数坐标系中绘图;

函数semilogy 绘制y 轴为对数标度的图形;函数loglog 绘制两个轴都为对数间隔的图形;函数polar(theta,rho)绘制极坐标图形,其中theta 为相角,rho 为其对应的半径。

例5.3.5 绘制ρ=acos(3θ),a=2 的图形。(见图5.3.5)

>> theta=-pi:pi/80:pi;

>> polar(theta,2*cos(3*theta))

图5.3.5 极坐标图

5.4 符号表达式绘图

MATLAB 软件提供了将表达式进行图形显示的功能。完成此功能需调用fplot 函数和ezplot 函数。

函数fplot 用来绘制数学函数,其调用格式为: fplot(fun,lims)

其中fun 就是所要绘制的函数,可以是定义函数的M 文件名,也可以是以x 为变量的可计

算字符串。例如’diric(x,10)’或’[sin(x),cos(x)]’,对于向量x 的每个元素,函数

fun(x)必须返回一个行向量。如果fun 返回[f1(x),f2(x),f3(x)],输入[x1;x2],就会返回矩阵f1(x1) f2(x1) f3(x1)

f1(x2) f2(x2) f3(x2)

lims=[XMIN XMAX YMIN YMAX]限定了x,y 轴上的绘图空间。

例5.4.1

>> subplot(2,2,1),fplot('humps',[0 1])

>> subplot(2,2,2),fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi])

>> subplot(2,2,3),fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1])

>> subplot(2,2,4),fplot('sin(1./x)',[0.01 0.1],1e-3)

图5.4.1 fplot 函数绘制表达式图形

ezplot 函数是简捷绘图指令之一,它无需数据准备,直接画出函数图形,基本调用格式

为ezplot(f)其中f 是字符串或代表数学函数的符号表达式,只有一个符号变量,可以是x,缺省情况下

x 轴的绘图区域为[-π, π],但我们可以用ezplot(f,xmin,xmax)或ezplot(f,[xmin,xmax])来指定x 的范围。

例5.4.2

>> y='x^2';

>> subplot(1,2,1)

>> ezplot(y)

>> subplot(1,2,2)

>> y='sin(x)';

>> ezplot(y,[-pi,pi])

图5.4.2 ezplot 函数绘制表达式图形

5.5 plot 函数

MATLAB 对数据是按列存储和计算的,运用plot(x)时,当x 为一个向量时,以其元

素为纵坐标,其序号为横坐标值绘制曲线。当x 为实矩阵时,则以其序号为横坐标,按列绘制每列元素相对于序号的曲线,当x 为n m×矩阵时,就有n 条曲线。

如果x,y 是同维向量,plot(x,y)指令以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。

如x 是向量,y 是有一维与x 元素数量相等的矩阵,则以x 为共同横坐标,按列绘制y 每列元素值,曲线数为y 的另一维的元素数。如果x,y 是同维矩阵,则以x,y 对应列元素为、纵坐标分别绘制曲线,数目等于矩阵的列数。

例5.5.1

>> x=[3 5 10 8];

>> subplot(2,2,1)

>> plot(x)

>> x=[3 5 10 8;7 2 9 4;2 7 2 7]';

>> subplot(2,2,2)

>> plot(x)

>> x=[3 5 6 8];

>> y=[1 5 10 4];

>> subplot(2,2,3)

>> plot(x,y)

>> x=[1 3 5 7;2 4 6 8]';

>> y=[6 2 5 10;3 5 2 6]';

>> subplot(2,2,4)

>> plot(x,y,'k:*')

图5.5.1

5.6 交互式图形指令

ginput 是一个比较特殊的图形指令,用作获取图上数据,例如指令

>>[x,y]=ginput(6) % 从图形上选取6 个点此时,ginput 指令将把当前图形调入前台,同时光标变为十字叉,移动光标,使交叉点落在目标点上,单击鼠标,即可获得该点数据。

例5.5.2

>> fplot('humps',[0 1]) >> ginput(6)

x =

0.0449

0.1832

0.3007

0.3813

0.6417

0.8952

- 18 -

y =

7.4561

38.1579

96.3450

57.4561

10.9649

21.1988

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1 图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1] A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,V al1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。 同时显示多帧图像的所有帧,可用到montage函数。

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基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

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图像处理相关函数

一、通用函数: colorbar显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig) warp 将图像显示到纹理映射表面 语法:warp(X,map) \ warp(I ,n) \ warp(z,...) warp(x,y,z,...) \ h=warp(...) zoom 缩放图像 语法:zoom on \ zoom off \ zoom out \ zoom reset \ zoom \ zoom xon \ zoom yon\ zoom(factor) \ zoom(fig,option) 二、图像文件I/O函数命令 imfinfo 返回图形图像文件信息 语法:info=imfinfo(filename,fmt) \ info=imfinfo(filename) imread 从图像文件中读取(载入)图像 语法:A=imread(filename,fmt) \ [X,map]=imread(filename,fmt) \

第二讲 MatLab图形绘制功能Final

第二讲 MatLab图形绘制功能 教学目的:熟练掌握二维曲线作图;了解隐函数绘图;掌握三维曲线和三维曲面作图的方法和技巧;了解MATLAB图形修饰处理方法;学会一些简单动画制作手段. 教学重点:二维曲线的作图, 极坐标和参数作图; 三维曲线和曲面作图. 教学难点:点运算在作图中的应用; 曲线和曲面作图的差别; 隐函数作图.通过解说,演示以及举例子克服难点难关. 一、二维平面图形 表1基本绘图函数

hold on 命令用于在已画好的图形上添加新的图形. plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y 坐标.下例可画出一条正弦曲线: x=0:0.001:10; % 0到10的1000个点的x坐标 y=sin(x); % 对应的y坐标 plot(x,y); % 绘图 Y=sin(10*x);plot(x,y,'r:',x,Y,'b') % 同时画两个函数

若要改变颜色,在坐标对后面加上相关字串即可: x=0:0.01:10; plot(x,sin(x),'r') 若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可:plot(x,sin(x),'r*') 用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:

axis([0,6,-1.5,1]) MATLAB 也可对图形加上各种注解与处理: xlabel('x 轴'); % x 轴注解 ylabel('y 轴'); % y 轴注解 title('余弦函数'); % 图形标题 legend('y = cos(x)'); % 图形注解 gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置 grid on; % 显示格线 fplot 的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所需要的一组数据作为变数.其语法为fplot('fun',[xmin xmax ymin ymax]),其中 fun 为一已定义的函数名称,例如 sin , cos 等等;而 xmin , xmax , ymin , ymax 则是设定绘图横轴及纵轴的下限及上限. 以下的例子是将一函数 f(x)=sin(x)/x 在-20> fplot('sin(x)./x',[-20 20 -0.4 1.2]) 例 画椭圆12 322 22=+y x . a = [0:pi/50:2*pi]'; %角度 π20-

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

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数字图像处理初步实验二图像的代数运算 实验三图像增强-空间滤波 实验四图像分割 3

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: ?亮度图像(Intensity images)

用matlab绘制的漂亮图形

用matlab绘制的漂亮图形 1.不同坐标系下的图形对比 theta=0:pi/20:4*pi; phi= theta.^2- theta; [t,p]=meshgrid(theta,phi); r=t.*p; subplot(1,2,1);mesh(t,p,r); ylabel('x');xlabel('y');zlabel('z'); [x,y,z]=sph2cart(t,p,r); subplot(1,2,2);mesh(x,y,z); ylabel('x');xlabel('y');zlabel('z'); 2.球曲面的法线 [x,y,z]=sphere; Surfnorm(x,y,z)

3. x=rand(100,1)*16-8; y=rand(100,1)*16-8; r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r; xlin=linspace(min(x),max(x),33); ylin=linspace(min(y),max(y),33); [X,Y]= meshgrid(xlin,ylin); Z=griddata(x,y,z,X,Y); mesh(X,Y,Z); axis tight;hold on; ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,’r’,’MarkerSize’,15)

x=rand(1000,1)*16-8; y=rand(1000,1)*16-8; r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r; xlin=linspace(min(x),max(x),99); ylin=linspace(min(y),max(y),99); [X,Y]= meshgrid(xlin,ylin); Z=griddata(x,y,z,X,Y); mesh(X,Y,Z); axis tight;hold on; ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,'r','MarkerSize',30);

MatLab图形绘制功能

MatLab & 数学建模 第二讲 MatLab图形绘制功能 一、二维平面图形 基本绘图函数 hold on 命令用于在已画好的图形上添加新的图形 plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。下例可画出一条正弦曲线: x=0:0.001:10; % 0到10的1000个点的x座标

y=sin(x); % 对应的y座标 plot(x,y); % 绘图 Y=sin(10*x); plot(x,y,'r:',x,Y,'b') % 同时画两个函数 ?若要改变颜色,在座标对後面加上相关字串即可:x=0:0.01:10;

plot(x,sin(x),'r') 若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可: plot(x,sin(x),'r*') 用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围 axis([0,6,-1.5,1])

MATLAB也可对图形加上各种注解与处理: xlabel('x轴'); % x轴注解 ylabel('y轴'); % y轴注解 title('余弦函数'); % 图形标题 legend('y = cos(x)'); % 图形注解 gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置 grid on; % 显示格线 fplot的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须 要的一组数据做为变数。其语法为fplot('fun',[xmin xmax ymin ymax]),其中fun 为一已定义的函数名称,例如sin, cos等等;而xmin, xmax, ymin, ymax则是设定绘图横轴及纵轴的下限及上限。 以下的例子是将一函数 f(x)=sin(x)/x 在-20> fplot('sin(x)./x',[-20 20 -0.4 1.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基本图像处理程序

图像读入 ●从图形文件中读入图像imread Syntax: A = imread(, fmt) :指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到所制定的文件,会尝试查找一个名为的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含RGB 真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow() himage = imshow(...)

●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像素在图像中出现的概率。 图像的灰度直方图:是一个离散函数,表示图像每一灰度级与该灰度级出现概率的对应关系。 图像的灰度直方图运算: imhist()函数,其横坐标表示像素的灰度级别,纵坐标为像素点的个数。 ●Imhist函数=Display histogram of image data显示灰度直方图的函数 ●Syntax: ①imhist(I) % I为要计算的灰度直方图图像 ②imhist(I, n) % n指定的灰度级的数目,表示所有灰度级均匀分布在n个小区间内。 ③imhist(X, map) ④[counts,x] = imhist(...) %counts直方图数据向量。counts(i)第i个灰度区间中的像素数目。x是保存了对应的灰度小区间的向量。 注意:若调用时不接受这个函数的返回值,则直接显示直方图;在得这些返回数据之后,也可以使用stem(x,counts)手绘直方图。 ●例1:显示某一图像的灰度直方图

实验2matlab绘图操作

实验2 Matlab 绘图操作 实验目的: 掌握绘制二维图形的常用函数; 掌握绘制三维图形的常用函数; 掌握绘制图形的辅助操作。 实验内容: 设sin .cos x y x x ?? =+??+? ?23051,在x=0~2π区间取101点,绘制函数的曲线。 已知: y x =2 1,cos()y x =22,y y y =?312,完成下列操作: 在同一坐标系下用不同的颜色和线性绘制三条曲线; 以子图形式绘制三条曲线; 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 3. 已知:ln(x x e y x x ?+≤??=??+>??2 0102 ,在x -≤≤55区间绘制函数曲线。 4. 绘制极坐标曲线sin()a b n ρθ=+,并分析参数a 、b 、n 对曲线形状的影响。 5.在xy 平面内选择区域[][],,-?-8888 ,绘制函数z = 6. 用plot 函数绘制下面分段函数的曲线。 ,(),,x x f x x x x ?++>? ==??+-> x=(0:2*pi/100:2*pi);

>> y=+3*sin(x)/(1+x.^2))*cos(x); >> plot(x,y) 2.已知: y x =2 1,cos()y x =22,y y y =?312,完成下列操作: (1)在同一坐标系下用不同的颜色和线性绘制三条曲线; >> x= linspace(0, 2*pi, 101); >> y1=x.*x; >> y2=cos(2x); >> y3=y1.*y2; plot(x,y1,'r:',x,y2,'b',x,y3, 'ko') (2)以子图形式绘制三条曲线; >> subplot(2,2,1),plot(x,y1) subplot(2,2,2),plot(x,y2) subplot(2,2,3),plot(x,y3)

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图像处理函数汇总

1、图像的变换 ①fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif'); j=fft2(i); ②ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('104_8.tif'); j=fft2(i); k=ifft2(j); 2、模拟噪声生成函数和预定义滤波器 ①imnoise:用于对图像生成模拟噪声,如: i=imread('104_8.tif'); j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 ②fspecial:用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器 h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器 2、图像的增强 ①直方图:imhist函数用于数字图像的直方图显示,如: i=imread('104_8.tif'); imhist(i); ②直方图均化:histeq函数用于数字图像的直方图均化,如: i=imread('104_8.tif'); j=histeq(i); ③对比度调整:imadjust函数用于数字图像的对比度调整,如:i=imread('104_8.tif'); j=imadjust(i,[0.3,0.7],[]); ④对数变换:log函数用于数字图像的对数变换,如: i=imread('104_8.tif'); j=double(i);

相关文档
相关文档 最新文档