实验二MATLAB绘制图形
- 格式:ppt
- 大小:1.29 MB
- 文档页数:7
实验一 MATLAB入门(1)1.实验目的:(1)了解MATLAB的体系结构与特点,熟悉其集成开发环境。
(2)熟悉MATLAB界面窗口的功能和使用方法。
(3)熟悉MATLAB的帮助系统及使用方法。
(4)了解MATLAB的的数据类型、基本形式和数组的产生方法。
(5)掌握MATLAB基本的数学运算操作。
2.实验原理(1)MATLAB简介MATLAB是美国MathWorks公司开发的高性能的科学与工程计算软件。
它在数值计算、自动控制、信号处理、神经网络、优化计算、小波分析、图像处理等领域有着广泛的用途。
近年来, MATLAB在国内高等院校、科研院所的应用逐渐普及,成为广大科研、工程技术人员必备的工具之一。
MATLAB具有矩阵和数组运算方便、编程效率极高、易学易用、可扩充性强和移植性好等优点,俗称为“草稿纸式的科学计算语言”。
它把工程技术人员从繁琐的程序代码编写工作中解放出来,可以快速地验证自己的模型和算法。
经过几十年的扩充和完善,MATLAB已经发展成为集科学计算、可视化和编程于一体的高性能的科学计算语言和软件开发环境,整套软件由MATLAB开发环境、MATLAB语言、MATLAB数学函数库、MATLAB图形处理系统和MATLAB应用程序接口(API)等五大部分组成。
MATLAB的主要特点包括强大的计算能力(尤其是矩阵计算能力)、方便的绘图功能及仿真能力、极高的编程效率。
另外,MATLAB还附带了大量的专用工具箱,用于解决各种特定领域的问题。
通过学习软件的基本操作及其编程方法,体会和逐步掌握它在矩阵运算、信号处理等方面的功能及其具体应用。
通过本课程实验的学习,要求学生初步掌握MATLAB的使用方法,初步掌握M文件的编写和运行方法,初步将MATLAB运用于数字信号处理中。
循序渐进地培养学生运用所学知识分析和解决问题的能力。
(2)MATLAB的工作界面(Desktop)与操作MATLAB 安装成功后,第一次启动时,主界面如下图(不同版本可能有差异)所示:其中① 是命令窗口(Command Window ),是MATLAB 的主窗口,默认位于MATLAB界面的右侧,用于输入命令、运行命令并显示运行结果。
实验二MATLAB绘图一、实验目的1 掌握绘制二维图形的常用函数。
2 掌握绘制三维图形的常用函数。
3 熟悉利用图形对象进行绘图操作的方法。
4 掌握绘制图形的辅助操作。
二、实验设备及预备材料:实验设备:MATLAB7.0;预备材料:(一)曲线图:Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图。
命令格式为:plot(x,y,s)其中x,y分别表示所取点集的横纵坐标,s指定线型及颜色。
缺省时表示画的是蓝色实线。
Plot(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn)表示将多条线画在一起。
例在[0,2*pi]用红线画sin(x),用绿圈画cos(x)。
解:x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,’r’,x,z,’go’)所得图形如下图所示(二)符号函数(显函数、隐函数和参数方程)画图(1) ezplotezplot(‘f(x)’,[a,b])表示在a<x<b 绘制显函数f=f(x)的函数图;ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])表示在区间xmin<x<xmax 和 ymin<y<ymax 绘制隐函数f(x,y)=0的函数图; ezplot(‘x(t)’,’y(t)’,[tmin,tmax])表示在区间tmin<t<tmax 绘制参数方程x=x(t),y=y(t)的函数图。
例 在[0,pi]上画y=cos(x)的图形解 输入命令:ezplot(‘sin(x)’,[0,pi])例 在[0,2*pi]上画t x 3cos =,t y 3sin =星形图解 输入命令:ezplot(‘cos(t).^3’,’sin(t).^3’,[0,2*pi])例 在[-2,0.5],[0,2]上画隐函数0)sin(=+xy e x 的图解 输入命令:ezplot('exp(x)+sin(x.*y)',[-2,0.5,0,2])(2) fplot格式:fplot(‘fun ’,lims)表示绘制字符串fun 指定的函数在lims=[xmin,xmax]的图形。
实验二二维/三维数据的可视化一、实验目的熟悉掌握简单的图形绘制函数;掌握MATLAB常用的二维、三维图形及其她图形绘制函数的使用方法;熟悉图形句柄的使用。
二、实验环境硬件环境:计算机一台软件环境:Matlab 6、0三、实验内容作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。
由于系统采用面向对象的技术与丰富的矩阵运算,所以在图形处理方面即常方便又高效。
1、二维绘图(1)plot函数函数格式:plot(x,y) 其中x与y为坐标向量函数功能:以向量x、y为轴,绘制曲线。
例1 在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为:x=0:pi/100:2*pi;y=sin(x);plot(x,y)例2同时绘制正、余弦两条曲线Y1=SIN(X)与Y2=COS(X),其程序为: x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能就是以公共向量x 为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。
例3 用不同线型与颜色重新绘制Y1=SIN(X)与Y2=COS(X),其程序为: x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-、')其中参数'go'与'b-、'表示图形的颜色与线型。
g表示绿色,o表示图形线型为圆圈;b表示蓝色,-、表示图形线型为点划线。
在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。
title(‘加图形标题');xlabel('加X轴标记');ylabel('加Y轴标记');text(X,Y,'添加文本');例4 在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为:x=linspace(0,2*pi,60);生成含有60个数据元素的向量Xy=sin(x);plot(x,y);axis ([0 2*pi -2 2]);设定坐标轴范围2、subplot函数(1)subplot(m,n,p)该命令将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。
实验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 41 2 3 41 2 3 41 2 3 41 2 3 4y =1 1 1 12 2 2 23 3 3 34 4 4 45 5 5 5图1.18所示x-y 平面上的矩形定义域中20个数据点(星号点)的坐标就是有X ,Y 决定的。
2.实验⼆MATLAB绘图⼀答案实验⼆ MATLAB 绘图⼀1. 编程绘制y=sin(t)/t 的曲线,t 的定义域是[-10Π,10Π],绘图时加⽹格解:t=[-10*pi:0.2:10*pi];y=sin(t)./t;plot(t,y),grid on-40-30-20-10010203040-0.4-0.20.20.40.60.812. 在[0,10]之间⽤⼀张图画出y=sin(t),y1=cos(t)的曲线,y ⽤红⾊实线绘制,y1⽤蓝⾊长划线绘制,绘图时加⽹格,横纵坐标⽐例相同,横轴标明“时间”,纵轴标明“正弦、余弦”,图题“正弦和余弦曲线”,要有图例说明,且⽤⿏标拖动来标注“sin(t)”、“cos(t)”。
解: t=0:0.1:10;y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); title('正弦和余弦曲线'); legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦') grid axis squaregtext('sin(t)'),gtext('cos(t)')246810-1-0.8-0.6-0.4-0.200.20.40.60.81正弦和余弦曲线时间t正弦、余弦3. ⽤三种⽅法编程,同时在⼀张图上观察常⽤对数、⾃然对数函数在[0,10]之间的曲线,其中在两种⽅法中,常⽤对数曲线⽤⿊⾊实线绘制,⾃然对数曲线⽤红⾊“+”绘制,绘图时,MATLAB 不要提⽰“W arning ” 解⼀: t=[0.1:0.1:10]; y1=log10(t); y2=log(t);plot(t,y1,'-k'),hold on plot(t,y2,'+r'),hold off246810-2.5-2-1.5-1-0.500.511.522.5解⼆: t=[0.1:0.1:10]; y1=log10(t); y2=log(t); plot(t,[y1;y2])246810-2.5-2-1.5-1-0.500.511.522.5解三: t=[0.1:0.1:10]; y1=log10(t); y2=log(t); plot(t,y1,'-k',t,y2,'+r')246810-2.5-2-1.5-1-0.500.511.522.54.曲线y=x+2x2+3x3,x的定义域为[-3,3],在⼀张图上⽤排成⼀⾏的三幅⼦图分别显⽰该曲线:⿊⾊实线图、脉冲图、条形图,每幅图均有图题及横纵坐标轴说明解:x=[-3:0.1:3];y=x+2*x.^2+3*x.^3;subplot(1,3,1),plot(x,y,'k')title('plot(x,y)')xlabel('x'),ylabel('y')subplot(1,3,2),stem(x,y)title(' stem(x,y)')xlabel('x'),ylabel('y')subplot(1,3,3),bar(x,y)title(' bar(x,y)')xlabel('x'),ylabel('y')5.通过MATLAB的help功能⾃学如何绘制饼图,在⼀张图上分上下两幅分别绘制“通信08-1”、“通信08-2”、“电⼦08-1”、“电⼦08-2”的“MATLAB ⼤侠”⽐例为3:3:2:2的饼图和⽴体饼图,其中,“通信08-1”的饼被抽出。
实验二 MATLAB 的绘画功能
实验目的
熟悉MTALAB 中几种常用的绘图命令,掌握几种常用图形的画法。
实验原理
1.二维:用 matlab 二维绘图命令 plot 作出函数图形。
形式: plot(x,y)
2.空间三维作图:三维曲线:plot3(x,y,z,s);三维曲面:mesh(X,Y ,Z) 网格生成函数:meshgrid
surf(X,Y ,Z):绘制由矩阵 X,Y ,Z 所确定的曲面图,参数含义同 mesh
实验内容:
1.利用 plot 函数在一个坐标系下绘制以下函数的图形, y1=sin(x) ; y2=cos(x) ; y3=cos(2x) x ∈[0,2*pi] 要求采用不同的颜色、线型、点标记。
2.plot3 绘制类似田螺线的一条三维螺线
()()2cos sin 2sin cos 2.3x t t t y t t t z t =+⎧⎪=-⎨⎪=⎩
3.利用mesh
函数绘制方程:z =表示的部分曲面。
4. 利用 surf 函数绘制马鞍面,方程为:
22
94
x y z =-。
实验报告(二)完成人:L.W.Yohann注:本次实验主要学习了用MATLAB绘制二维、三维图形的基本命令、图形的标识与修饰以及用符号函数绘图,在学习完成后小组对52页的上机练习题进行了程序编辑和运行。
1.绘制数列变化趋势图.解:在编辑窗口输入:n=1:100;an=(1+1./n).^n;plot(n,an,'r*')grid并保存,命名为lab1;在命令窗口中输入lab1,得:2.绘制数列变化趋势图.解:在编辑窗口输入:n=1:0.1:50;an=n.^(1./n);plot(n,an,'r*')grid并保存,命名为lab2;在命令窗口中输入lab2,得:3.绘制函数在无定义点处的变化趋势.解:在编辑窗口输入:x=-10:0.05:10;y=sin(x)./x;plot(x,y,'r*')grid并保存,命名为lab3;在命令窗口中输入lab3,得:4.在同一坐标系中画出函数及其Taylor多项式的图像解:y=sinx在编辑窗口输入:syms xf=sin(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of sin(x) up to O(x^6)',...'approximation of sin(x) up to O(x^8)',...'approximation of sin(x) up to O(x^{10})',...'approximation of sin(x) up to O(x^{12})',...'sin(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4sin;在命令窗口中输入lab4sin,得:y=exp(x)在编辑窗口输入:syms xf=exp(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of exp(x) up to o(x^6)',...'approximation of exp(x) up to o(x^8)',...'approximation of exp(x) up to o(x^{10})',...'approximation of exp(x) up to o(x^{12})',...'exp(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4exp;在命令窗口中输入lab4exp,得:5.符号函数绘图.注:在matlab r2010b 和matlab r2019b中对绘制函数图像的输入方法有不同的要求,故此类题分两个版本来求解。
班级:通信班姓名:彭羊平学号: 222008315222033实验一:matlab的基本操作一、实验目的:1、了解MATLAB的集成环境,熟悉其基本操作。
2、了解MATLAB的基础知识,包括矩阵的建立、简单操作、逻辑操作和关系运算。
3、熟悉基本的数学函数和逻辑函数。
4、在命令窗口输入命令完成一些简单的功能,为MATLAB程序设计奠定基础。
二、实验内容:1、利用diag等函数产生下列矩阵:然后利用reshape函数将它们变换成行向量。
2、利用rand函数产生(0,1)间均匀分布的10*10随机矩阵A,然后统计A中大于等于0.6的元素的个数。
3、有一矩阵A,找出矩阵中值大于1的元素,并将它们重新排列成列向量B。
4、在一测量矩阵A(6*6),存在有奇异值(假设大于100的值为奇异值),编程实现删去奇异值所在的行。
三、实验结果:1、程序如下:a=fliplr(diag([8,-7,2])+diag([5,3],-1))a=reshape(a,1,9)b=diag([2,5,8])+diag([4],2)+diag([7],-2) b=reshape(b,1,9)结果如下:2、程序如下:A=rand(10)A=A>0.6sum(sum(A))结果如下:3、程序如下:A=fix(5*rand(5))a=A>1;K=find(a);for k=1:length(K)B(k)=A(K(k));endB=B'结果如下:4、程序如下:A=fix(100*rand(8))+5 B=A>100;k=find(any(B'))A(k,:)=0结果如下:班级:通信班姓名:彭羊平学号: 222008315222033实验二: matlab绘图(1)一、实验目的:1、了解MATLAB图形系统和各种图形函数。
2、熟悉MATLAB的基本图形操作,具备MATLAB画图能力。
3、熟悉各种数学函数,并通过图形函数画出。
实验报告实验课程名称数学实验与Matlab实验项目名称函数的可视化与Matlab作图年级专业学生姓名学号理学院实验时间:201 年月日学院:专业:班级:姓名学号实验组指导教成绩实验时间师实验项目名称函数的可视化与MATLAB作图实验目的及要求:第一,MATLAB二维绘图命令。
第二,多元函数的可视化与空间解析几何。
实验(或算法)原理:用MATLAB绘制一阶微分方程的斜率场。
使用quiver指令画向量和gradient指令求数值梯度。
可直接算出方程的解的表达式再画图,也可以用ode45指令直接求出方程的数值解。
实验硬件及软件平台:MATLAB软件实验步骤:xyz295[function dy=xyz295f(x,y)dy=sin(x).*sin(y);]clf,clear» a=0;b=4;c=0;d=4;n=15;» [X,Y]=meshgrid(linspace(a,b,n),linspace(c,d,n)); » z=sin(X).*sin(Y);» Fx=cos(atan(sin(X).*sin(Y)));Fy=sqrt(1-Fx.^2); » quiver(X,Y,Fx,Fy,0.5),hold on,axis([a,b,c,d])» [x,y]=ode45('xyz295f',[0,4],0.4);» plot(x,y,'r.-')实验内容(包括实验具体内容、算法分析、源代码等等):绘制dy/dx=sin(x)sin(y)的斜率场并选取初始值,在斜率场中画出解轨线。
你遇到什么问题?怎么解决?实验结果与讨论:实验结果:实验讨论:通过这次试验让我更加的熟悉用MATLAB作图。
指导教师意见:签名:年月日。
《Matlab》课内实验报告姓名:袁清晨学号:1009300131学院:理学院班级:数学101课程名称:Matlab语言程序设计实验题目:Matlab的图形绘制和字符串运算指导教师:2012年03月20日一、实验目的1. 掌握Matlab 中绘图函数的使用;2. 掌握Matlab 中图形控制命令的使用; 4. 掌握Matlab 中的字符串运算函数的使用。
二、实验内容和结果1. 用plot 命令绘制函数1)ln()(*)(22+=x x sh x x y 的图像(注意定义域)。
加标题,x 轴y 轴标注,在点))2(,2(y 处用text 命令加标注。
>> x=linspace(-2*pi,2*pi);>> y=x.^2.*((exp(x)-exp(-x))./2)./(log(x.^2)+1); >> plot(x,y);>> title('x^2*sh(x)/(ln(x^2)+1)'); >> xlabel('x-axis'); >> ylabel('y-axis');>> a=2^2*((exp(2)-exp(-2))/2)/(log(2^2)+1); >> text(2,a,'(2,y(2))');2.将绘图窗口分成两行两列四个子窗口,第一个窗口用mesh 绘制22y x z +=,第二个窗口用surf 绘制22y x z +=,第三个窗口用plot3绘制⎪⎩⎪⎨⎧===t z t t y t t x 2)sin()cos(,第四个窗口用ezplot 绘制122=+y x 。
>> x=-2:0.3:2; >> y=x;>> [X,Y]=meshgrid(x,y); >> Z=sqrt(X.^2+Y.^2); >> subplot(2,2,1); >> mesh(X,Y,Z); >> subplot(2,2,2); >> surf(X,Y,Z); >> t=-2:0.2:2; >> x=t.*cos(t);>> y=t.*sin(t); >> z=2.*t;>> subplot(2,2,3) >> plot3(x,y,z,'b') >>subplot(2,2,4);>> ezplot('x.^2+y.^2=1');3.用plot 在]2,2[ππ-内绘制)sin(x x y =的图形;利用hold 命令保持绘图窗口;在相同的范围内绘制)exp(x y =的图形。
实验一 Matlab基础知识一、实验目的:1.熟悉启动和退出Matlab的方法。
2.熟悉Matlab命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握Matlab各种表达式的书写规则以及常用函数的使用。
二、实验内容:1.求[100,999]之间能被21整除的数的个数。
(rem)2.建立一个字符串向量,删除其中的大写字母。
(find)3.输入矩阵,并找出其中大于或等于5的元素。
(find)4.不采用循环的形式求出和式6312ii=∑的数值解。
(sum)三、实验步骤:●求[100,199]之间能被21整除的数的个数。
(rem)1.开始→程序→Matlab2.输入命令:»m=100:999;»p=rem(m,21);»q=sum(p==0)ans=43●建立一个字符串向量,删除其中的大写字母。
(find)1.输入命令:»k=input('’,’s’);Eie48458DHUEI4778»f=find(k>=’A’&k<=’Z’);f=9 10 11 12 13»k(f)=[ ]K=eie484584778●输入矩阵,并找出其中大于或等于5的元素。
(find)1.输入命令:»h=[4 8 10;3 6 9; 5 7 3];»[i,j]=find(h>=5)i=3 j=11 22 23 21 32 3●不采用循环的形式求出和式的数值解。
(sum)1.输入命令:»w=1:63;»q=sum(2.^w)q=1.8447e+019实验二 Matlab 基本程序一、 实验目的:1. 熟悉Matlab 的环境与工作空间。
2. 熟悉M 文件与M 函数的编写与应用。
3. 熟悉Matlab 的控制语句。
4. 掌握if,switch,for 等语句的使用。
二、 实验内容:1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。
实验二Matlab图像代数运算和几何变换一、实验目的1、掌握不同图像类型的转换2、掌握图像代数运算和几何变换的方法;3、掌握灰度级插值法的实验方法。
二、实验内容1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(p69-73);2、练习课本6.3.2(p139-p143)图像代数运算的内容;3、练习图像平移 (p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p160)Matlab实现例题;4、练习灰度级插值法(p171)。
三、实验步骤和结果1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(1)mat2gray()函数I=imread('rice.png');>> J=filter2(fspecial('sobel'),I);>> K=mat2gray(J);>> imshow(I);>> figure,imshow(K)(2)、grayslice()函数>> I=imread('snowflakes.png');>> X=grayslice(I,16);>> imview(I)imview(X,jet(16))(3)、rgb2ind()函数> RGB=imread('peppers.png');>> imshow(RGB);>> figure,imshow(RGB)>> [X,map]=rgb2ind(RGB,128);>> figure,imshow(X,map) (4)、im2bw()函数>> load trees>> BW=im2bw(X,map,0.4);>> figure,imshow(X,map)>> figure,imshow(BW)(5)、ind2gray()函数load trees>> I=ind2gray(X,map);>> figure,imshow(X,map)>> figure,imshow(I)(6)、dither()函数>> RGB=imread('peppers.png'); >> [X,map]=rgb2ind(RGB,256); >> I=dither(RGB,map);>> BW=dither(I);>> imshow(RGB,map);>> figure,imshow(RGB,map); >> figure,imshow(BW)Result:(1)转换后图像(2)索引色图像(3)索引色图像(4)索引色图像(4)二值化后的图像(5)转换后的灰度图像(6)索引色图像(6)抖动转换图像2、练习课本6.3.2(p139-p143)图像代数运算的内容(1)加法运算I=imread('rice.png');>> figure(1),imshow(I,[])>> I2=imread('cameraman.tif')>> figure(2),imshow(I2,[])>> K=imadd(I,I2,'uint16');>> figure(3),imshow(K,[])>> I=imread('lena.bmp');>> I2=imadd(I,50);>> figure(1),imshow(I)>> figure(2),imshow(I2)(2)、减法运算>> I=imread('rice.png'); >> I2=imread('cameraman.tif'); >> I3=imsubtract(I,I2);>> figure,imview(I3)(3)乘法&除法运算>> I=imread('lena.bmp');>> I2=immultiply(I,0.5);>> figure,imshow(I)>> figure,imshow(I2)>> I3=immultiply(I,1.5);>> figure,imshow(I3)>> I4=imdivide(I,0.5);>> figure,imshow(I4)>> I5=imdivide(I,1);>> figure,imshow(I5)Result:(1)加法运算后的图像(1)加入常数后的图像(2)减法运算(3)乘以0.5后的图像乘以1后的图像除以0.5后的图像除以1后的图像3、练习图像平移 (p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p160)Matlab实现例题;(a)图像平移>> I=imread('trees.tif');>> figure,imshow(I)>> I=double(I);>> I_movesult=zeros(size(I));>> H=size(I);>> Move_x=50;>> Move_y=50;>>I_movesult(Move_x+1:H(1),Move_y+1:H(2))=I(1:H(1)-Move_x,1:H(2)-Move_y);>> figure,imshow(uint8(I_movesult))(b)图像比例变换J=imread('trees.tif');>> figure,imshow(J);>> X1=imresize(J,2);>> X2=imresize(J,0.5);>> figure,imshow(X1)>> figure,imshow(X2)(C)图像旋转变换>> I=imread('peppers.png');>> figure,imshow(I)>> X1=imrotate(I,30,'nearest');>> figure,imshow(uint8(X1))>> X2=imrotate(I,45,'nearest');>> figure,imshow(uint8(X2))>> X3=imrotate(I,60,'nearest');>> figure,imshow(uint8(X3))>> X4=imrotate(I,90,'nearest');>> figure,imshow(uint8(X4))(d)图像镜像变换>> I=imread('forest.tif');>> I=double(I);>> figure,imshow(uint8(I));>> H=size(I);>> figure(2),>> I2(1:H(1),1:H(2))=I(H(1):-1:1,1:H(2));>> imshow(uint8(I2));>> figure,imshow(uint8(I2));>> I3(1:H(1),1:H(2))=I(1:H(1),H(2):-1:1);>> figure,imshow(uint8(I3));>> I4(1:H(1),1:H(2))=I(H(1):-1:1,H(2):-1:1);>> figure,imshow(uint8(I4));(e)图像切割>> I1=imread('peppers.png');>> I2=imcrop(I1,[75 68 220 100]);>> imview(I2)I3=imcrop(I1,[30 40 120 100]);>> imview(I3)(a)平移后的图像(b)放大后图像(b)缩小后的图像(c)旋转30°后的图像旋转45°后的图像旋转60°后的图像旋转90°后的图像(d)原始图像垂直镜像水平镜像对角镜像(e)原始图像一次切割后图像二次切割后图像4、练习灰度级插值法(p171)>> I=imread('lena.bmp');>> X1=imresize(I,1);>> X2=imresize(I,1,'bilinear');>> X3=imresize(I,1,'bicubic');>> figure,imshow(X1)>> figure,imshow(X2)>> figure,imshow(X3)最近邻差值法双线性插值法三次插值法四、实验体会在本次实验中掌握不同图像类型的转换,掌握了转换函数及其语法格式,如ind2rgb()函数将索引图像转换成真彩色。
.实验报告(201 /201 学年第学期)课程名称实验名称二维图形与三维图形的绘制实验时间年月日实验室指导教师学生姓名学号班级专业实验报告三、实验内容及原理(包括硬件原理图、算法、逻辑框图,关键代码等,可续页)(一)二维图形的绘制1、绘制二维曲线的基本函数:○1plot函数plot函数的基本调用格式为:plot(x,y);其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例,绘制参数方程曲线。
程序如下:含多个输入参数的plot函数调用格式为:p lot(x1,y1,x2,y2,…,xn,yn);含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n);例,用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5x sin(2πx)及其包络线。
程序如下:○2双纵坐标函数plotyyplotyy函数是MATLAB 5.X新增的函数。
它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。
调用格式为:plotyy(x1,y1,x2,y2);其中x1-y1对应一条直线,x2-y2对应另一条曲线。
横坐标的标度相同,纵坐标有两个,左纵坐标用于x1-y1数据对,右纵坐标用于x2-y2数据对。
2、绘制二维图形的其他函数在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项);stairs(x,y,选项);stem(x,y,选项);fill(x1,y1,选项1,x2,y2,选项2,…);例,分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。
程序如下:(二)三维图形的绘制1、绘制三维曲线的基本函数plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n); 例,绘制空间曲线。
程序如下:2、绘制三维曲面的函数surf函数和mesh函数的调用格式为:surf(x,y,z,e);mesh(x,y,z,e);例,绘制两个直径相等的圆管的相交图形。
MATLAB绘画实验报告MATLAB绘画实验报告引言:MATLAB是一种强大的科学计算软件,它不仅可以进行数值计算、数据分析和模拟仿真等工作,还可以用于绘制各种图形。
在本次实验中,我将通过使用MATLAB进行绘画,探索其绘图功能的强大之处。
一、绘制基本图形首先,我使用MATLAB绘制了一些基本图形,如直线、曲线和点等。
通过设置不同的参数,我可以控制图形的形状、颜色和线条样式等。
这为我后续的绘图工作奠定了基础。
二、绘制二维图形接下来,我使用MATLAB绘制了一些二维图形,如折线图、散点图和柱状图等。
通过输入数据并选择合适的绘图函数,我可以将数据以直观的方式展示出来。
例如,我可以使用折线图来展示某个变量随时间的变化趋势,或者使用散点图来展示两个变量之间的关系。
三、绘制三维图形除了二维图形,MATLAB还可以绘制各种各样的三维图形。
我使用MATLAB绘制了一些三维曲面图和三维散点图。
通过设置坐标轴和数据,我可以将复杂的数据以立体的方式展示出来。
这对于研究三维数据的分布和趋势非常有帮助。
四、绘制动画除了静态图形,MATLAB还可以绘制动画。
我使用MATLAB编写了一些简单的动画程序,如小球的运动轨迹和图形的变换等。
通过控制时间和参数,我可以实现图形的动态变化,使得观察者可以更好地理解图形背后的规律和特点。
五、图形处理与分析MATLAB不仅可以绘制图形,还可以对图形进行处理和分析。
我使用MATLAB 对一些图形进行了平滑处理、噪声去除和边缘检测等操作。
这些图形处理技术可以帮助我们更好地理解图像中的信息,并提取出我们感兴趣的特征。
六、应用实例最后,我将MATLAB的绘图功能应用到了实际问题中。
我使用MATLAB绘制了一幅地形图,并通过设置不同的参数,展示了地形在不同条件下的变化。
这对于地质学家和地理学家来说非常有用,可以帮助他们更好地理解地球表面的形态和特征。
结论:通过本次实验,我深刻体会到了MATLAB绘图功能的强大之处。