文档库 最新最全的文档下载
当前位置:文档库 › MATLAB仿真在数据可视化表达中的应用实验

MATLAB仿真在数据可视化表达中的应用实验

MATLAB仿真在数据可视化表达中的应用实验
MATLAB仿真在数据可视化表达中的应用实验

西南林学院

本科毕业(设计)论文

(二○○五届)

题目:MATLAB仿真在数据可视化表达中的应用实验教学院系计算机信息科学系专业电子信息工程2001 学生姓名赵江芹

指导教师徐明远(教授)林华芳(副教授)

评阅人

2005年6月1日

MATLAB仿真在数据可视化表达中的应用实验

赵江芹

(西南林学院计算机与信息科学系,云南昆明 650224)

摘要庞大的数据和复杂的计算过程给用户带来极大的不便,本课题主要解决将数据或设计结果用图形来表示,对一般的高级语言来说,绘制图形,是一项较为复杂的工作。而MATLAB给用户提供了一个绘制图形的平台,提供具有自身特点的编程语言,来实现大量数据的可视化。

关键词MATLAB 数据可视化三维命令 m语言 Simulink

the Application of Data Visualization Expression In the Matlab

Simulink

Zhao Jiangqin

(Dept. of Computer and Information Science, Southwest Forestry College, Kunming Yunnan

650224, China)

Abstract The huge data and complicated calculation processes bring tremendousness for user. The project focuses on using the Matlab graphics to express the complicated data or the design results. Because of drawing graphics with deluxe language is a complicated work, the MATLAB provides a platform which has its own characters and offers a convenient method to draw the graphics with great deal of data.

Key Words Matlab; m language; Simulink; Data Visualization ;3-D order

目录

前言 (1)

开发背景及研究方法 (1)

1数据可视化的定义 (1)

2发展数据可视化的意义 (2)

3研究内容 (2)

实验一三维曲线图形 (2)

实验二三维曲面图形 (6)

实验三三维特殊图形 (13)

实验四动画 (18)

实验五立体解析几何 (20)

结论 (24)

参考文献 (25)

致谢 (26)

西南林学院2005届本科毕业论文

前言

为了把计算机更好的运用于大学的课程教育和科学研究,从20世纪80年代开始,出现了多种科学计算语言,也称为数学软件。经过十多年的发展和竞争,已经商品化的有MATLAB,MAPLE,MATHMATICA等。它们的功能大同小异,又各有千秋。就易学性和普及性而言,首推MATLAB语言。

MATLAB是MATrix LABoratory的缩写,早期主要用于现代控制中复杂的矩阵、向量的各种运算。由于 MATLAB提供了强大的矩阵处理和绘图功能,很多专家因此在自己擅长的领域用它编写了许多专门的MATLAB工具包(toolbox)。由于MATLAB功能的不断扩展,所以现在的MATLAB已不仅仅局限于现代控制系统分析和综合应用,它已是一种包罗众多学科的功能强大的“技术计算语言”。MATLAB以矩阵作为基本编程单元,它提供了各种矩阵的运算与操作,并有较强的绘图功能。MATLAB集科学计算、图像处理、声音处理于一身,是一个高度的集成系统,有良好的用户界面,并有良好的帮助功能。MATLAB不仅流行于控制界,在机械工程、生物工程、语音处理、图像处理、信号分析、计算机技术等各行各业中都有极广泛的应用。

MATLAB自产生之日起就具有方便的数据可视化功能。新版本的MATLAB 对整个图形处理功能做了很大的改进和完善,它不仅具有一般数据可视化软件都具有的功能,还具有一些其他软件所没有的功能,同时对一些特殊的可视化要求,例如图形动画等,MATLAB也有相应的功能函数。

开发背景及研究方法

1数据可视化的定义

数据可视化(Data Visualization)技术指的是运用计算机图形学和图像处理技术,将数据换为图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域。数据可视化概念首先来自科学计算可视化,科学家们不仅需要通过图形图像来分析由计算机算出的数据,而且需要了解在计算过程中数据的变化。随着计算机技术的发展,数据可视化概念已大大扩展,它不仅包括科学

1

MATLAB仿真在数据可视化表达中的应用实验

计算数据的可视化,而且包括工程数据和测量数据的可视化。

2发展数据可视化的意义

怎样来分析大量、复杂和多维的数据呢?答案是要提供象人眼一样的直觉的、交互的和反应灵敏的可视化环境。数据可视化技术的主要特点是:

(1)交互性。用户可以方便地以交互的方式管理和开发数据。

(2)多维性。可以看到表示对象或事件的数据的多个属性或变量,而数据可以按其每一维的值,将其分类、排序、组合和显示。

(3)可视性。数据可以用图象、曲线、二维图形、三维体和动画来显示,并可对其模式和相互关系进行可视化分析。历史证明,人类的视觉在人类的科学发现中发挥过杰出的作用。通常在可视化方面,关键技术的出现,就是重大科学发现的前奏。

只有将数据和信息用图形和图像表示出来,才有可能为获得十分宝贵的隐知识创造条件。总之,数据可视化可以大大加快数据的处理速度,使时刻都在产生的海量数据得到有效利用;可以在人与数据、人与人之间实现图像通信,从而使人们能够观察到数据中隐含的现象,为发现和理解科学规律提供有力工具;可以实现对计算和编程过程的引导和控制,通过交互手段改变过程所依据的条件,并观察其影响。

3研究内容

以MATLAB6.5软件具有的数据可视化功能,实现把大量、复杂、多维的数据用图形表示出来。学科领域范围内,教学大纲要求的、较为有代表性的例子为题。主要是通过m文件仿真,运用三维绘图命令来绘制曲线图形、曲面图形、特殊三维图形、动画,来实现数据的可视化。并准确、简要的描述了相关的基本原理,着重介绍了三维指令的用法,列出Matlab的示范程序及注释,并给出编程要点,得出仿真结果,并对结果进行讨论和思考。

实验一三维曲线图形

实验目的

2

西南林学院2005届本科毕业论文

