文档库 最新最全的文档下载
当前位置:文档库 › Matlab中二维数据可视化及应用

Matlab中二维数据可视化及应用

Matlab中二维数据可视化及应用
Matlab中二维数据可视化及应用

龙源期刊网 https://www.wendangku.net/doc/923540865.html,

Matlab中二维数据可视化及应用

作者:张晓利

来源:《电脑知识与技术》2011年第19期

摘要:MATLAB在数据可视化中的应用主要体现在数据的二维曲线、三维曲线和曲面等方面。该文以二维绘图指令为例,详细分析指令中的绘图数据含义,并给出相应的实例,目的在于对形式多样的数据理解提供有力帮助。

关键词:MATLAB;数据可视化;plot

中图分类号:TP312文献标识码:A文章编号:1009-3044(2011)19-4748-02

Thorough Analysis of Data Visualization in Matlab

ZHANG Xiao-li

(Computer Department, Xi'an Institute Of Post & Telecommunication, Xi'an 710121, China)

Abstract: MATLAB data visualization is mainly applied in two-dimensional curve, three-dimensional curves and surfaces and so on. In the introduction of graphics commands, The meanings of mapping data are analyzed in detail. Aims at understanding of various forms of data are to provide a powerful help.

Key words: MATLAB; data visualization; plot

MATLAB是国际上公认的最优秀的科技应用软件,已被广泛地应用到教学、工程计算、通信、图像处理、自动化控制等领域。MATLAB在数据可视化方面提供了强大的功能,它可以把数据用二维、三维乃至四维图形表现出来。通过对图形的线型、立面、色彩、渲染、光线以及视角等属性的处理,将计算数据的特性表现得淋漓尽致。

正是MATLAB绘图指令中数据形式的多样性,使得数据表现很丰富。在实际的教学过程中,学生对数据可视化很感兴趣,可是对绘图指令中形式灵活的数据往往理解不清。因此,本文以二维绘图指令为例详细分析指令中各种形式数据的含义。

1 数据的多样性

数据可视化的目的在于通过图形,从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质。对于二维曲线有连续曲线和离散图形。对于离散图形,只需要表示出这些实数对。对于连续曲线,进行可视化也必须先在一组离散自变量上计算相应的函数值,并把这一组“数据对”用点图示,但这些离散的点不能表现函数的连续性,还需要做进一步的处

基于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可视化方法和技巧1_3复数的计算和图示

复数的计算和图示 表3 MATLAB关于复数运算的函数 {范例3_1}复数的加减法 设有两个复数z1 = 1 + 2i和z2 = 4 + 3i,其中i是虚数单位求两个复数的和z1 + z2和差z2–z1。 [解析]复数有三种表示形式 (1)代数式 z = x + i y(3_1_1) (2)三角式 z = r(cosθ + isinθ) (3_1_2) 其中r是复数的模,θ是复角。代数式与三角式的换算关系是 r=arctan y x θ(3_1_3) x = r cosθ,y = r sinθ(3_1_4) (3)指数式 z = r e iθ(3_1_5) 其中利用了欧拉公式 e iθ= cosθ + isinθ(3_1_6) 设有两个复数 z1 = x1 + i y1,z2 = x2 + i y2(3_1_7) 复数加法是 z= z1 + z2 = (x1 + x2) + i(y1 + y2) (3_1_8) 复数减法是 z= z1 - z2 = (x1 - x2) + i(y1 - y2) (3_1_9) [程序]P3_1plus.m如下。 %复数的加减法 clear %清除变量 z1=1+2i; %第1个复数(1) x1=real(z1); %取第1个复数的实部(2) y1=imag(z1); %取第1个复数的虚部(2) x2=4; %第2个复数的实部 y2=3; %第2个复数的虚部 z2=x2+i*y2; %形成第2个复数(3) z=z1+z2; %两复数之和(4) x=real(z); %取复数的实部 y=imag(z); %取复数的虚部 figure %创建图形窗口 quiver(0,0,x1,y1,0) %在复平面画第1个复数(5)

实验五_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,按对数分布。

Matlab 特殊图形和高维可视化

