实验二MATLAB绘制图形

合集下载

MATLAB实验答案(桂电)

MATLAB实验答案(桂电)

实验一 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绘图帽子哥版

实验二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]的图形。

数学2-用MATLAB绘制二维-三维图形(lq)

数学2-用MATLAB绘制二维-三维图形(lq)
ans = 8 9
[i,j,v]=find(A) 返回矩阵A中非零元素所在的行i,
列j,和元素的值v(按所在位置先后 顺序输出)
A=[3 2 0; -5 0 7; 0 0 1]; [i,j,v]=find(A)
i= 1 2 1 2 3 j= 1 1 2 3 3 v = 3 -5 2 7 1
[X,Y]=meshgrid(x,y) 3)根据函数表达式生成全部网格节点出对应的函数值矩阵z: z=f(X,Y) 4)顺序连接已经产生的空间点(x,y,z)绘制相应曲面: mesh(X,Y,Z) surf(X,Y,Z) shading flat %去除网格线。
例2-7画出矩形域[-1,1]×[-1,1]旋转抛物面:z=x2+y2. x=linspace(-1,1,100); y=x; [X,Y]=meshgrid(x,y); %生成矩形区[-1,1]×[-1,1]的网格坐标矩阵 Z=X.^2+Y.^2; subplot(1,2,1) mesh(X,Y,Z); subplot(1,2,2) surf(X,Y,Z); shading flat; %对曲面z=x2现方式做保护处理对用户上传分享的文档内容本身不做任何修改或编辑并不能对任何下载内容负责
用matlab绘制二维、三维图形
2.1二维图形的绘制
2.1.1 二维绘图的基本命令 matlab中,最常用的二维绘图命令是plot。
使用该命令,软件将开辟一个图形窗口,并 画出连接坐标面上一系列点的连线。
例2-5 采用不同形式(直角坐标、参数、极坐标),画出 单位圆x2+y2=1的图形。
分析:对于直角坐标系方程,y= 1 x2,对于参数方 程x=cost,y=sint,t[0,2 pi] ,利用plot(x,y)命令可以实现。 而在极坐标系中单位圆为r=1(1+0t),利用polar(t,r)命 令实现。

Matlab习题与答案2

Matlab习题与答案2

实验二二维/三维数据的可视化一、实验目的熟悉掌握简单的图形绘制函数;掌握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个区为当前活动区。

实验Matlab三维作图的绘制

实验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 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绘图一答案

2.实验二MATLAB绘图一答案

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实验二

MATLAB实验二
x,y变化范围均为 [0 2π]。
3. 三维图形
• 三、视点
➢view(az,el)-------------设置观察点方向
az为方位角,el为仰角。 • 方位角为视点位置在XY平面上的投影与X轴形成的角度,
正值表示逆时针,负值表示顺时针。 • 仰角为XY平面的上仰或下俯角,正值表示视点在XY平
面上方,负值表示视点在XY平面下方。
figure grid gtext hold subplot text title xlabel ylabel
创建图形窗口 放置坐标网格线 用鼠标放置文本 保持当前图形窗口内容 创建子图 放置文本 放置图形标题 放置X轴坐标标记 放置Y轴坐标标记
3. 三维图形 • 一、 plot3函数
• 将二维函数plot的功能扩展到三维空间,绘制三维图形。 • 函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)
theta=[0:0.01:2*pi];
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho); 绘制极坐标图命令
title('polar plot');
例9、程序:
theta=linspace(0, 2*pi);
r=cos(4*theta);
polar(theta, r);
所组成的画面。
4. 动画设计
• 【例14】 播放一个不断变化的眼球程序段。
• m=moviein(20); 建立一个20个列向量组成的矩阵
• for j=1:20

plot(fft(eye(j+10))) %绘制出每一幅眼球图并保存到m矩阵中
• m(:,j)=getframe;

实验二MATLAB的绘画功能

实验二MATLAB的绘画功能

实验二 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 =-。

国家开放大学《Matlab语言及其应用》实验报告(第三章--绘制二维和三维图形)

国家开放大学《Matlab语言及其应用》实验报告(第三章--绘制二维和三维图形)
国家开放大学《Matlab语言及其应用》实验报告
——绘制二维和三维图形
姓名:学号:
实验名称
绘制二维和三维图形
实验目标
利用Matlab常见函数完成二维图形的绘制和图形的标注;实现三维曲线和曲面图形的绘制。
实验要求
熟悉Matlab基本绘图函数、图形处理函数,了解三维曲线和曲面图形的绘制方法。
实验步骤
1、用Matlab基本绘图函数绘制二维图形:根据已知数据,用plot函数画出正弦函数曲线,并进行相应标注。
enon
实验内容
1.二维曲线绘图
例:精细指令实例
2.三维曲线绘图
【例】三维曲线绘图基本指令演示一:plot3
t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);
plot3(x,y,z,'b-',x,y,z, 'rd')三维曲线绘图(蓝实线和红菱形)
box on
legend('链','宝石')在右上角建立图例
subplot(121);
surf(x1,y1,z1);
subplot(122);
[x2,y2,z2]=sphere (30);
surf(x2,y2,z2);
clear;clf;
z=peaks;
subplot(1,2,1);mesh(z);% 透视
hidden off
subplot(1,2,2);mesh(z);%不透视
2、用三维曲线绘图基本指令plot 3绘制三维曲线图:t=0~2pi;x=sin(t);y=cos(t);z=cos(2*t);用plot3函数画出关于x,y,z的三维曲线图,并适当加标注。