1.运用三维曲线绘图命令(plot3)来绘制图形。

2.加深对相关命令和数学函数的理解。

实验原理

Plot3是基本的绘图命令,它把数学函数用曲线描绘出来。当输入参数是向量(x,y,z),则plot3(x,y,z)生成一条通过各个(x,y,z)点的曲线。当输入参数是三个维数相同的矩阵X,Y,Z,plot3(X,Y,Z)将绘制X,Y,Z每一列的数据曲线。[1]

实验方法与内容

1.本实验要掌握的命令

Plot3:绘制三维曲线图形。

Stem3:绘制三维枝干图。

Axis:设置坐标属性。

Axis square:使x轴、y轴和z轴的长度相同。

Axis equal:使x轴、y轴和z轴的比例尺相同。

Axis(xmin,xmax,ymin,ymax,zmin,zmax):设置坐标轴的范围。

Grid on:打开坐标网格。

Grid off:关闭坐标网格。

Hold:在原有图形上添加图形。

Hold on:保持当前图形窗内容。

Hold off:解除当前保持状态。

View(方位角,仰俯角):设置视角。

方位角(Azimuth):视点与原点间的连线在x-y平面上的投影与y轴所成的夹角,一个正的方位角标志着标准视图将向逆时针方向旋转某个角度。

仰俯角(Elevation):视点与原点间的连线在x-y平面上的投影与x-y平面所成的夹角,仰俯角用来表明方位角的位置是在x-y平面的上方还是下方。

下面的坐标系表示了它们之间的关系:

3

MATLAB 仿真在数据可视化表达中的应用实验

4

图1-1 方位角和仰俯角的关系图

对于一个二维图形,缺省方位角是0°,仰俯角是90°;对于三维图形,缺省方位角是-37.5°,仰俯角是30°。

2.实验要点

(1)注意字母大小写的区分,大小写字母代表不同的变量。

(2)可通过改变命令axis 的参数来改变坐标轴的比例尺。

(3)可改变命令view(方位角,仰俯角)中的角度,来改变视角。

3.实验内容

例1:当输入参数是向量(x,y,z)时,plot3(x,y,z)生成的曲线。

程序1:[2]

t=0:pi/50:10*pi; %定义t 的范围

plot3(sin(t),cos(t),t) %画三维线状图

axis square; %使各坐标轴的长度相等

grid on %打开坐标网格线

程序运行结果如图1所示:

图1-2 三维螺旋线图

西南林学院2005届本科毕业论文

5

例2:当输入参数是矩阵X ,Y ,Z 时,plot3(X,Y ,Z)生成的曲线程序如下: 程序2:[2]

[X,Y]=meshgrid([-2:.1:2]); %生成网格点坐标生成

Z=X.*exp(-X.^2-Y .^2); %定义函数Z

plot3(X,Y ,Z) %绘制三维线状图

grid on %打开坐标网格

程序运行结果如图2所示:

图1-3 矩阵线状图

程序3:[1]

d=90; %定义d 的值

t=(0:(d-1))/d*6*pi; %定义t 的取值范围

y=cos(t); %定义y 为余弦函数

z=zeros(1,d); %定义一个零矩阵z

plot3(t,y,z) %绘制线状图

hold on %保持当前图形窗口中内容

z=sin(t); %定义z 为正弦函数

y=zeros(1,d); %定义一个零矩阵y

stem3(t,y,z,'r-') %绘制三维枝干图并指定为红色实线

hold on %保持当前图形窗口中内容

z=zeros(1,d); %定义一个零矩阵z

y=zeros(1,d); %定义一个零矩阵y

plot3(t,y,z,'k') %绘制三维线状图并指定颜色为黑色

MATLAB 仿真在数据可视化表达中的应用实验

6

grid %打开坐标网格线

hold off %解除当前保持状态

view([45 30]) %设置视角

程序运行结果如图3所示:

图1-4 线状图和枝干图在同一窗口的生成

实验步骤

1.进入Matlab 之后,从File →New →M-File 新建一个M 文件。

2.在打开的程序编辑框中输入程序1,保存并运行,得到图1-2所示。

3.新建一个M 文件,在打开的程序编辑框中输入程序2,保存并运行,得

到图1-3所示。

4.新建一个M 文件,在打开的程序编辑框中输入程序3,保存并运行,得

到图1-4所示。

参考文献

[1] 徐明远,邵玉斌.Matlab 仿真在通信和电子工程中的应用.西安电子科技大学出版

社,2005

[2] 施晓红,周佳.精通GUI 图形界面编程.北京大学出版社,2003

[3] 陈怀琛,吴大正,高西全.MA TLAB 及在电子信息课程中的应用.北京:电子工业

出版社,2003

[4] 赵红怡,张常年.数字信号处理及MA TLAB 的实现.北京:化学工业出版社,2001

实验二 三维曲面图形

西南林学院2005届本科毕业论文

实验目的

1.运用三维曲面绘图命令(mesh、meshc、meshz、surf、surfl)来绘制图形。

2.加深对矩阵的理解。

实验原理

当矩阵过大用数字形式难以表示时,绘制曲面图形将十分有用。MA TLAB 用x,y平面内矩形网格中的点的z坐标来定义曲面,曲面图形由连接相邻的曲线组成。MATLAB生成网格图和面状图两种形式的曲面图,网格图是一种只对连接曲线着色的曲面图,面状图是对连接线及连接线构成的表面都进行着色。

实验方法与内容

1.本实验要掌握的命令

Mesh:绘制三维网格图。

Meshc:绘制带有基本等高线的网格图。

Meshz:绘制带有基准平面的网格图。

Surf:绘制面状图。

Surfl:绘制设定光源方向的面状图。

Subplot(m,n,i):将整个图形窗口划分成m×n个子窗口矩阵,然后选择第i 个子窗口作为当前图形窗口。

Shading interp和shading flat:把曲面上的小格平滑掉,使曲面成为光滑表面。

Shading faceted:是默认状态,它使曲面上有小格。

Colormap:设定图形的颜色。