Matlab 特殊图形和高维可视化 2009-10-20 01:06 7.4 特殊图形和高维可视化 7.4.1 特殊图形指令例示 7.4.1.1 面域图area 【* 例7.4.1 .1-1 】面域图指令area 。该指令的特点是:在图上绘制多条曲线时,每条曲线(除第一条外)都是把“前”条曲线作基线,再取值绘制而成。因此,该指令所画的图形,能醒目地反映各因素对最终结果的贡献份额。注意:( 1 )area 的第一输入宗量是单调变化的自变量。第二输入宗量是“各因素”的函数值矩阵,且每个“因素”的数据取列向量形式排放。第三输入宗量是绘图的基准线值,只能取标量。当基准值为0 (即以x 轴为基准线)时,第三输入宗量可以缺省。(2 )本例第<4> 条指令书写格式x' , Y' ,强调沿列方向画各条曲线的事实。 clf;x=-2:2 % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5] % 各因素的相对贡献份额 Cum_Sum=cumsum(Y) % 各曲线在图上的绝对坐标 area(x',Y',0) %<4> legend(' 因素A',' 因素B',' 因素C'),grid on,colormap(spring) x = -2 -1 0 1 2 Y = 3 5 2 4 1 3 4 5 2 1 5 4 3 2 5 Cum_Sum = 3 5 2 4 1 6 9 7 6 2 11 13 10 8 7

图 7.4.1 .1-1 面域图表现各分量的贡献 7.4.1.2 各种直方图bar, barh, bar3, bar3h 【 * 例 7.4.1 .2-1 】二维直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。本例选其两种加以表现。 x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar(x',Y','stacked') % “累计式”直方图 xlabel('x'),ylabel('\Sigma y'),colormap(cool)% 控制直方图的用色legend(' 因素 A',' 因素 B',' 因素 C') subplot(1,2,2),barh(x',Y','grouped') % “分组式”水平直方图 xlabel('y'),ylabel('x') 图 7.4.1 .2-1 二维直方图 clf;x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar3(x',Y',1) % “队列式”直方图 xlabel(' 因素 ABC'),ylabel('x'),zlabel('y') colormap(summer) % 控制直方图的用色 subplot(1,2,2),bar3h(x',Y','grouped') % “分组式”水平直方图 ylabel('y'),zlabel('x')

【原创】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 的两种基本绘图功能:二维平面图形和三维立体图形。 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实现

实验一数据处理方法的MATLAB实现 一、实验目的 学会在MATLAB环境下对已知的数据进行处理。 二、实验方法 1. 求取数据的最大值或最小值。 2. 求取向量的均值、标准方差和中间值。 3.在MATLAB环境下,对已知的数据分别进行曲线拟合和插值。 三、实验设备 1.586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM 2.MATLAB5.3以上含CONTROL SYSTEM TOOLBOX。 四、实验内容 1.在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 2.在MATLAB环境下,选择合适的曲线拟合和插值方法,编写程序,对已知的数据分别进行曲线拟合和插值。 五、实验步骤 1. 在MATLAB环境下,将已知的数据存到数据文件mydat.mat中。 双击打开Matlab,在命令窗口(command window)中,输入一组数据:实验一数据处理方法的MATLAB实现 一、实验目的 学会在MATLAB环境下对已知的数据进行处理。 二、实验方法 1. 求取数据的最大值或最小值。 2. 求取向量的均值、标准方差和中间值。 3.在MATLAB环境下,对已知的数据分别进行曲线拟合和插值。 三、实验设备 1.586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM 2.MATLAB5.3以上含CONTROL SYSTEM TOOLBOX。 四、实验内容

1.在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 2.在MATLAB环境下,选择合适的曲线拟合和插值方法,编写程序,对已知的数据分别进行曲线拟合和插值。 五、实验步骤 1. 在MATLAB环境下,将已知的数据存到数据文件mydat.mat中。 双击打开Matlab,在命令窗口(command window)中,输入一组数据: x=[1,4,2,81,23,45] x = 1 4 2 81 2 3 45 单击保存按钮,保存在Matlab指定目录(C:\Program Files\MATLAB71)下,文件名为“mydat.mat”。 2. 在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 继续在命令窗口中输入命令: (1)求取最大值“max(a)”; >> max(x) ans = 81 (2)求取最小值“min(a)”; >> min(x) ans = 1 (3)求取均值“mean(a)”; >> mean(x) ans =

中国矿业大学 实验六 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实验 数据可视化方法

