搜档网
当前位置:搜档网 › matlab二维图形的绘制

matlab二维图形的绘制

matlab二维图形的绘制
matlab二维图形的绘制

MATLAB技术论坛

www.matlab https://www.sodocs.net/doc/df14402683.html,账号zap2004 密码zap2004

matlab二维图形的绘制

2007年12月17日星期一 10:37

常用的二维图形命令:

plot:绘制二维图形

loglog:用全对数坐标绘图 semilogx:用半对数坐标(X)绘图

semilogy:用半对数坐标(Y)绘图

fill:绘制二维多边填充图形 polar:绘极坐标图

bar:画条形图

stem:画离散序列数据图

stairs:画阶梯图

errorbar:画误差条形图

hist:画直方图

fplot:画函数图

title:为图形加标题

xlabel:在X轴下做文本标记

ylabel:在Y轴下做文本标记

zlabel:在Z轴下做文本标记

text:文本注释

grid:对二维三维图形加格栅

绘制单根二维曲线

plot函数,基本调用格式为:

plot(x,y)

其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例如:在0≤x≤2pi区间内,绘制曲线

y=2e-0.5xcos(4πx)

程序如下:

x=0:pi/100:2*pi;

y=2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y)

plot函数最简单的调用格式是只包含一个输入参数:

plot(x)

在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

p=[22,60,88,95,56,23,9,10,14,81,56,23];

plot(p)

绘制多根二维曲线

1.plot函数的输入参数是矩阵形式