每个MATLAB图形窗口中都有一个彩色矩阵图,一个colormap是由一个n×3的矩阵组成的,矩阵中的每一行由0到1的随机数构成并定义了一种特殊的颜色,这些数定义了R(红)、G(绿)、B(蓝)颜色组合。

Colormap(pink):设定颜色为粉红色。

Colormap(copper):设定颜色为铜色。

Colormap(gray):设定颜色为灰黑色。

Colormap(hsv):色调-饱和度-亮值彩色图。

Colormap(cool):蓝绿和洋红阴影彩色图。

7

MATLAB仿真在数据可视化表达中的应用实验

Colormap(hot):黑-红-黄-白彩色图。

下表是一些典型的RGB颜色的定义:

表2-1RGB矩阵定义的颜色

2.实验要点

(1)掌握绘制曲面图的命令。

(2)注意比较mesh和surf的不同。

(3)根据需要通过colormap()来设定颜色。

(4) x=-8:.25:8;y=x;[X,Y]=meshgrid(x,y);可简化为[X,Y]=meshgrid([-8:.25:8]); 3.实验内容

(1)mesh、meshc、meshz

程序1:[1]

x=-8:.25:8;y=x;[X,Y]=meshgrid(x,y); %生成网格点坐标

R=sqrt(X.^2+Y.^2)+eps; %定义R

Z=sin(R)./R; %生成函数Z

subplot(1,3,1); %分割成的3个子窗口中第一个为当前窗口mesh(Z) %画网格图

title('mesh(Z)'); %给图形加标题

8

西南林学院2005届本科毕业论文

9

subplot(1,3,2); %分割成的3个子窗口中第二个为当前窗口 meshc(Z) %画带有基本等高线的网格图

title('meshc(Z)'); %给图形加标题

subplot(1,3,3); %分割成的3个子窗口中第三个为当前窗口 meshz(Z) %画带有基准平面的网格图

title('meshz(Z)'); %给图形加标题

程序运行结果如图2-1所示:

图2-1 sinc 函数的网格图

(2)命令surf

程序2:[1]

z=peaks(25); %定义一个25×25的高斯分布矩阵

surf(z); %画面状图

shading interp; %把曲面上的小格平滑掉,使曲面成为光滑表面

figure(1) %以第一图形窗口作为当前图形输出窗口

colormap(pink); %设定颜色为粉红色

figure(2) %以第二图形窗口作为当前图形输出窗口

surf(z); %画面状图

colormap(gray); %设定颜色为灰黑色

figure(3) %以第三图形窗口作为当前图形输出窗口

surf(z); %画面状图

shading interp; %把曲面上的小格平滑掉,使曲面成为光滑表面

colormap(copper) %设定颜色为铜色

MATLAB 仿真在数据可视化表达中的应用实验

10

程序运行结果如图2-2、图2-3、图2-4所示:

图2-2 设定颜色为pink 后矩阵的面状图

图2-3设定颜色为gray 后矩阵的面状图

图2-4设定颜色为copper 后矩阵的面状图

(3)命令surfl

程序3:[4]

z=peaks(30); %定义一个30×30的高斯分布矩阵

西南林学院2005届本科毕业论文

11

surfl(z); %画指定光源方向的面状图

shading interp; %把曲面上的小格平滑掉,使曲面成为光滑表面

figure(1) %以第一图形窗口作为当前图形输出窗口

colormap(hsv); %设定颜色

figure(2) %以第二图形窗口作为当前图形输出窗口

surfl(z); %画指定光源方向的面状图

colormap(cool); %设定颜色

figure(3) %以第三图形窗口作为当前图形输出窗口

surfl(z); %画指定光源方向的面状图

shading interp; %把曲面上的小格平滑掉,使曲面成为光滑表面

colormap(hot) %设定颜色

程序运行结果如图2-5、图2-6、图2-7所示:

图2-5 设定颜色为hsv 后矩阵的带光源方向的面状图

图2-6设定颜色为cool 矩阵的带光源方向的面状图

MATLAB 仿真在数据可视化表达中的应用实验

12

图2-7设定颜色为hot 后矩阵的带光源方向的面状图

(4)命令surf 和surfl

程序4:[2]

z=peaks(25); %定义一个25×25的高斯分布矩阵

subplot(1,2,1) %分割成的2个子窗口中第一个为当前窗口

surf(z); %画面状图

shading interp; %把曲面上的小格平滑掉,使曲面成为光滑表面

colormap(hsv); %设定颜色

title('surf(z)'); %给图形加标签

subplot(1,2,2) %分割成的2个子窗口中第二个为当前窗口

surfl(z); %画指定光源方向的面状图

shading interp; %把曲面上的小格平滑掉,使曲面成为光滑表面

colormap(hsv); %设定颜色

title('surfl(z)'); %给图形加标签

程序运行结果如图2-8所示:

图2-8 高斯分布矩阵不带光源方向和带光源方向的图

西南林学院2005届本科毕业论文

对于曲面图形我们可以通过改变shading interp为shading faceted,看其所得运行结果的不同,改变colormap()中的参数得到不同颜色的曲面图形,还可以对比surf和surfl在相同颜色下所得运行结果的不同。

实验步骤

1.进入Matlab之后,从File→New→M-File新建一个M文件。

2.在打开的程序编辑框中输入程序1,保存并运行,得到图2-1所示。

3.新建一个M文件,在打开的程序编辑框中输入程序2,保存并运行,得到图2-2、图2-3、图2-4所示。

4.新建一个M文件,在打开的程序编辑框中输入程序3,保存并运行,得到图2-5、图2-6、图2-7所示。

5.新建一个M文件,在打开的程序编辑框中输入程序4,保存并运行,得到图2-8所示。

参考文献

[1] 徐明远,邵玉斌.Matlab仿真在通信和电子工程中的应用.西安电子科技大学出版

社,2005

[2] 施晓红,周佳.精通GUI图形界面编程.北京大学出版社,2003

[3] 陈传波,金先级.数字图像处理.机械工业出版社,2004