实验四数据可视化方法 [实验内容] 一.仿照运行,体会数据可视化方法。 1已知n=0,1,……,12,y=,运行下面程序,体会离散数据可视化方法。 说明: ·plot和stem指令均可以实现离散数据的可视化,但通常plot更常用于连续函数中特殊点的标记;而stem广泛运行与数字信号处理中离散点的图示。·用户在运行上面例程时会发现在命令窗口出现警告:Warning: Divide by zero!即警告程序中出现非零数除以0的指令。MATLAB对于这种情况并不中止程序,只是给该项赋值为inf以做标记。 2.下面时用图形表示连续调制波形y=sin(t)sin(9t),仿照运行,分析表现形式不同的原因。 二.编程实现。 1.用图形表示连续调制波形y=sin(t)sin(9t),过零点及其包络线,如下图所示。

2. 编写函数[x,n]=stepseq(n0,n1,n2),实现: u(n)=, n为整数 并编写脚本文件实现: x(n)=n·[u(n)-u(n-10)]+10[u(n-10)-u(n-20)], 0≤n≤20要求在脚 本文件中调用stepseq 函数,最后绘出序列x(n)在给定区间的波形图。 3.编写一个函数文件[y,n]=sigadd(x1,n1,x2,n2),实现两个对应样本之间的相加,其中x1是长度为n1的序列,x2是长度为n2的序列,n1、n2分 别是x1、x2的位置信息(n1、n2均为整数),如: n1={ -3,-2,-1,0,1,2,3,4},对应的 x1={ 2, 3, 1,4,1,3,1,2}; n2={-4,-3,-2,-1,0,1,2},对应的 x2={ 1, 3, 2, 5,1,3,4}。 当调用函数[y,n]=sigadd(x1,n1,x2,n2)时,我们应该得到: n={-4,-3,-2,-1,0,1,2,3,4},对应的 y={ 1, 5, 5, 6,5,4,7,1,2}。 仔细观察 sigadd 函数的功能。编好函数文件程序后,请在命令窗口调用,验证正确性,记录验证结果。 [实验结果] 一.1.

3-MATLAB图形可视化

MATLAB绘图 摘要:MATLAB 可以表达出数据的二维、三维和四维的图形。通过对图形的线型、立面、色彩、光线、视角等属性的控制,可把数据的内在特征表现得更加细腻完善。二维图形的绘制是MATLAB 语图形处理基础,也是在绝大多数数值计算中广泛应用的图形之一。为了显示三维图形,MATLAB提供了各种各样的函数。有一些函数可在三维空间中画线,而另一些可以画曲面与线格框架。 关键词:二维绘图三维绘图特殊绘图极坐标绘图柱坐标绘图球坐标绘图四维表现图 引言 MATLAB,即“矩阵实验室”,它具有强大的绘图功能。语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。本文从图形出发,详尽地介绍MATLAB的绘图功能及其用法。 一、二维绘图 二维图形的绘制是MATLAB语言图形处理的基础,它包括一般二维图形的绘制和特殊二维图形的绘制。 (一)、一般的二维图形的绘制 1.使用plot作图 【命令】 plot 【调用格式】 plot(x) %向量绘图 plot(x,y) %基本函数绘图 plot(x,y,'cs') %自定义样式基本函数绘图,c 颜色,s线型 plot(x,y,'cs','markersize',n) %自定义样式与大小格式 plot(x1,y1,x2,y2,…) %多曲线绘图格式 plot(x1,y1,'cs1',x2,y2,'cs2',…) %自定义样式多曲线绘图 plot(x1,y1,'cs1',x2,y2,'cs2',…,' markersize',n)%自定义样式与大小多曲线绘图格式 subplot(m,n,p) % 子图分割,m代表行;n代表列;p代表绘图序号此命令绘制不同的线型、点标和颜色的图形,其中cs为字符,可以代表不同的属性,包括线型、点标和颜色。 plot绘图函数属性参数

基于matlab的可视化界面制作