(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。

(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。

当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。2.含多个输入参数的plot函数

调用格式为:

plot(x1,y1,x2,y2,…,xn,yn)

(1) 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。

(2) 当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

例如:分析下列程序绘制的曲线。

x1=linspace(0,2*pi,100);

x2=linspace(0,3*pi,100);

x3=linspace(0,4*pi,100);

y1=sin(x1);

y2=1+sin(x2);

y3=2+sin(x3);

x=[x1;x2;x3]';

y=[y1;y2;y3]';

plot(x,y,x1,y1-1)

3.具有两个纵坐标标度的图形

在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:

plotyy(x1,y1,x2,y2)

其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。

例如:用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。程序如下:

x=0:pi/100:2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

y2=2*exp(-0.5*x).*cos(pi*x);

plotyy(x,y1,x,y2);

4.图形保持

hold on/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。

例如:采用图形保持,在同一坐标内绘制曲线

y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。

程序如下:

x=0:pi/100:2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

hold on

y2=2*exp(-0.5*x).*cos(pi*x);

plot(x,y2);

hold off

设置曲线样式

MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。

要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:

plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)

例如:在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和

y2=2e-0.5xcos(πx),标记两曲线交叉点。

程序如下:

x=linspace(0,2*pi,1000);

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

y2=2*exp(-0.5*x).*cos(pi*x);

k=find(abs(y1-y2)<1e-2); %查找y1与y2相等点(近似相等)的下标

x1=x(k); %取y1与y2相等点的x坐标

y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1与y2值相等点的y坐标

plot(x,y1,x,y2,'k:',x1,y3,'bp');

图形标注与坐标控制

1.图形标注

有关图形标注函数的调用格式为:

title(图形名称)

xlabel(x轴说明)

ylabel(y轴说明)

text(x,y,图形说明)

legend(图例1,图例2,…)

函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,

text(0.3,0.5,‘sin({\omega}t+{\beta})’)将得到标注效果sin(ωt+β)。

例如:在0≤x≤2?区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。程序如下:

x=0:pi/100:2*pi;

y1=2*exp(-0.5*x);

y2=cos(4*pi*x);

plot(x,y1,x,y2)

title('x from 0 to 2{\pi}'); %加图形标题

xlabel('Variable X'); %加X轴说明

ylabel('Variable Y'); %加Y轴说明

text(0.8,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置添加图形说明

text(2.5,1.1,'曲线y2=cos(4{\pi}x)');

legend(‘y1’,’y2’) %加图例

axis函数的调用格式为:

axis([xmin xmax ymin ymax zmin zmax])

axis函数功能丰富,常用的格式还有:

axis equal:纵、横坐标轴采用等长刻度。

axis square:产生正方形坐标系(缺省为矩形)。

axis auto:使用缺省设置。

axis off:取消坐标轴。

axis on:显示坐标轴。

例如:给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。

给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换

在同一坐标中,可以绘制3个同心圆,并加坐标控制。

程序如下:

t=0:0.01:2*pi;

x=exp(i*t);

y=[x;2*x;3*x]';

plot(y)

grid on; %加网格线

box on; %加坐标边框

axis equal %坐标轴采用等刻度

图形窗口的分割

subplot函数的调用格式为:

subplot(m,n,p)

该函数将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。

例如:在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。

程序如下:

x=linspace(0,2*pi,60);

y=sin(x);z=cos(x);

t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps);

subplot(2,2,1);

plot(x,y);title('sin(x)');axis ([0,2*pi,-1,1]);

subplot(2,2,2);

plot(x,z);title('cos(x)');axis ([0,2*pi,-1,1]);

subplot(2,2,3);

plot(x,t);title('tangent(x)');axis ([0,2*pi,-40,40]);

subplot(2,2,4);

plot(x,ct);title('cotangent(x)');axis ([0,2*pi,-40,40]);

其他二维图形

其他坐标系下的二维数据曲线图

1.对数坐标图形

MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:

semilogx(x1,y1,选项1,x2,y2,选项2,…)

semilogy(x1,y1,选项1,x2,y2,选项2,…)

loglog(x1,y1,选项1,x2,y2,选项2,…)

例绘制y=10x2的对数坐标图并与直角线性坐标图进行比较。

程序如下:

x=0:0.1:10;

y=10*x.*x;

subplot(2,2,1);plot(x,y);title('plot(x,y)');grid on;

subplot(2,2,2);semilogx(x,y);title('semilogx(x,y)');grid on;

subplot(2,2,3);semilogy(x,y);title('semilogy(x,y)');grid on;

subplot(2,2,4);loglog(x,y);title('loglog(x,y)');grid on;

2.极坐标图

polar函数用来绘制极坐标图,其调用格式为:

polar(theta,rho,选项)

其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。

例4-11 绘制r=sin(t)cos(t)的极坐标图,并标记数据点。

程序如下:

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

r=sin(t).*cos(t);

polar(t,r,'-*');

二维统计分析图

在MATLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:

bar(x,y,选项):画条形图

stairs(x,y,选项):画阶梯图

stem(x,y,选项):画离散序列数据图

例分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。

程序如下:

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

y=2*sin(x);

subplot(2,2,1);bar(x,y,'g');

title('bar(x,y,''g'')');axis([0,7,-2,2]);

subplot(2,2,2);stairs(x,y,'b');

title('stairs(x,y,''b'')');axis([0,7,-2,2]);

subplot(2,2,3);stem(x,y,'k');

title('stem(x,y,''k'')');axis([0,7,-2,2]);

subplot(2,2,4);fill(x,y,'y');

title('fill(x,y,''y'')');axis([0,7,-2,2]);

ll(x1,y1,选项1,x2,y2,选项2,…):填充图形

MATLAB提供的统计分析绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。

例绘制图形:

(1) 某企业全年各季度的产值(单位:万元)分别为:2347,1827,2043,3025,试用饼图作统

计分析。

(2) 绘制复数的相量图:7+2.9i、2-3i和-1.5-6i。程序如下:

subplot(1,2,1);

pie([2347,1827,2043,3025]);

title('饼图');

legend('一季度','二季度','三季度','四季度'); subplot(1,2,2);

compass([7+2.9i,2-3i,-1.5-6i]);

非常全非常详细的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绘制二维函数图形

《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 =在

5 MATLAB图形功能

§5MATLAB图形功能 MA TLAB有很强的图形功能,可以方便地实现数据的视觉化。强大的计算功能与图形功能相结合为MA TLAB在科学技术和教学方面的应用提供了更加广阔的天地。下面着重介绍二维图形的画法,对三维图形只作简单叙述。 5.1 二维图形的绘制 5.1.1 基本形式 二维图形的绘制是MA TLAB语言图形处理的基础,MA TLAB最常用的画二维图形的命令是plot,看两个简单的例子: >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形见图5-1,是以序号6, ,2,1 为横坐标、数组y的数值为纵坐标画出的折线。 >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形见图5-2,是] 2,0[ 上30个点连成的光滑的正弦曲线。 图5-1 图5-2 5.1.2 多重线 在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 >> x=0:pi/15:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 则可以画出图5-3。多重线的另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MA TLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如: >> x=linspace(0,2*pi,30); y=sin(x); plot(x,y) 先画好图5-2,然后用下述命令增加cos(x)的图形,也可得到图5-3。 >> hold on >> z=cos(x); plot(x,z)

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

一、通用函数: 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图像处理报告

基于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绘图功能大全

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为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。 2.含多个输入参数的plot函数

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图形绘制功能MatLab图形绘制功能例子解读 一、二维平面图形 基本绘图函数 命令含义 plot 建立向量或矩阵各队队向量的图形 loglog x、y轴都取对数标度建立图形 semilogx x轴用于对数标度,y轴线性标度绘制图形semilogy y轴用于对数标度,x轴线性标度绘制图形title 给图形加标题 xlabel 给x轴加标记 ylabel 给y轴加标记 text 在图形指定的位置上加文本字符串 gtext 在鼠标的位置上加文本字符串 grid 打开网格线 plot绘图函数的叁数 字元颜色字元图线型态 y 黄色 . 点 k 黑色 o 圆 w 白色 x x b 蓝色 + + g 绿色 * * r 红色 - 实线

c 亮青色 : 点线 m 锰紫色 -. 点虚线 -- 虚线 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; % 显示 格线

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:显示某一图像的灰度直方图

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);