[4] 陈怀琛,吴大正,高西全.MA TLAB及在电子信息课程中的应用.北京:电子工业

出版社,2003

[5] 赵红怡,张常年.数字信号处理及MA TLAB的实现.北京:化学工业出版社,2001

实验三三维特殊图形

实验目的

1.运用三维绘图命令(bar3、bar3h、stem3、contour3、waterfall)来绘制图形。

2.加深对矩阵和数学函数的理解。

实验原理

直方图是平常工作中经常用到的图形,它适用于对不同数据的比较,以及分析各个数据在总体中所占的比例,在MATLAB中用于绘制直方图的三维函数有bar3、bar3h,bar3用于绘制垂直方向的直方图,bar3h用于绘制水平方向的直

13

MATLAB仿真在数据可视化表达中的应用实验

方图,它们都是以输入数据矩阵的每一列为一组数据,并以相同的颜色表示,而把矩阵的行画在一起。[4]

函数(stem3)绘制在x-y平面上扩展的三维枝干图,如果该函数只有一个向量输入参数,MATLAB将首先判断该向量是行向量还是列向量,然后将枝干图绘制在x=1或y=1处。本实验以对复平面上以t为半径的圆上取矢量x、y,绘制三维枝杆图为例,使三维数据可视化,避免输出大量的数据点。

等高线图最常用于地理勘测中的地形标绘,在MATLAB中contour3用于绘制等高线图,它能够自动根据z值的最大值最小值来确定等高线的条数,也可根据给定的参数来取值。[5]

瀑布图(waterfall)和网格图(mesh)是非常相似的,不同的是网格图不像瀑布图那样,把每条曲线都垂下,形成瀑布状。

为了满足视觉效果,MATLAB还提供了动画,使用户看到图形的不同面。实验方法与内容

1.本实验要掌握的命令

Bar3:绘制垂直方向的直方图。

Bar3h:绘制水平方向的直方图。

Stem3:绘制三维枝干图。

Contour3:绘制等高线图。

Waterfall:绘制瀑布图。

View:设置视角。

Shading faceted:使曲面上有小格。

Colormap:设定图的颜色。

Axis:设置坐标轴属性。

2.实验要点

(1)改变view的方位角和俯仰角可变换立体图的视角。

(2)shading faceted换为shading interp则使曲面上的小格平滑掉。

3.实验内容

(1)直方图bar3、bar3h

程序1:[1]

14

西南林学院2005届本科毕业论文

15

y=[5 2 1;8 7 3;9 5 6;5 1 5;4 3 2]; %定义了一个五行三列的矩阵

figure(1) %以第一个图形窗口作为当前图形输出窗口

bar3(y) %创建三维垂直方向直方图

figure(2) %以第二个图形窗口作为当前图形输出窗口

bar3h(y) %创建三维水平方向直方图

程序运行结果如图3-1、图3-2所示:

图3-1 矩阵垂直方向的直方图

图3-2 矩阵水平方向的直方图

从运行的结果我们可以看到,每一矩阵元素由一立方体表示出来,矩阵的每一列都是由相同的颜色表示,同学们可以很直观的看出该矩阵是几行几列的。

(2) 三维枝干图stem3

程序2:[1]

t=(0:127)/128*2*pi; %定义t 的范围

x=t.*sin(t); %定义矢量x

MATLAB 仿真在数据可视化表达中的应用实验

16

y=t.*cos(t); %定义矢量y

stem3(x,y,t,'fill') %以三个矢量x 、y 、t 绘制三维枝杆图,并指定点为实心点 view([65 30]) %设置视角

程序运行结果如图3-3所示:

图3-3 三维枝干图

从运行结果可以看出,是实心点的枝干图,颜色为默认的蓝色,我们可以在stem3(x,y,t)中指定图形的颜色及线型,还可以改变图形的视角。

(3)三维等高线图contour3

程序3:[1]

[x,y,z]=peaks; %定义一高斯分布矩阵

contour3(x,y,z,30) %生成30条等高线图

程序运行结果如图3-4所示:

图3-4 高斯分布矩阵的三维等高线图

MATLAB仿真实验报告

MATLAB 仿真实验报告 课题名称:MATLAB 仿真——图像处理 学院:机电与信息工程学院 专业:电子信息科学与技术 年级班级:2012级电子二班 一、实验目的 1、掌握MATLAB处理图像的相关操作,熟悉相关的函数以及基本的MATLAB语句。 2、掌握对多维图像处理的相关技能,理解多维图像的相关性质 3、熟悉Help 命令的使用,掌握对相关函数的查找,了解Demos下的MATLAB自带的原函数文件。 4、熟练掌握部分绘图函数的应用,能够处理多维图像。 二、实验条件

MATLAB调试环境以及相关图像处理的基本MATLAB语句,会使用Help命令进行相关函数查找 三、实验内容 1、nddemo.m函数文件的相关介绍 Manipulating Multidimensional Arrays MATLAB supports arrays with more than two dimensions. Multidimensional arrays can be numeric, character, cell, or structure arrays. Multidimensional arrays can be used to represent multivariate data. MATLAB provides a number of functions that directly support multidimensional arrays. Contents : ●Creating multi-dimensional arrays 创建多维数组 ●Finding the dimensions寻找尺寸 ●Accessing elements 访问元素 ●Manipulating multi-dimensional arrays操纵多维数组 ●Selecting 2D matrices from multi-dimensional arrays从多维数组中选择二维矩 阵 (1)、Creating multi-dimensional arrays Multidimensional arrays in MATLAB are created the same way as two-dimensional arrays. For example, first define the 3 by 3 matrix, and then add a third dimension. The CAT function is a useful tool for building multidimensional arrays. B = cat(DIM,A1,A2,...) builds a multidimensional array by concatenating(联系起来)A1, A2 ... along the dimension DIM. Calls to CAT can be nested(嵌套). (2)、Finding the dimensions SIZE and NDIMS return the size and number of dimensions of matrices. (3)、Accessing elements To access a single element of a multidimensional array, use integer subscripts(整数下标). (4)、Manipulating multi-dimensional arrays