西安交通大学数学实验报告(用MATLAB绘制二维、三维图形)

西安交通大学数学实验报告(用MATLAB绘制二维、三维图形)

实验报告(二)完成人: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中对绘制函数图像的输入方法有不同的要求,故此类题分两个版本来求解。

MATLAB实验报告绘图

MATLAB实验报告绘图
t=[54 21 35;
68 54 35;
45 25 12;
48 68 45;
68 54 69];
x=sum(t);
h=pie(x);
textobjs=findobj(h,'type','text');
str1=get(textobjs,{'string'});
val1=get(textobjs,{'extent'});
运行图像
4、采用模型 画一组椭圆
输入程序:th = [0:pi/50:2*pi]';
a = [0.5:.5:4.5];
X = cos(th)*a;
Y = sin(th)*sqrt(25-a.^2);
plot(X,Y),axis('equal'),xlabel('x'), ylabel('y')
title('A set of Ellipses')
oldext=cat(1,val1{:});
names={'商品一;'商品二';'商品三'};
str2=strcat(names,str1);
set(textobjs,{'string'},str2)
val2=get(textobjs,{'extent'});
newext=cat(1,val2{:});
xlable('sin(t)'),ylable('cos(t)'),zlable('t');
gridon;
输出图像
9、用MATLAB绘制饼图

MATLAB实验报告

MATLAB实验报告

班级:通信班姓名:彭羊平学号: 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、熟悉各种数学函数,并通过图形函数画出。

数学实验报告2函数的可视化与Matlab作图[1]6页word

数学实验报告2函数的可视化与Matlab作图[1]6页word

实验报告实验课程名称数学实验与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的图形绘制和字符串运算

实验二  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实验报告_2

Matlab实验报告_2

实验一 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图像代数运算和几何变换

实验报告二 Matlab图像代数运算和几何变换

实验二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()函数将索引图像转换成真彩色。

MATLAB实验二:二维图形与三维图形的绘制

MATLAB实验二:二维图形与三维图形的绘制

.实验报告(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的绘图功能应用到了实际问题中。

我使用MATLAB绘制了一幅地形图,并通过设置不同的参数,展示了地形在不同条件下的变化。

这对于地质学家和地理学家来说非常有用,可以帮助他们更好地理解地球表面的形态和特征。

结论:通过本次实验,我深刻体会到了MATLAB绘图功能的强大之处。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

grid on %在所画出的图形坐标中加入栅格
绘制图形如下
50
10
1
0.8
40
10
0.6
0.4
30
10
0.2
0
1020
-0.2
-0.4
1010
-0.6
-0.8
0
10
-1
-2
0
2
-2
0
2
10
10
10
10
10
10
如果在图中不加栅格
程序如下:
clear x=logspace(-1,2);%在10^(-1)到10^2之间产生50个 对数等分的行向量 subplot(121); loglog(x,10*exp(x),'-p') subplot(122); semilogx(x,cos(10.^x))
(2)plot(x,y): 基本格式,x和y可为向量或矩阵. 1. 如果x,y是同维向量,以x元素为横坐标,以y元素 为纵坐标绘图. 2. 如果x是向量,y是有一维与x元素数量相等的矩阵, 则以x为共同横坐标, y元素为纵坐标绘图,曲线数目 为y的另一维数. 3. 如果x,y是同维矩阵,则按列以x,y对应列元素为 横、纵坐标绘图,曲线数目等于矩阵列数.
y=2*exp(-0.5*x).*cos(4*pi*x);
2
plot(x,y)
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
1
2
3
4
5
6
7
例4 绘制曲线
t=(0:0.1:2*pi);
x=t.*sin(3*t);
y=t.*sin(t).*sin(t);
plot(x,y)
5
4.5
4
3.5
3
2.5
2
1.5
1
theta = (-pi:0.01:pi);
rho(1,:) = 2*sin(5*theta).^2;
rho(2,:) = cos(10*theta).^3;
rho(3,:) = sin(theta).^2;
rho(4,:) = 5*cos(3.5*theta).^3;
120
for i = 1:4
% 极坐标图形输出函数 150
clear t=0:pi/50:10*pi; plot3(t,sin(t),cos(t),'r:')
grid on %添加网格
1
0.5
0
-0.5
-1 1
0.5
0 -0.5
-1 0
40 30 20 10
三维网格图
mesh函数为数据点绘制网格线: mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标 位置 mesh(x, y, z) —— x, y, z分别为三维空间的坐标位置
0.5
0
-6
-4
-2
0
2
4
6
2、多条曲线绘图格式
plot(x1, y1, x2, y2,…):.在同一坐标系中绘制多个图形,以x1,x2…元素为横 坐标值,
对应的y1,y2…元素为纵坐标绘图。
注; x=linspace(0,7) %在0到7之间等分取100个分点
例5 程序如下: clear %可不写 x=linspace(0,7); y1=sin(2*x); y2=sin(x.^2); y3=(sin(x)).^2; plot(x,y1,x,y2,x,y3)
例12 绘制正弦和余弦曲线,并加入网格和标注
t=(0:0.1:10); y1=sin(t);
正弦和余弦曲线 1
0.8 cos(t)
0.6
正弦 余弦
0.4
y2=cos(t);
0.2
正 弦 &余 弦
plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi];
0
-0.2 sin(t)
每行n个,共m行,区号按行优先编号,且选定第p个 区为当前活动区. 在每一个绘图区允许以不同的坐 标系单独绘制图形.
采用图形窗口分割方法进行比较显示
clear t=0:pi/10:2*pi; y1=sin(t);y2=cos(t);y3=cos(t+pi/2);y4=cos(t+pi); subplot(2,2,1); plot(t,y1); %将图形窗口分割成两行两列,y1为第1行第1列 subplot(2,2,2); plot(t,y2); %将图形窗口分割成两行两列,y2为第1行第2列 subplot(2,2,3); plot(t,y3); %将图形窗口分割成两行两列,y3为第2行第1列 subplot(2,2,4); plot(t,y4); %将图形窗口分割成两行两列,y4为第2行第2列
fplot('cos(tan(pi*x))',[ 0,1],1e-4)
1 0.8 0.6 0.4 0.2
0 -0.2 -0.4 -0.6 -0.8
-1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
3、图形窗口的分割
subplot函数调用格式: subplot(m,n,p) 该函数将当前图形窗口分成m×n个绘图区,即
polar(theta,rho(i,:)) 180
pause
end
210
240
90 2 60
1.5
1
0.5
30 0
330
300 270
3)设定轴的范围axis([xmin xmax ymin ymax])
4)文字标示
text(x, y, s); %指定位置加标注
gtext(‘字符串’) %利用鼠标在图形的某一位置标示 t字itl符e(串‘字.符串’) %在所画图形的最上端显示说明该 图 形标题的字符串. xlabel(‘字符串’),ylabel(‘字符串’) %设置x,y坐 轴 的名称.
4
5
6
7
hold on;
%后续图形叠加显示
plot(t,y2);
hold on;
plot(t,y3);
二、三维图形
1、 基本的三维绘图命令
三维曲线图
plot3函数可以绘制三维曲线:
plot3(x1, y1, z1, 's1', x2, y2, z2, 's2'…)
例13 函数plot3绘制的三维曲线图
绘制图形如下:
1050
1
0.8
1040
0.6
0.4
1030
0.2
0
20
10
-0.2
-0.4
10
10
-0.6
-0.8
0
10
-1
10-2
100
102
10-2
100
102
2)极坐标图 polar函数用来绘制极坐标图, 其调用格式: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标半径,选项的内
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
例6 分析下列程序绘制的曲线. x1=linspace(0,2*pi); x2=linspace(0,3*pi); x3=linspace(0,4*pi); 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)
容与plot函数相似
例10 绘制r=sin(t)cos(t)的极坐标图,并标记数据点.
程序如下:
t=0:pi/50:2*pi;
r=sin(t).*cos(t);
polar(t,r,'-*');
120 150
90 0.5 60
0.4
0.3 30
0.2
0.1
180
0
210
330
240
300
270
例11 画出一花瓣状图形
axis square %将图形设置为正方形
5)legend(‘字符串1’,‘字符串2’,…,‘字符串n’) 在屏幕上开启一个小视窗,然后依据绘图命令 的先后次序,用对应的字符串区分图形上的线.
6)surf(x,y.z.c)绘制表面图和亮度
5、 图形修饰与控制
title —— 给图形加标题 xlable —— 给x轴加标注 ylable —— 给y轴加标注 text —— 在图形指定的任意位置加标注 gtext —— 利用鼠标将标注加到图形任意位置 grid on —— 打开坐标网格线 grid off——关闭坐标网格线 legend —— 添加图例 axis —— 控制坐标轴刻度
fplot函数调用格式: fplot(fname,lims,tol,选项) 其中fname为函数名,以字符串形式出现,lims为x,y 的取值范围,tol为相对允许误差,其系统默认值为 2e-3. 选项定义与plot函数相同.
例8 用fplot函数绘制f(x)=cos(tan(πx))的曲线.
程序如下:
-0.4
y=[-0.3; 0.7]; s=['sin(t)';'cos(t)']; text(x, y, s);
-0.6
-0.8
-1
0
2
4
6
8
相关文档
最新文档