MATLAB可视化设界面计(上) 一个可发布的应用程序通常都需要具备一个友好的图形界面(比如,我们开课时或给学生上课而使用课件时,我们一般就会用到可视化界面)。这样用户不需要知道应用程序究竟是怎样执行各种命令的, 而只需要了解可见界面组件的使用方法用户也不需要知道命令是如何执行, 只要通过与界面交互就可以使指定行为得以正确执行。MA TLAB可视化界面的设计, 一般有两种方法, 一是直接通过编辑M脚本文件产生GUI(这个方法就是我们在前面学习过的如何编写、调用M文件), 二是通过MA TLAB图形用户界面开发环境GUIDE(Graphical User Interface Development Environment)来形成相应文件。这里只讲述在GUIDE环境中利用控件实现可视化界面功能, 不探讨直接通过编辑脚本文件实现可视化界面的方法。 MA TLAB软件GUIDE为用户提供了一个方便高效的集成环境, 所有GUI支持的用户控件都集成在这个环境中, 并提供界面外观、属性和行为响应方式的设置方法。GUIDE将用户保存设计好的GUI界面保存在一个FIG资源文件中, 同时自动生成包含GUI初始化和组件界面布局控制代码的M文件, 为实现回调函数提供了一个参考框架。 下面以一个具体实例来说明GUIDE的开发使用以下所讲解的关于各控件的使用, 我们以MA TLAB7.0版本为调试环境, 如果版本的环境和版本略有不同,但基本思想和方法一致。为了方便大家学习,此处提供二个版本(即文字和视频,文字的即为下面的叙述,视频请点击此处。) 实例要完成的功能如下: 首先运行M文件后,出现一个主画面

实验二MATLAB计算的可视化

课程实验报告 学年学期2011-2012学年第1学期 课程名称MATLAB与科学计算 实验名称实验二MATLAB计算的可视化实验室测量测绘实验中心计算机室专业年级热动113 学生姓名白治朋 学生学号2011012106 提交时间2013年10月23日 成绩 任课教师许景辉、牛亚斌 水利与建筑工程学院

实验二 MATLAB 计算的可视化 1、目的和要求 (1)熟练掌握MATLAB 二维曲线、三维图形的绘制。 (2)熟练掌握各种特殊图形的绘制。 (3)熟练掌握三维图形绘制命令。 (4)了解GUI 设计的一般过程和方法。 2、内容和步骤 参见教材实验四。 3、实验报告提交要求 (1) x=[1 2 3],y=[1 2;2 3;5 8],z=[2 6 9;3 8 8;1 5 7],绘制plot (x ,y )、plot (x ,z ),说明其各 自绘制的内容。 (2) 绘制如下图形,建立figure (2),绘图同样曲线,但标题为“你的姓名(黑体,16号字)”, 在x 坐标和y 坐标上分别标识学号和班级名称,并将网格线打开。 数组X 的列个数与矩阵y 的行个数相同, plot ( x ,y )绘制的是x 为横坐标y 的每列为纵坐标的图像。如图1。 图1 数组X 的列个数与方阵z 的行列个数相同,plot (x ,z )绘制的是x 为横坐标z 的每列为纵坐标的图像。如图2。 图2

(3)演示P133页,例题4.17 。

(4)完成课本P336图S 4.1实验,并用.m文件显示其程序内容。 (5)完成P302第四章例题4.

(6)通过绘制二阶系统阶跃响应,综合演示图形标识,请注释每条命令的含义。 clf; %清除图形窗口 t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t); % 数据准备 tt=t(find(abs(y-1)>0.05)); %找出符合条件(y-1)的绝对值>0.05的对应t,赋值给tt ts=max(tt); %ts为tt中最大值ts=9.6133 plot(t,y,'r-','LineWidth',3) %画曲线t-y,红色实线,线粗3磅 axis([-inf,6*pi,0.6,inf]) %设置坐标轴范围。x轴下限自动产生,上限为6*pi;y轴下限0.6,上限自动产生 set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)]) %二维坐标刻度设置。x轴刻度线取2*pi,4*pi,6*pi,y轴取0.95,1,1.05,max(y) grid on %显示坐标刻度线 title('\it y = 1 - e^{ -\alphat}cos{\omegat}') %用斜体1书写图名 text(13.5,1.2,'\fontsize{12}{\alpha}=0.3') %图形标识,添加文字注释。在x=13.5,y=1.2处,字体大小12磅,标注α=0.3 text(13.5,1.1,'\fontsize{12}{\omega}=0.7') %图形标识,添加文字注释。在x=13.5,y=1.1处,字体大小12磅,标注ω=0.7 hold on; %保持原有图形 plot(ts,0.95,'bo','MarkerSize',10); %在x=ts,y=0.95处画蓝色的空心圆圈,大小为