实验二 Matlab程序设计基本方法1

实验二Matlab程序设计基本方法 覃照乘自092 电气工程学院 一、实验目的: 1、熟悉MATLAB 程序编辑与设计环境 2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识: ◆for循环结构 语法:for i=初值:增量:终值 语句1 …… 语句n end 说明:1.i=初值:终值,则增量为1。 2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。 ◆while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达 式的值为假,则程序执行end之后的语句。 2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位 置加break语句、以便程序能正常执行。(执行循环体的次数不确定; 每一次执行循环体后,一定会改变while后面所跟关系式的值。) 3、while循环也可以嵌套、其结构如下:

while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 end ◆if-else-end分支结构 if 表达式1 语句1 else if 表达式2(可选) 语句2 else(可选) 语句3 end end 说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。 2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。 3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。 ◆switch-case结构 语法:switch表达式 case常量表达式1 语句组1 case常量表达式2 语句组2 …… otherwise 语句组n end

基于MATLAB平台的可视化图像处理系统设计方法

[收稿日期]20050228 [作者简介]黄书先(1962),女,1983年大学毕业,硕士,副教授,现主要从事石油勘探开发研究与科研管理工作。 基于MATLAB 平台的可视化图像处理系统 设计方法 黄书先 (长江大学科学技术处,湖北荆州434023) [摘要]以MATLAB 为工作语言和开发环境,开发了一个在M AT LAB 平台下的可视化图像处理系统, 可实现包括对测井图像在内的一般图像的精细处理,并能和用户开发的程序接口。为M AT LAB 的再开发 和可视化系统的设计作了有益的探索。 [关键词]MATLAB;图像处理;可视化GUI 界面 [中图分类号]TP 311111 [文献标识码]A [文章编号]16731409(2005)04015803 MAT LAB 的图像处理工具为自然科学各学科领域的学者、研究人员和工程师提供了一个直观的灵活的环境,用以解决复杂的图像处理问题。用MAT LAB 语言开发的图像处理算法可以在所有支持MAT LAB 的平台上共享。也可以将m 语言算法和现存的C 程序集成在一起或者将MATLAB 开发的m 语言算法和GU Is 编译为C/C++代码,供其他程序调用,或者发布为一个独立的应用程序。下面笔者提出一个基于MATLAB 平台的可视化图像处理系统设计方法,可用于包括测井图像资料在内的一般图像的精细处理。 1 系统总体设计 在MAT LAB 中有个重要的图像处理工具包[1],该工具包是由一系列支持图像处理操作的函数组成的,按功能可以分为以下几类:图像显示;图像文件输入与输出;几何操作;像素值统计;图像增强;图像识别;图像滤波;图像变换;邻域和块操作;二值图像操作;颜色映射和颜色空间转换;图像格式转换等。和其他工具包一样,用户还可以根据需要书写自己的函数,以满足特定的需要;也可以将这个工具包和信号处理工具包或小波工具包等其他工具包联合起来使用。 MAT LAB 提供了交互式的GU I 开发环境[2~4],用户只需要设置各个对象相应的属性,系统自动生成与之对应的界面,大大减少了开发的难度。本设计的MAT LAB 图像处理系统由封面、主界面和各个子功能界面组成,其框图如图1所示。程序总流程图如图2所示。 2 封面界面设计 首先用MAT LAB 编辑封面的脚本文件,生成系统的封面界面,然后再进入处理的主界面。 在设计封面时,要做好封面的总体布局,力求完美。要插入背景,首先要找到所用的函数(这在一般的书中很难找到);其次要注意设置axes 的属性。在显示背景图像时,不能用imshow ()函数,如果用此函数,背景图像只能显示在封面的一部分,不能整屏覆盖;而要用imagesc ()函数。MATLAB 提供修改文本中文字的字体,它支持华文中宋、华文彩云、华文仿宋、楷书、黑体等,功能较强。 在设计封面的过程中,最主要的技术是要解决时间的显示,如果只用MATLAB 中的clock ()函数,则显示的是静态时间,而不会显示和电脑同步的动态时间。为了解决这个问题,需做一个循环判断语句:while find (get (0,'c hildren'))==h0。成立的条件是,只要是当前窗口循环,否则停止,这样可以减少CPU 的负担。同时,要实时提取clock ()函数,可用fix (clock),使提取的时间更美观。#158#长江大学学报(自科版)2005年4月第2卷第4期/理工卷第2卷第2期 Jour nal of Yangtze University (Nat Sci Edit)Apr 12005Vol 12No 14/Sci &Eng V,Vol 12No 12

MATLAB仿真实验全部

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些 2、 如何判断系统稳定性 3、 系统的动态性能指标有哪些 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

实验五_MATLAB计算的可视化

实验五 MATLAB 计算的可视化(一) 实验目的 1. 熟练掌握MATLAB 二维曲线的绘制 2.掌握图形的修饰 3.掌握三维图的绘制 4.了解各种特殊图形的绘制 内容与步骤 1.在同一幅图形窗口中分别绘制y1=sin(t)和y2=cos(t)二条函数曲线,t 的取值范围为[0,10]。y1用红色虚线表示,y2用蓝色实线表示,横坐标轴名称为“时间t ”,纵坐标轴名称为“正弦、余弦”,整个图形的标题为“正弦和余弦曲线”。在坐标(1.7*pi ,-0.3)处添加文字“sin(t)”, 在坐标(1.6*pi ,0.8)处添加文字“cos(t)”,并在右上角添加图例,其运行界面图如下图所示。之后并尝试修改坐标轴刻度。 2.用subplot 命令在同一个窗口的不同子窗口绘制曲线y=sin(t),y1=sin(t+0.25) y2=sin(t+0.5),其中t=[0 10]。 3.绘制三维曲线:?? ? ??=≤≤==)cos()sin()200() cos()sin(t t t z t t y t x π (注意:用plot3命令) 4.三维网线图:绘制z=sin(y)cos(x) 三维网线图。 5. 三维曲面图 绘制22y x z +=的三维曲面图,x 在[-5,5]范围,y 在[-5,5]范围。将曲面图颜色用shading 命令连续变化,并用颜色标尺显示色图(使用函数colorbar 生成)。生成的图形如下图所示。

6.请绘制一个饼形图,数据如下表所示 7. 用semilogx命令绘制传递函数为1//(s+1)(0.5s+1)的对数幅频特性曲线,横坐标为w,纵坐标为Lw,w的范围为10-2-103,按对数分布。

实验3MATLAB程序设计

1,编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。 x=input('请输入一个整数x:'); if myprime(x) disp('您输入的整数x是一个素数。') else disp('您输入的数x不是一个素数。') end function y=myprime(x) y=1; for i=2:fix(sqrt(x)) if mod(x,i)==0 y=0; end end 2,编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007 中零的总个数。 function num=number0(a) %统计十进制数值中0的个数 sa=num2str(a);%将数值装化为字符串 num=length(find(sa=='0'));% ));%求取字符串中'0’的个数 y=0;