实验一 Matlab_图像处理基本操作

实验一Matlab 图像处理基本操作和付立叶变换 一、matlab基本操作 1. 显示图像 >> I1=imread('D:\图像\LENA.BMP'); >> imshow(I1); >> I2=imread('D:\图像\***.BMP'); >> imshow(I2); 2、检查内存(数组)中的图像: >> whos 3、保存图像: >> imwrite(I2,'lena_2G.png'); % 将图像由原先的bmp格式另存为png格式 4、多幅图像显示 >> I1=imread('D:\图像\LENA.BMP'); >> figure //出现图形显示窗口>> subplot(1,2,1),imshow(I1);

>> I2=imread('D:\图像\**.BMP'); >> subplot(1,2,2),imshow(I2); 二、傅里叶变换 1.目的: a、理解傅里叶变换的原理 b、掌握傅里叶变换的性质 2.实验步骤: a. 首先构造一幅黑白二值图像,在128×128的黑色背景中心产生一个4×4的白色方块,对其进行傅里叶变换;(Matlab中用fft2实现2D傅里叶变换) b.把低频分量移到图象中心,而把高频分量移到四个角上;(方法有两种: 其一,在FT以前对测试图象逐点加权(-1)^(i+j);其二,利用FFTSHIFT函数); c.利用图象增强中动态范围压缩的方法增强2DFT;(Y=C*log(1+abs (X))); d.构造一幅黑白二值图像,在128×128的黑色背景中令第32行至36行、第 32列至第36列的值为1(即产生一个4×4的白色方块),对其进行傅里叶

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE = strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1 = strel('square',6) % 创建6*6的正方形 se2 = strel('line',10,45) % 创建直线长度10,角度45 se3 = strel('disk',15) % 创建圆盘半径15 se4 = strel('ball',15,5) % 创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW = roipoly(I,c,r) BW = roipoly(I) BW = roipoly(x,y,I,xi,yi) [BW,xi,yi] = roipoly(...) [x,y,BW,xi,yi] = roipoly(...) BW = roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW = roipoly(I)表示建立交互式的处理界面。 BW = roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I = imread('eight.tif'); c = [222 272 300 270 221 194]; r = [21 21 75 121 121 75]; BW = roipoly(I,c,r); imshow(I)

基于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.

matlab图像处理综合实验实验报告

《数字图像处理》 实验报告 学院: 专业: 班级: 姓名: 学号:

实验一 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示; 2.熟悉直方图均衡化; 3.熟悉图像的线性指数等; 4.熟悉图像的算术运算及几何变换. 实验仪器:计算机,Matlab软件 实验原理: 图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。 图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。 实验内容如下: I=imread('E:\cs.jpg');%读取图像 subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J) %输出图像 title('灰度图像') %在原始图像中加标题 subplot(2,2,3),imhist(J) %输出原图直方图 title('原始图像直方图') 0100200

I=imread('E:\cs.jpg');%读取图像 subplot(1,2,1),imshow(I); theta = 30; K = imrotate(I,theta); subplot(1,2,2),imshow(K) 对数运算: I=imread('E:\dog.jpg'); subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J)); subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算: I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g);

相关主题