MATLAB在化工数据处理中的应用

化工数据处理与实验设计 期中论文 Matlab在化工数据处理中的应用 姓名:陈奕含 学号:2012115134 班级:化学工程与工艺

Matlab在化工数据处理中的应用 一、MATLAB简介 Matlab软件包最初是1967年由Clere Maler用FORTRAN语言设计和编写的。1984年Mathworks公司用C语言完成了Matlab的商业化版本并推向市场。经过20余年的改进,Matlab已发展成为一个具有极高通用性的、带有众多实用工具的运算平台,成为国际上广泛认可的优秀科学计算软件。 Matlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 Matlab和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且Matlab也吸收了像Maple等软件的优点,使Matlab成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JA V A的支持。其特点如下: 1.支持多平台操作系统(Windows、Unix等)。 2.是一种简单易学的编程语言。 3.Matlab程序很容易维护。 4.编程效率很高。由于用户程序可直接调用大量的Matlab函数,因此编程速度快。 5.用途广泛。可用于数值计算和符号计算、数据分析、工程与科学绘图、图形用户界面设计、建模和仿真、控制系统设计、数字图像信号处理以及财务工程等。 6.功能超强。包含600多个常用算法内建函数,有众多面向具体应用的工具箱(如偏微分方程、最优化方法、数理统计、样条函数、神经网络工具箱等)和simulink仿真模块。此外,其他产品延伸了Matlab的能力,包括数据采集和依靠Matlab语言编程产生独立的C/C++代码等等。其算法函数大多由国际知名专家完成,算法稳定可靠、效率高。 7.具有开放式结构,扩展功能强。Matlab的开放式结构使Matlab产品族很

第6章MATLAB计算结果可视化讲解

第六章MATLAB 计算结果可视化 6.1连续函数和离散函数的可视化 【例6-1】用图形表示离散函数1 ) 6(--=n y 。 n=0:12; %产生一组自变量数据 y=1./abs(n-6); %计算相应点的函数值 plot(n,y,'r*','MarkerSize',20) %用红花标出数据点 grid on %画坐标方格 【例6-2】用图形表示连续调制波形)9sin()sin(t t y =。 t1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1); t2=(0:100)/100*pi; y2=sin(t2).*sin(9*t2); subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图 (1)') subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图 (2)') subplot(2,2,3),plot(t1,y1,t1,y1,'r.') axis([0,pi,-1,1]),title('子图 (3)') subplot(2,2,4),plot(t2,y2)

6.2二维曲线绘图的基本操作 6.2.1 plot 的基本调用格式 【例6-3】用图形表示连续调制波形)9sin()sin(t t y 及其包络线。 t=(0:pi/100:pi)'; %长度为101的时间采样列向量 y1=sin(t)*[1,-1]; %包络线函数值,是(101x2)的矩阵 y2=sin(t).*sin(9*t); %长度为101的调制波列向量 t3=pi*(0:9)/9; y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') 6.2.2泛函绘图指令fplot 【例6-4】fplot 与一般绘图指令的绘图效果比较。 [x,y]=fplot('cos(tan(pi*x))',[-0.4,1.4],0.2e-3);n=length(x); subplot(1,2,1),plot(x,y) title('\fontsize{20}\fontname{隶书}泛函绘图指令效果') t=(-0.4:1.8/n:1.4)'; subplot(1,2,2),plot(t,cos(tan(pi*t))) 6.2.3曲线的色彩、线型和数据点形 【例6-5】用图形演示平面上一个方块四个顶点在仿射投影(Affine Projection )下的位置、 形状变化。 %平面上的四个点和它们构成的方块

基于MATLAB的EXCEL数据计算与分析