for a=1:2006 num=number0(a); y=num+y; end disp(y) 504 3,编写程序计算x∈[-3,3],字长0.01:并画出曲线x = -3:0.01:3; y=zeros(size(x)); for i = 1:length(x) if -3<= x(i)& x(i)<=-1 y(i)=(-x(i).^2-4*x(i)-3)/ 2; elseif -1<= x(i) & x(i)<=1 y(i)=-x(i).^2+1; elseif 1<=x(:,i)<=3 y(i)=(-x(i).^2+4*x(i)-3)/2; end end plot(x,y) -3-2-10123

刘卫国版MATLAB程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

增量调制MATLAB仿真实验

增量调制MATLAB仿真实验

增量调制(DM)实验 一、实验目的 (1)进一步掌握MATLAB的应用。 (2)进一步掌握计算机仿真方法。 (3)学会用MATLAB软件进行增量调制(DM)仿真实验。 二、实验原理 增量调制是由PCM发展而来的模拟信号数字化的一种编码方式,它是PCM的一种特例。增量调制编码基本原理是指用一位编码,这一位码不是表示信号抽样值的大小,而是表示抽样幅度的增量特性,即采用一位二进制数码“1”或“0”来表示信号在抽样时刻的值相对于前一个抽样时刻的值是增大还是减小,增大则输出“1”码,减小则输出“0”码。输出的“1”,“0”只是表示信号相对于前一个时刻的增减,不表示信号的绝对值。 增量调制最主要的特点就是它所产生的二进制代码表示模拟信号前后两个抽样值的差别(增加、还是减少)而不是代表抽样值本身的大小,因此把它称为增量调制。在增量调制系统的发端调制后的二进制代码1和0只表示信号这一个抽样时刻相对于前一个抽样时刻是增加(用1码)还是减少(用0码)。收端译码器每收到一个1码,译码器的输出相对于前一个时刻的值上升一个量化阶,而收到一个0码,译码器的输出相对于前一个时刻的值下降一个量化阶。 增量调制(DM)是DPCM的一种简化形式。在增量调制方式下,采用1比特量化器,即用1位二进制码传输样值的增量信息,预测器是

一个单位延迟器,延迟一个采样时间间隔。预测滤波器的分子系数向量是[0,1],分母系数为1。当前样值与预测器输出的前一样值相比较,如果其差值大于零,则发1码,如果小于零则发0码。 三、实验内容 增量调制系统框图如图一所示,其中量化器是一个零值比较器,根据输入的电平极性,输出为 δ,预测器是一个单位延迟器,其输出为前一个采样时刻的解码样值,编码器也是一个零值比较器,若其输入为负值,则编码输出为0,否则输出为1。解码器将输入1,0符号转换为 δ,然后与预测值相加后得出解码样值输出,同时也作为预测器的输入 输入样值 e n e n =δsgn(e n ) 传输 n ) n n-1+δsgn(e n ) x n + - + + 预测输出 + n-1 + 预测输出 解码样值输出 x n-1 预测输入x n =x n-1+δsgn(e n ) 图一 增量调制原理框图 设输入信号为: x(t)=sin2π50t+0.5sin 2π150t 增量调制的采样间隔为1ms,量化阶距δ=0.4,单位延迟器初始值为0。建立仿真模型并求出前20个采样点使客商的编码输出序列以 解码 编码 二电平量化 单位延迟 单位 延迟

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MATLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 : 2. MATLAB R2007a 仿真软件 三、实验原理 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 ¥ 对系统频率特性的分析

【原创】MATLAB实验报告-第二次-用MATLAB实现计算数据可视化-北京交通大学

MATLAB 上机实验报告( 2 ) 实验内容: 一、试用如下几种方法来建立向量,观察结果 ( 1) x=1:5, x=(1:5) ' 实验结果:x=1:5是行向量,x=(1:5)是列向量.且1为初始值,5为终止值,默认的步长为 1. >> x=1:5 1 2 3 4 5 >> x=(1:5)' x = 1 2

3 4 5 ( 2) x=0:pi/4:pi 实验结果:x=0:pi/4:pi 指的是x=(0,0.25*pi,0.50*pi,0.75*pi,pi). 其中pi为圆周率初始值为0,终止值为pi,步长为pi/4. >> x=0:pi/4:pi x = 0 0.7854 1.5708 2.3562 3.1416 (3)x=(0:0.2:3) ', y=e-x)p.(*sin(x) 实验结果:x的初始值为0,终止值为3,步长为0.2.而函数y表示将x向量中的每一个数代入函数y=e%x)*sin(x)得到的函数值组成的向量. >> x=(0:0.2:3)', y=exp(-x).*sin(x)

x = 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000

0.1627 0.2610 0.3099 0.3223 0.3096 0.2807 0.2430 0.2018 0.1610 0.1231 0.0896 0.0613 0.0383 0.0204 0.0070 (4) k=linspace(-pi,pi,5), k=logspace(-3,-1,5) 实验结果:k=linspace(-pi,pi,5)产生的是初始值为-pi,终止值为 pi,元素总数为5的行向量,即k的步长为pi/2. k=logspace(-3,-1,5产生的是初始值为10八(-3),终止值为10八(-1),元素总数为5的列向量.

实验4、matlab的计算可视化和GUI设计

p345 subplot(2,2,1) t1=0:0.1:2; y1=sin(2*pi*t1); plot(t1,y1); title('y=sin(2\pit)') 练习: subplot(2,2,2) t2=0:0.1:2; y2=[exp(-t2);exp(-2*t2);exp(-3*t2)]; plot(t2,y2) axis([0 2 -0.2 1.2]); title('y=e-t,y=e-2t,y=e-3t') 练习: subplot(2,2,3); t3=[0 1 1 2 2 3 4]; y3=[0 0 2 2 0 0 0]; plot(t3,y3); axis([0 4 -0.5 3]); title('脉冲信号') 练习: subplot(2,2,4); t4=0:0.1:2*pi; plot(sin(t4),cos(t4));

axis([-1.2 1.2 -1.2 1.2]); axis equal; title('圆') 练习: P346 x=0:0.1:20; zeta=0 y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y1) zeta=0.3; y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); hold on plot(x,y2,'r:') zeta=0.5; y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y3,'g*') zeta=0.707; y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y4,'m-') title('二阶系统曲线') legend('\zeta=0','\zeta=0.3','\zeta=0.5','\zeta=0. 707') grid on gtext('\zeta=0') gtext('\zeta=0.3') gtext('\zeta=0.5') gtext('\zeta=0.707') ginput(3) zeta = ans = 2.6037 0.9035 13.1106 2.0029 4.2166 1.0380 P347 h_fig=gcf h_axis=gca h_line1=gco h_title=get(gca,'title') h_text2=findobj(h_fig,'string','\zeta=0.3') h_fig = 1 h_axis = 151.0018 h_line1 = 1 h_title = 152.0018 h_text2 = Empty matrix: 0-by-1 set(h_line1,'linewidth',5)

高频电子线路Matlab仿真实验

高频电子线路Matlab 仿真实验要求 1. 仿真题目 (1) 线性频谱搬移电路仿真 根据线性频谱搬移原理,仿真普通调幅波。 基本要求:载波频率为8kHz ,调制信号频率为400Hz ,调幅度为0.3;画出调制信号、载波信号、已调信号波形,以及对应的频谱图。 扩展要求1:根据你的学号更改相应参数和代码完成仿真上述仿真;载波频率改为学号的后5位,调制信号改为学号后3位,调幅度设为最后1位/10。(学号中为0的全部替换为1,例如学号2010101014,则载波为11114Hz ,调制信号频率为114,调幅度为0.4)。 扩展要求2:根据扩展要求1的条件,仿真设计相应滤波器,并获取DSB-SC 和SSB 的信号和频谱。 (2) 调频信号仿真 根据调频原理,仿真调频波。 基本要求:载波频率为30KHz ,调制信号为1KHz ,调频灵敏度32310f k π=??,仿真调制信号,瞬时角频率,瞬时相位偏移的波形。 扩展要求:调制信号改为1KHz 的方波,其它条件不变,完成上述仿真。 2. 说明 (1) 仿真的基本要求每位同学都要完成,并且记入实验基本成绩。 (2) 扩展要求可以选择完成。

1.0 >> ma = 0.3; >> omega_c = 2 * pi * 8000; >> omega = 2 * pi * 400; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t); >> fa = cos(omega * t); >> u_am = u_cm * (1 + fa).* fc; >> U_c =fft(fc,1024); >> U_o =fft(fa,1024); >> U_am =fft(u_am, 1024); >> figure(1); >> subplot(321);plot(t, fa, 'k');title('调制信号');grid;axis([0 2/400 -1.5 1.5]); >> subplot(323);plot(t, fc, 'k');title('高频载波');grid;axis([0 2/400 -1.5 1.5]); >> subplot(325);plot(t, u_am, 'k');title('已调信号');grid;axis([0 2/400 -3 3]); >> fs = 5000; >> w1 = (0:511)/512*(fs/2)/1000; >> subplot(322);plot(w1, abs([U_am(1:512)']),'k');title('调制信号频谱');grid;axis([0 0.7 0 500]); >> subplot(324);plot(w1, abs([U_c(1:512)']),'k');title('高频载波频谱');grid;axis([0 0.7 0 500]); >> subplot(326);plot(w1, abs([U_am(1:512)']),'k');title('已调信号频谱');grid;axis([0 0.7 0 500]); 1.1 >> ma = 0.8; >> omega_c = 2 * pi * 11138; >> omega = 2 * pi * 138; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t);

Matlab程序设计实验报告

实验七Matlab 程序设计 实验目的: 1、掌握建立和执行M 文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1. 编写用 5 次多项式拟合函数y=sin(x), x [0, 2 ]的脚本M 文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y, 'b' ,x1,y1, '*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2. 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 1.8001 Columns 21 through 30 4.0 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0 6.2000 y1 = Columns 1 through 10 0.29 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

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),我们只要在每个坐标后加上相关字符串,就可实 现它们的功能。 - 2 - 表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 图形修饰函数表

Matlab 编程方法及仿真实验

《现代机械工程基础实验》之机械工程控制基础综合实验报告 姓名 学号 班级 山东建筑大学机电工程学院 2012.06.04~06

第一部分 Matlab 编程方法及仿真实验 实验1. 三维曲面的绘制(略) 实验2. 系统零极点绘制例:求部分分式展开式和)(t g 一个线性定常系统的传递函数是 1 5422 3)(2 3 ++++= s s s s s G (1) 使用MATLAB 建立传递函数,并确定它的极点和零点,写出)(s G 的部分分式展开式并绘制 系统的脉冲响应。 实验结果:零点-0.6667 极点-0.8796 + 1.1414i -0.8796 - 1.1414i -0.2408 实验3. 系统的阶跃响应 例. )(s G 的阶跃响应 对例2中由(1)式给出的传递函数)(s G ,增加一个0=s 处的极点,使用impulse 命令绘制其拉普拉斯反变换式曲线,得到阶跃响应图。将该响应与对)(s G 使用step 命令所得到的响应比较,确定系统的DC 增益。利用初值定理和终值定理来校验结果。 实验结果:DC 增益= 2

实验4. 双输入反馈系统单位阶跃响应 考虑一个如图1所示的反馈系统,它既有参考输入也有干扰输入,其中对象和传感器的传递函数是 )12)(15.0(4)(++=s s s G p ,105.01 )(+=s s H 控制器是一个增益为80,有一个在3-=s 处的零点,极点/零点比15=α超前控制器。推导 两个独立的MATLAB 模型,其中一个模型的输入为)(s R ,另一个输入为)(s D 。使用这些模型确定闭环零点和极点,并在同一坐标系内绘制它们的阶跃响应。 D (s ) 图1 具有参考和干扰输入的反馈系统方框图 实验结果: 参考输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 参考输入的DC 增益:320 干扰输入的CL 零点:-45 干扰输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 干扰输入的DC 增益:4 -20

D实验五 M文件和MATLAB程序设计

实验五M文件和MATLAB程序设计 一、实验目的 matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。 1.掌握M文件的使用方法。 2.掌握if语句和switch语句的使用 3. 掌握循环语句的使用 4. 通过练习理解MATLAB编程方法。 二、实验原理 1.m文件 用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file)。区别? 2.程序控制结构 1)顺序结构 2)选择结构 (1)if语句a) 单分支if语句b) 双分支if语句c) 多分支if语句 (2)switch 语句 (3)try语句 3)循环结构 (1)for 语句 (2)while语句 (3)break语句、continue语句、return使用,区别? 3.函数文件 function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意事项? 三、实验要求 1.首先上机练习PPT中各种流程控制语句的有关实例。 2.然后上机练习下面的实验习题。 四、实验习题