基于MATLAB的EXCEL数据计算与分析 潜刘方 摘要:再怎么样希望先看摘要,阅读本文需要一定的MA TLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MA TLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exlink(也叫excel link),在网上搜索了相关的知识,发现很多关于exlink 的培训,觉得实在可笑,所以就将exlink的使用写的比较详细,以供读者自行分析体会。关键字:MATLAB excel exlink 接口 一、前沿 MATLAB是一款应用在各个领域的数学软件,最初叫做矩阵实验室,专用于矩阵的运算,后来的版本再各个领域都得到了很好的应用,比如:通信、电力电子、电机控制、运动控制、计算机控制、自动控制,DSP数字信号处理。但是MATLAB对于数据的处理与可视化是很多软件所不能及的。 EXCEL作为办公必备软件,能对简单数据分析计算与作图分析,但是处理复杂数据显得力不从心,比如三维作图就无法利用EXCEL作出;EXCEL本身的函数远远没有MATLAB 多,MATLAB作为数据有其独特的优势,集成了很多数学函数,包括数据拟合差值等。MATLAB 可以从EXCEL中读取数据,经过相关运算之后又可以将数据写入EXCEL,假如需要重复性的对excel可以利用MATLAB编写函数,每次只要运行MATLAB程序就可以完成,大大节省时间和精力。 另外,MATLAB还有与EXCEL的接口,叫做EXLINK,运用这个接口可以在excel中完成MATLAB函数的调用,还能传送数据给MATLAB,从MATLAB当中读取数据,从MATLAB 当中读取图形,使用方便,操作简单。 二、基于MATLAB的数据分析 数据分析操作流程主要分为三步:第一步,从excel中读取数据;第二部:利用MATLAB 大量函数对数据分析处理;第三步:将分析结果写入excel中。在整个过程中,不需要打开excel软件,操作十分方便,每次操作唯一要做就是修改excel所在的目录及文件名。主要函数如下(具体使用方法可在MATLAB命令窗口输入help +函数名查看):Xlsread 从excel中读数据 Xlswrite 向excel中邪数据 num2str 将数字转换为字符串 strncmp 字符串比较 polyfit 数据拟合 polyval 具体数值代入求值 plot 作图

基于MATLAB的数据实时采集与处理的实现_梁湘