1.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1 运行下面的程序,按程序提示输入n=1,2,3,5,7,8,9等数来验证这一结论。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0 n=n/2; else n=3*n+1; end a=[a,n]; end a end Enter n,negative quits: 2. 编程求满足∑=>m i i 11000020的最小m 值。 a=0; i=1; while (a<100000) a=a+pow2(i); i=i+1; end m=i-1 3. 编写一个函数,计算下面函数的值,给出x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x)

中国矿业大学 实验六 MATLAB数据可视化

实验六MATLAB数据可视化 一、实验目的 掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。 二、实验内容 (1) 二维图形绘制。 (2) 三维曲线和三维曲面绘制。 三、实验步骤 1.二维图形绘制 (1) 二维图形绘制主要使用函数plot。 >> clear all; >> x=linspace(0,2*pi,100); >> y1=sin(x); >> plot(x,y) >> hold on >> y2=cos(x) >> plot(x,y) >> hold off

注:hold on 用于保持图形窗口中原有的图形,hold off解除保持。 (2) 函数plot 的参数也可以是矩阵。 >> close all >> x=linspace(0,2*pi,100); >> y1=sin(x); >> y2=cos(x); >> A=[y1 ; y2]'; >> B=[x ; x]' >> plot(B,A)

(3) 选用绘图线形和颜色。>> close all >> plot(x,y1,'g+',x,y2, 'r:') >> grid on

(4) 添加文字标注。 >> title('正弦曲线和余弦曲线') >> ylabel('幅度') >> xlabel('时间') >> legend('sin(x)', 'cos(x)') >> gtext('\leftarrowsinx')

(5) 修改坐标轴范围。 >> axis equal >> axis normal >> axis([0 pi 0 1.5]) 程序如下: x=linspace(0,2*pi,100); y1=sin(x); y2=cos(x); A=[y1 ; y2]'; B=[x ; x]' plot(B,A) plot(x,y1,'g+',x,y2, 'r:') axis equal axis normal axis([0 pi 0 1.5])

Matlab仿真实验教程

MATLAB的实验仿真 目录 实验一MATLAB在控制系统模型建立与仿真中的应用 (1) 实验二典型系统的时域响应分析 (13) 实验三线性控制系统的根轨迹与频域分析 (17) 实验四线性系统的校正 (22) 附录一 MATLAB6.5 控制系统工具箱函数和结构化的控制语句 (30) 附录二 SIMULINK 基本模块介绍 (34)

实验一 MATLAB 在控制系统模型建立与仿真中的应用 一、 MATLAB 基本操作与使用 1. 实验目的 1) 掌握MATLAB 仿真软件的安装及启动,熟悉 MATLAB 工作环境平台。 2) MATLAB 命令窗口,包括工具条以及菜单选项的使用;MATLAB 语言的基本规定,包括数值的表示、变量命名规定、基本运算符、预定义变量以及表达式等。 3) MATLAB 图形绘制功能、M 文件程序设计和线性控制系统传递函数模型的建立等。 2. 实验仪器 PC 计算机一台,MATLAB 软件1套 3. 实验内容 1) MATLAB 的启动 这里介绍MATLAB 装入硬盘后,如何创建MATLAB 的工作环境。 方法一 MATLAB 的工作环境由matlab.exe 创建,该程序驻留在文件夹matlab\bin\ 中。它的图标是 matlab 。只要从<我的电脑>或<资源管理器>中去找这个程序,然后双击此图标,就会自动创建如图1所示的MATLAB6.5 版的工作平台 。 图1 在英文Windows 平台上的MATLAB6.5 MATLAB 工作平台 方法二 假如经常使用MATLAB ,则可以在Windows 桌面上创建一个MATLAB 快捷方式图标。具体办法为: 把<我的电脑>中的 matlab 图标用鼠标点亮,然后直接把此图标拖到Windows 桌面上即可。此后,直接双击Windows 桌面上的matlab 图标,就可建立图1所示的 MATLAB 工作平台。 2) MATLAB 工作环境平台 桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口,具体如下: ① MATLAB 窗口 Command Window

相关文档