0.引言 MATLAB/SIMULINK是现在流行的仿真软件。MATLAB集数学计算结果可视化和编程于一体,能够方便地进行科学计算和大量工程运算的数学软件;SIMULINK是MATLAB的常用组件,它是基于MATLAB的语言环境下实现动态装置建模,仿真和分析的一个集成环境,支持连续、离散及两者混合的线性和非线性装置,也支持具有多种采样速率的多速率装置,被广泛的用于控制系统设计和系统仿真等诸多领域。但是MATLAB不能直接对硬件进行读写操作,从而影响了在控制系统仿真上的应用范围。MATLAB提供了众多外部函数接口,本文从中选择MEX文件接口作为MATLAB对外界进行读写的通道,首先对USBCAN接口卡进行设计,接下来以这个接口卡为通道,实现了MATLAB对于硬件的访问。 1.USB-CAN转接卡的设计 首先对于USBCAN转接卡进行设计,以便于设计出的转接卡能作为通信通道,让MATLAB能够通过USBCAN转换模块采集CAN总线上的数据,然后进行仿真。 在基于CAN总线的控制系统中,作为下层网络的CAN总线与计算机之间的通信以往是通过基于RS232接口、PC机上的ISA总线和PCI总线的通信适配卡来完成的。这些种类的转接卡有传输速率较慢,设计复杂和不便于扩展等缺点。 本课题设计的CAN-USB转接卡的功能是:采集CAN总线上的数据,通过USB总线和上位控制站之间进行数据传输。在通讯方面,一方面要满足CAN的协议标准,实现开放性,互操作性,在高速通信的情况下做到拥有较好的抗干扰性能;另一方面,转接卡兼容USB1.1总线,转接卡可以通过USB连接到PC机。其主要设计参数如下:数据传输速率:波特率在5Kbit/s~1Mbit/s范围内: USB总线标准:满足USB1.1协议的标准USB设备A/B插座 CAN总线接口:DB9针型插座,符合DeviceNET和CANopen标准CAN协议:支持CAN2.0B协议(兼容CAN2.0A协议) 供电方式:USB总线供电(+5V)或者使用外接电源(+9V~+25V,400mA) 运行环境:WindowsXP 转接卡的方案设计的思想是在已经存在的CAN总线网络中增加一个数据采集节点,用来采集各个节点发来的的数据,再通过USB总线上传到PC机,进行分析过和存储等操作。设计的具体实现是采用单片机通过控制USB控制芯片,与PC机进行通信,从PC机得到采集数据的指令和向PC机上传数据。同时,因为USB总线速度较快,并且是要从CAN网络读取数据分析,所以单片机通过不同的片选信号控制两个CAN控制芯片,分别能够从两路CAN网络上采集数据,和将从PC机得到的数据通过两个CAN控制芯片分别发送出去。所设计的系统结构如下图1所表示: 两路CAN CAN总线 USB协议具有1.1和2.0两个版本。从MATLAB对数据进行读写出发,并且处于CAN总线所能提供的速率限制,USB协议1.1版本已经能满足我们所需要的性能要求。USB1.1提供两种数据传输速率,低速传输为1.5Mbps,全速传输为12Mbps,并支持所有USB的特性,如热插拔、具有统一的设备标准以及可以连接多个设备等。CAN总线目前有CAN协议2.0A和CAN协议2.0B两个版本。本次设计所选用的单片机和CAN网络控制芯片均可支持CAN协议2.0A和CAN协议2.0B两个版本。 图1USBCAN转接卡的总体设计 本设计选用89CS52作为单片机来对CAN控制芯片和USB控制芯片操作。89CS52是ATMEL公司生产的低电压,高性能的单片机,兼容80C51构架。选择SJA1000做CAN总线控制芯片。这款芯片是一个由飞利浦公司生产的独立的CAN控制器,它在汽车和普通的工业应用上都具有较为先进的特征。它能适合多种应用,特别是在系统优化、诊断和维护方面,并且能和支持80C51构架的单片机兼容。选择PCA82C250作为CAN总线接口芯片,这款芯片专为CAN总线进行差分通信而设计。 根据设计要求,USBCAN转接卡应该直接能与PC机相连接,再与CAN总线进行通信。对比USB协议三层设备:主机(HOST),集线器(HUB)和设备(NODE),PC机作为主机,USBCAN转接卡是作为最下面一个级别:设备(NODE),只需要与其相连而不需要再作为HUB接入其它USB设备。所以需要挑选的是能够在充当设备(NODE)的芯片,这款芯片应该可以与51系列单片机相连通,并且支持USB协议1.1版本。市场上此类控制芯片主要有两种,一种是将单片机(MCU)集成到USB芯片上,代表如EZ-USBFX2;另一种是纯粹的USB接口芯片,如PDIUSBD12。考虑到前文提出的设计指标等因素,本文选择了飞利浦公司的PDIUSBD12芯片。PDIUSBD12是一款性价比很高的USB器件,广泛的采用与许多PC机的外设。 硬件设计完成后,对于固化在单片机ROM中的程序进行设计。单片机ROM中的程序主要采用中断驱动。它将USB总线和CAN总线上的数据请求都当作中断处理,在相应的中断处理程序中再将所采集到的数据转发到另外一个总线。 最后对于转接卡的驱动程序进行设计。驱动程序采用Windows体系下WDM驱动程序模型。在这种模型下,对于USB设备来说,驱动程序可以分为USB底层驱动程序和USB功能驱动程序。USB底层驱动程序在实际运行中对实际硬件进行操作,实现了复杂的底层通信;USB功能驱动程序则一般由设备开发者编写,逻辑位置位于USB底 基于MATLAB的数据实时采集与处理的实现 梁湘 (同济大学机械工程学院中国上海200092) 【摘要】本文的利用USB与CAN两种技术的优点设计了通信转接卡,提高整个网络的通信质量。接下来,采用该转接卡作为MATLAB与SIMULINK环境下实时仿真的通信转接卡,进行MATLAB环境下对CAN总线数据的实时采集、处理与仿真功能,完成MATLAB与SIMULINK下对控制系统的仿真和实时控制,为类似的通信转接卡的研究提供一定的参考。 【关键词】USB-CAN转接卡;半实物平台;MATLAB;SIMULINK TheRealizationofReal-timeReadingandWritinginMATLAB LiangXiang (SchoolofMechanicalEngineering,TongjiUniversity,Shanghai200092) 【Abstract】ThepapertakesadvantageofCAN-busandUSB-bustodesignUSBCANadapter.Theadapterimprovesthequalityofnetwork’scommunication.Following,thepapertakesUSBCANadapterasachannelwithwhichMATLABcancollectdatafromCAN-bus.Inthisway,MATLABcancollect,handleandsimulatedatainreal time.

相关文档