第四章 MATLAB计算可视化与GUI设计(1)

合集下载

在Matlab中使用GUI设计用户界面

在Matlab中使用GUI设计用户界面

在Matlab中使用GUI设计用户界面引言Graphical User Interface (GUI) 是现代计算机软件中常用的一种类型用户界面,它通过图形化的形式提供了直观、易用的操作方式。

Matlab作为一种功能强大的数值计算软件,也提供了丰富的GUI设计工具,使得用户可以通过简单的拖拽和设置,快速地创建出美观实用的用户界面。

本文将介绍在Matlab中使用GUI设计用户界面的基本原理和步骤,并结合实例演示具体操作。

一、Matlab中的GUI设计工具Matlab提供了几种常用的GUI设计工具,包括GUIDE(GUI Development Environment)和App Designer。

GUIDE是Matlab较早期的一个GUI设计工具,提供了可视化的编辑界面,方便用户进行界面布局和交互事件的设置。

而App Designer是Matlab较新推出的GUI设计工具,相比GUIDE具有更加丰富的功能和更好的可视化编辑体验。

在本文中,我们将以App Designer为例来介绍Matlab中的GUI设计过程。

二、创建GUI应用程序在Matlab的主界面中,点击"APPS"菜单,选择"App Designer"打开App Designer界面,然后点击"Create App"按钮创建一个新的GUI应用程序。

在弹出的对话框中输入应用程序的名称并设置保存位置,点击"Create"按钮即可创建一个空的GUI应用程序。

三、设计用户界面在App Designer中,可以通过拖拽和调整控件来设计用户界面。

常用的控件包括按钮、文本框、下拉菜单、滑块等,用户可以根据需求自由选择和排列这些控件。

同时,还可以设置控件的属性,如大小、颜色、字体等,以及添加交互事件,如按下按钮后执行的操作。

四、设置控件属性和交互事件在设计好用户界面后,需要为每个控件设置相应的属性和交互事件。

利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面

利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面

(1)利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面;(2) 实现在“符号计算”图形用户界面中的各项符号计算功能,如实现Matlab的求极限、求导、求不定积分与定积分、级数求和、方程组的符号求解、常微分方程的符号求解等符号计算;(3) 利用Matlab的二维、三维绘图功能,实现图形用户界面(GUI)中的部分符号计算的可视化,即给出符号计算实例的同时实现该实例的图形化描述。

如下图给出了一个简单的GUI界面,学生可以参考如下图设计出自己的GUI界面。

程序如下:hf=figure('Position',[200,200,700,500],...'Name','信计08(2)班阿卜杜热黑木20080803417', ...'NumberTitle','off','MenuBar','none');uicontrol(hf,'Style','Frame','Position',[0,0.15,0.45,1],...'Units','normalized','Back',[0,1,1]);COMM1=['n=str2num(get(he1,''String''));', ...%求导连接'b=sym(get(he7,''String''));',...'dec=diff(b,n);', ...'set(he8,''string'',char(dec));'];COMM2=['a=str2num(get(he2,''String''));', ...%求极限连接'f=sym(get(he7,''String''));',...'lim=limit(f,a);', ...'set(he8,''string'',char(lim));'];COMM3=['g=sym(get(he7,''String''));',... %不定积分连接'int_1=int(g);', ...'set(he8,''string'',char(int_1));'];COMM4=['a=str2num(get(he3,''String''));', ... %级数求和连接'b=str2num(get(he5,''String''));', ...'f=sym(get(he7,''String''));',...'sum_1=symsum(f,a,b);', ...'set(he8,''string'',char(sum_1));'];COMM5=['a=str2num(get(he4,''String''));', ... %定积分连接'b=str2num(get(he6,''String''));', ...'f=sym(get(he7,''String''));',...'int_2=int(f,a,b);', ...'set(he8,''string'',char(int_2));'];COMM6=['f=get(he7,''String'');',...'dsolve_1=dsolve(f,''x'');', ...'set(he8,''string'',char(dsolve_1));'];COMM7=['f=get(he7,''String'');',...'ezplot(f);'];COMM8=['g=get(he8,''String'');',...'ezplot(g);'];uicontrol(hf,'Style','Push','Position',[0.02,0.9,0.11,0.06],...'String','求导','Units','normalized','Call',COMM1); uicontrol(hf,'Style','Text','Position',[0.17,0.85,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','阶数','Back',[0,1,1]);he1=uicontrol(hf,'Style','Edit','Position',[0.25,0.9,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.72,0.13,0.06],...'String','求极限','Units','normalized','Call',COMM2);uicontrol(hf,'Style','Text','Position',[0.17,0.67,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','极限点','Back',[0,1,1]);he2=uicontrol(hf,'Style','Edit','Position',[0.25,0.72,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.58,0.13,0.06],...'String','不定积分','Units','normalized','Call',COMM3);uicontrol(hf,'Style','Push','Position',[0.02,0.45,0.13,0.06],...'String','级数求和','Units','normalized','Call',COMM4);uicontrol(hf,'Style','Text','Position',[0.31,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he5=uicontrol(hf,'Style','Edit','Position',[0.38,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he3=uicontrol(hf,'Style','Edit','Position',[0.24,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.32,0.13,0.06],...'String','求定积分','Units','normalized','Call',COMM5);uicontrol(hf,'Style','Text','Position',[0.31,0.31,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he6=uicontrol(hf,'Style','Edit','Position',[0.38,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.3,0.08,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he4=uicontrol(hf,'Style','Edit','Position',[0.24,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.2,0.16,0.06],...'String','解微分方程','Units','normalized','Call',COMM6);uicontrol(hf,'Style','text','Position',[0.48,0.9,0.13,0.06],...'String','原函数','Units','normalized');he7=uicontrol(hf,'Style','edit','Position',[0.65,0.9,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','text','Position',[0.48,0.77,0.13,0.06],...'String','结果函数','Units','normalized');he8=uicontrol(hf,'Style','text','Position',[0.65,0.77,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);h_axes=axes('position',[0.55,0.2,0.4,0.5]);uicontrol(hf,'Style','push','Position',[0.58,0.02,0.13,0.06],...'String','初始绘图','Units','normalized','call',COMM7);uicontrol(hf,'Style','push','Position',[0.80,0.02,0.13,0.06],...'String','结果绘图','Units','normalized','call',COMM8);uicontrol(hf,'Style','Push','Position',[0.02,0.02,0.08,0.06],...'String','退出','Units','normalized','Call', 'close');。

实验4 matlab gui设计

实验4 matlab gui设计

实验四 MATLAB GUI设计一.预备知识点1. 图形用户界面(GUI)是用户与计算机程序之间的交互方式,是用户与计算机进行信息交流的方式。

计算机在屏幕显示图形和文本,若有扬声器还可产生声音。

用户通过输入设备,如:键盘、鼠标、跟踪球、绘制板或麦克风,与计算机通讯。

用户界面设定了如何观看和如何感知计算机、操作系统或应用程序。

通常,多是根据悦目的结构和用户界面功能的有效性来选择计算机或程序。

图形用户界面或GUI是包含图形对象,如:窗口、图标、菜单和文本的用户界面。

以某种方式选择或激活这些对象,通常引起动作或发生变化。

最常见的激活方法是用鼠标或其它点击设备去控制屏幕上的鼠标指针的运动。

按下鼠标按钮,标志着对象的选择或其它动作。

2.对“句柄图形”的理解是设计和实现GUI的先决条件。

由图形命令生成的每一事物是一个图形对象。

图形对象不仅包括uimenu和uicontrol对象,而且还包括图形、坐标轴和他们的子对象。

让我们从另一个角度来看这一层次结构。

计算机的屏幕本身是根结点,图形是根对象的子对象,坐标轴,uimenu ,uicontrol是图形的子对象。

根可以包括多个图形,每个图形含有一组或多组坐标轴以及其子对象,每个图形也可以有一个或多个与坐标轴无关的uimenu和uicontrol。

虽然uicontrol对象无子对象结点,但他们确实具有多种类型。

uimenu对象常将其它的uimenu对象作为其子对象。

3. MATLAB的图形用户界面设计实际上是一种面向对象的设计方法。

假设想建立一个图形界面来显示和处理二维图形的颜色、线型及数据点的图标。

要求其基本功能是:(1)建立一个主坐标系,用来显示要绘制的二维图形;(2)建立一个列表框,允许用户选择不同的着色方法;(3)建立一组按扭,用于处理二维图形线型和数据点的图标;(4)为图形界面加入菜单项,用于决定坐标轴是否显示及坐标轴上是否需要网格;(A)最初图形界面的设想如下图所示:(B)根据上面的设想,下面我们就来制作它的图形用户界面:首先,我们先来看其图形窗口的设置。

Matlab中的GUI设计技巧和实现方法

Matlab中的GUI设计技巧和实现方法

Matlab中的GUI设计技巧和实现方法一、引言Matlab作为一款功能强大的科学计算软件,其GUI设计技巧和实现方法十分重要。

本文将介绍一些常用的GUI设计技巧和实现方法,并结合实际案例进行分析和讲解,旨在为读者提供一些参考和帮助。

二、Matlab中的GUI设计基础在开始GUI设计之前,需要先了解Matlab中的一些基础知识和概念。

Matlab 提供了一种称为GUIDE(Graphical User Interface Development Environment)的工具,可以帮助用户快速创建GUI界面。

通过GUIDE,用户可以方便地添加各种组件,如按钮、文本框、下拉列表等,并为这些组件添加相应的回调函数。

三、GUI界面的布局和美化1. 布局在设计GUI界面时,布局是一个很重要的方面。

合理的布局可以提高用户的使用体验。

Matlab中的GUI界面布局可以通过使用容器组件来实现,如面板(uipanel)和网格布局管理器(gridbaglayoutmanager)。

面板可以将相关的组件放在一起,网格布局管理器可以帮助用户实现自动布局。

2. 美化为了让GUI界面更加美观和易于使用,可以通过一些美化技巧来改善界面的外观。

例如可以使用颜色、字体和图标等元素来增加界面的可读性和吸引力。

此外,还可以使用一些动画效果来增强用户体验。

四、用户交互和数据处理1. 用户交互GUI界面的设计目的是提供给用户与程序进行交互的方式,因此用户交互十分重要。

可以通过一些交互方式来实现用户的操作,如按钮或菜单等。

同时,还可以使用一些交互控件,如滑块、复选框和下拉列表等,来帮助用户进行选择和输入。

2. 数据处理用户在GUI界面中输入的数据通常需要进行处理。

Matlab提供了丰富的数学和数据处理函数来处理各种数据。

通过编写相应的回调函数,可以实现对输入数据的处理和计算,并将结果显示在界面上。

五、实例分析:基于Matlab的图像处理应用为了更好地理解和应用GUI设计技巧和实现方法,我们以基于Matlab的图像处理应用为例进行实例分析。

【2019年整理】第4章MATLAB计算的可视化和GUI设计

【2019年整理】第4章MATLAB计算的可视化和GUI设计
1. plot(x) 绘制x向量曲线 当x是长度为n的数值向量,则坐标系的纵坐标为向量x,横坐标为 MATLAB系统根据x向量的元素序号自动生成的从1开始的向量。 plot(x)命令是在坐标系中顺序地用直线段连接各点,生成一条折线, 当向量的元素充分多时,可以得到一条光滑的曲线。
【例4.1】用plot(x)命令画直线,如图4.1所示。 >> x1=[1 2 3] x1 = 1 2 3 >> plot(x1) >> x2=[0 1 0] x2 = 0 1 0 >> plot(x2)
图4.4 (a) (x1,y1)曲线
(b) (x2,y1)曲线
图4.4ቤተ መጻሕፍቲ ባይዱ( c) (y1,x1)曲线
(d) (y2,x1)曲线
5. plot(z)绘制复向量曲线 plot(z)中的参数z为复向量时,plot(z)和plot(real(z),imag(z))是等效的, 以实部为横坐标,虚部为纵坐标。 【例4.4续】下面的程序画出的曲线和图4.4(e)中的相同。 >> z1=x2+i*y1 z1 = 1.0000 + 1.0000i 1.0000 + 2.0000i 1.0000 + 3.0000i 2.0000 + 4.0000i 2.0000 + 5.0000i 2.0000 + 6.0000i >> plot(z1) %以实部为横坐标,虚部为纵坐标
图4.1 (a) x1曲线
(b) x2曲线
2. plot(x,y) 绘制向量x和y的曲线 当参数x和y都是长度为n的向量,x、y的长度必须相等,plot(x,y)命令 绘制纵坐标为向量y横坐标为向量x的曲线。 【例4.2】绘制正弦曲线y=sin(x)和方波曲线,如图4.2所示。 >> x1=0:0.1:2*pi; >> y1=sin(x1); %y1为x1的正弦函数 >> plot(x1,y1) >> x2=[0 1 1 2 2 3 ]; >> y2=[1 1 0 0 1 1 ]; >> plot(x2,y2) >> axis([0 4 0 2]) %将坐标轴范围设定为0-4和0-2

第4章 MATLAB计算的可视化和GUI设计

第4章 MATLAB计算的可视化和GUI设计

3、三维曲面图 surf:三维曲面图的绘制函数为 surf(z) 绘 制 三 维 曲 面 图 , 参 数 设 置 与 mesh命令相同 surf(x,y,z,c)
例 在x[-1,1], y[-2,2]的范围内绘制曲面图形
f ( x, y) ln(1 x y )
2 2
x=-1:0.05:1;
29
4.3 MATALAB特殊图形绘制
条形图
条形图常用于对统计的数据进行作图,特 别适用于少量且离散的数据。 语法: bar (x, y, width,'参数') %画条形图
30
用条形图表示某年一月份中3日~6日连续四天的 温度数据,y矩阵的各列分别表示平均温度、最高温 度和最低温度,如图所示,用条形图表示。
3、曲面镂空 对希望镂空不显示的地方,可以用 NaN来取代矩阵在该部分的数值,则 所有MATLAB的作图函数都会忽略 NaN数据点。 • 绘 制 三 维 曲 面 z=sin(x)cos(y) 图 中 的 z<0.35部分。
x=0:0.1:2*pi; y=x; [x,y]=meshgrid(x,y); z=sin(y).*cos(x); figure(1);surf(x,y,z) [U,V]=find(z>0.35); for a=1:length(U) z(U(a),V(a))=NaN; end figure(2);surf(x,y,z)
离散数据图
MATLAB提供了多个绘制离散数据的命 令,有stem、 stairs和scatter等。 stem命令绘制的方法和plot命令相似,但 绘制出的是离散点的火柴杆图; stairs用于绘 制阶梯图; scatter用于绘制点图,与plot命令

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

p345subplot(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('圆')练习:P346x=0:0.1:20;zeta=0y1=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 onplot(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 ongtext('\zeta=0')gtext('\zeta=0.3')gtext('\zeta=0.5')gtext('\zeta=0.707')ginput(3)zeta =ans =2.6037 0.903513.1106 2.00294.2166 1.0380P347h_fig=gcfh_axis=gcah_line1=gcoh_title=get(gca,'title')h_text2=findobj(h_fig,'string','\zeta=0.3') h_fig =1h_axis =151.0018h_line1 =1h_title =152.0018h_text2 =Empty matrix: 0-by-1set(h_line1,'linewidth',5)set(h_axis,'xgrid','off')set(gca,'ytick',[0 0.25 0.5 1.0 1.25 1.5 1.75 2.0])set(h_title,'color','red','fontsize',13)set(h_text2,'color','red')??? Undefined function or variable 'h_axis'.P349x=0:0.1:20;y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y=[y1;y2;y3;y4];z=[ones(size(x))*0;ones(size(x))*0.3;ones(siz e(x))*0.5;ones(size(x))*0.707];plot(x,x,x,x)surf(x,x,x,x)??? Input argument "n" is undefined.Error in ==> zeta at 12Z = double(zeta(sym(n),sym(X)));P350x=0:0.3:2*pi;y=sin(x);subplot(2,2,1)bar(x,y,0.5)axis([0,2*pi,-1.2,1.2])subplot(2,2,2)fill(x,y,'r')subplot(2,2,3)stairs(x,y)subplot(2,2,4)stem(x,y)P350guide。

matlab的可视化和GUI设计

MATLAB的计算可视化和GUI设计一、实验目的和要求(1)熟练掌握MA TLAB二维曲线的绘制(2)熟练掌握图形的修饰(3)掌握三维图形的绘制(4)熟练掌握各种特殊图形的绘制(5)掌握句柄图形的概念(6)掌握GUI设计二、内容和步骤(1)绘制二维曲线plot命令是MA TLAB中用来绘制二维曲线的1个常用命令。

>>subplot(221)>>x1=0:0.1:2*pi;>>y1=sin(x1);>>plot(x1,y1)以上命令是把图形窗口分割成两行两列,在窗口1绘制y=sin(x)的曲线;>>subplot(222)>>x2=peaks;>>plot(x2)在窗口2中绘制49*49的矩阵x2的曲线;>>subplot(223)>>x3=[1 2 3];>>y3=[1 2 3;4 5 6];>>plot(x3,y3)在窗口3中绘制x,y的混合曲线;>>x4=[1 1 1;2 2 2];>>y4=[1 3 7;5 9 6];>>z=x4+i*y4;>>plot(z)在窗口4中绘制复向量的曲线。

如下图所示:在窗口2中添加图形的网格并添加文字“x2曲线”>>subplot(222)>>hidden off>>subplot(222)>>grid on>>title('x2曲线')在窗口1中增加y=cos(x)曲线,并用两种不同的线型来表示y=sin(x)和y=cos(x) >>plot(x1,y1,’.’)>>hold on>>y=cos(x1);>>plot(x1,y,’o’)>>legend('sin(x)','cos(x)',4) %添加图例>>xlabel('x') %横坐标轴名>>ylabel('y') %纵坐标轴名在窗口2中改变坐标比例,并去掉坐标框>>axis([0,50,-5,5])>>box off(2)绘制三维图形在MA TLAB中,用来绘制三维图形的命令是plot3,它的使用格式与二维绘图的plot命令相似。

基于matlab的gui设计报告

基于matlab的gui设计报告当然,我很乐意帮助你完成这篇文章。

以下是按照你提供的格式完成的《基于Matlab的GUI设计报告》。

一、介绍1. 引言本报告将探讨基于Matlab的GUI设计,其中包括设计背景、目的和重要性。

2. Matlab简介在开始讨论GUI设计之前,先简要介绍一下Matlab。

Matlab是一种高级的计算机语言和环境,常用于数学计算、数据分析和可视化。

3. GUI设计概述介绍GUI(图形用户界面)设计的概念和重要性。

GUI设计可以提供用户友好的界面,使用户能够通过图形或图标与程序交互。

二、Matlab的GUI设计工具1. Guide工具Guide是Matlab的一个可视化工具,用于创建图形用户界面。

本节将介绍Guide 的基本功能和使用方法。

2. App Designer工具App Designer是Matlab新引入的GUI设计工具,相比Guide具有更强大的功能和更好的用户体验。

本节将介绍App Designer的特点和使用技巧。

3. Matlab的其他GUI工具除了Guide和App Designer,Matlab还提供了其他GUI设计工具,如uifigure 和uitab。

本节将概述这些工具的功能和用途。

三、GUI设计原则1. 界面布局和设计介绍如何合理安排界面布局,包括按钮、文本框、下拉菜单等组件的摆放位置和大小。

2. 用户交互探讨合理的用户交互方式,包括按钮点击、鼠标悬停等,以提供更好的用户体验和减少误操作。

3. 数据可视化介绍如何将计算结果以图表、图像等形式展示给用户,提高数据分析和可视化的效率。

四、案例分析1. GUI设计案例1:温度转换器以一个简单的温度转换器为例,展示如何使用Matlab的GUI设计工具创建一个实用的应用程序。

2. GUI设计案例2:图像处理工具以图像处理为应用场景,展示如何使用Matlab的GUI工具进行图像处理和显示。

3. GUI设计案例3:数据分析工具以数据分析为应用场景,展示如何使用Matlab的GUI工具进行数据可视化和分析。

第4章 MATLAB计算的可视化和GUI设计

(3)如果X和Y都是矩阵,则大小必须相同,将矩阵X的每列和Y的每列画1条曲线。
基本绘图命令
【例4.4】 混合式图形的绘制,如图4.5所示。
(a)(x1,y1)曲线
(b)(x2,y1)曲线
(c)(y1,x1)曲线
(d)(y2,x1)曲线
(e)(x2,y2)曲线
基本绘图命令
>> x1=[1 2 3]; >> y1=[1 2 3;4 5 6] y1 =
(3)除了步骤1、步骤2、步 骤3外的其他步骤,用户可以 根据自己的需要改变前后次 序。
03 多个图形绘制的方法
1.指定图形窗口 2.同一窗口多个子图 3.同一窗口多次叠绘 4.双纵坐标图
多个图形绘制的方法
1.指定图形窗口
本书4.1.1节中介绍的plot命令都是在默认的“Figure No.1”窗口中绘制图形的,当第2次使用plot命令时, 就将第1次绘制的图形覆盖了。因此,如果需要多个图形窗口同时打开时,可以使用figure语句。 语法:
图形的精细修饰(图形句柄操作): 利用对象属性值进行设置; 利用图形窗口工具条进行设置
绘制曲线的一般步骤
说明:
(1)步骤1和步骤3是最基本的绘 图步骤,如果利用MATLAB的默 认设置,则通常只需要这两个基 本步骤就可以绘制出图形,而其 他步骤并非完全必需。
(2)步骤2一般在图形较多的情 况下,需要指定图形窗口、子图 时使用。
颜色
类型
符号
黄色 品红色(紫色) 青色 红色 绿色 蓝色 白色 黑色
y(Yellow) m(Magenta) c(Cyan) r(Red) g(Green) b(Blue) w(White) k(Black)
数据点间连线
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。




中有复数时 s的意义与其在 plot(X,’s’)格式中的意义相同。 当x,y , Matlab程序设计 忽略其虚部
西华师范大学计算机学院
ChinaWest Nomal University

plot(X1,Y1,’s1’,X2,Y2,’s2’,…)

在此格式中,每个绘线“三元组”(X,Y,’s’)的 结构和作用,与plot(X,Y,’s’) 相同。不同的“三 元组”之间没有约束关系。
可视化的一般步骤
步 2 骤 典型指令 figure(1) 选定图形窗及子图位置: %指定1号图形窗 缺省时,打开Figure No.01,或 subplot(2,2,3) 当前窗,当前子图 %指定三号子图 可用指令指定图形窗号和子图号
3
调用二维、三维曲线绘图指令: 线型、色彩、数据点形
plot(x,y,’r:’) %用红虚点画二维线 plot3(x,y,z,’b-’) %用兰色实线画曲线 mesh(X,Y,Z)
利用对象属性值设置 利用图形窗工具条进行

9 打印
图形窗上的直接打印选项或 按键 利用图形后处理软件打印

%采用图形窗选项或按键打印最简 捷 print –dps2 Matlab 程序设计 % 专业质量打印指令
西华师范大学计算机学院
ChinaWest Nomal University
第二节 二维曲线绘图的基本操作

对于离散实函数yn=f(xn),当 xn以递增(或递减)次序取
值时,根据函数关系可求得同样数目的yn,用向量形式可记 述为x=[x1,x2,…,xN]T, y=[y1,y2,…,yN]T。当把这向量对
用直角坐标中的点序列图示时,就实现了离散函数的可视
化。

注意:图形不能表现无限区间上的函数关系。
基本绘图函数 曲线的色彩、线型和数据点形 坐标、刻度和分格线控制 图形标识 多次叠绘、双纵坐标和多子图 交互式图形指令

Matlab程序设计
西华师范大学计算机学院
ChinaWest Nomal University

基本绘图函数
1、plot的基本调用格式(二维曲线绘图)
2、对数坐标绘图
Matlab程序设计
西华师范大学计算机学院
ChinaWest Nomal University
例1 二维曲线绘图基本指令演示
例2 用图形表示连续调制波 形y sin(t ) sin(9t ) 及其包络线。
x2 y2 例3 采用模型 2 1画一组椭圆。 2 a 25 a
Matlab程序设计
0 自动 1 右上角(缺省) 2 左上角 3 左下角 4 右下角
Matlab程序设计
pos取值 图例位置
-1 图右侧
西华师范大学计算机学院
ChinaWest Nomal University
Matlab程序设计
西华师范大学计算机学院
ChinaWest Nomal University

plot(X,Y,’s’)

X、Y是同维向量时,绘制以X、Y元素为横、纵坐标 的曲线。 X是向量,Y是有一维与X等维的矩阵时,则绘制出 多根不同色彩的曲线。曲线数等于Y阵的另一维数, X被作为这些曲线的共同横坐标。 X是矩阵,Y是向量时,情况与上相同,只是曲线都 以Y为共同纵坐标。 X、Y是同维矩阵时,则以X、Y对应列元素为横、纵 坐标分别绘制曲线,曲线条数等于矩阵的列数。
Matlab程序设计
西华师范大学计算机学院
ChinaWest Nomal University


图形标识
图形标识包括:图名( Title )、坐标轴名( Label )、 图形注释(Text)和图例(Legend)。 标识指令的最简捷使用格式如下: title(S) 书写图名 xlabel(S) 横坐标轴名 ylabel(S) 纵坐标轴名 legend(S1,S2,…) 绘制曲线所用线型、色彩或数 据点形图例 text(xt,yt,S) 在图面(xt,yt)坐标处书写字 符注释
3、极坐标绘图 4、复数绘图
Matlab程序设计
西华师范大学计算机学院
ChinaWest Nomal University


plot的基本调用格式
plot(X,’s’) X是实向量时,以该向量元素的下标为横坐标、元 素值为纵坐标画出一条连续曲线。 X是实矩阵时,则按列绘制每列元素值相对其下标 的曲线。图中曲线数等于X阵列数。 X是复数矩阵时,则按列分别以元素实部和虚部为 横、纵坐标绘制多条曲线。 s是用来指定线型、色彩、数据点形的选项字符串。 它可以缺省,此时线形、色彩将由MATLAB的默认设 置确定。


对区间进行更细的分割,计算更多的点,去近似表现函数的连续 变化; 把两点用直线连接,近似表现两点间的(一般是非线性的)函数 性状。

在MATLAB中,以上两种表现方法都可以采用。 注意:倘若自变量的采样点数不足够多,则无论哪种方 法都不能真实地反映原函数。
Matlab程序设计
西华师范大学计算机学院
x=f1(t);y=f2(t);z=f3(t); x=x1:dx:x2;
%自变量采样向量
y=y1:dy:y2;
%自变量采样向量
[X,Y]=meshgrid(x,y);
%格点矩阵
Z=f(X,Y);
Matlab程序设计
%计算函数矩阵
西华师范大学计算机学院
ChinaWest Nomal University
Matlab程序设计
西华师范大学计算机学院

ChinaWest Nomal University 坐标控制
坐标轴控制方式、取向和范围 指 令 含 义 指 axis fill axis image axis normal axis square axis tight axis vis3d 令 坐标轴的高宽比 含 义
Matlab程序设计
调用三维曲面绘图指令
西华师范大学计算机学院
ChinaWest Nomal University
可视化的一般步骤

4

典型指令
axis([x1,x2,y1,y2]) %平面坐标范围 axis([x1,x2,y1,y2,z1,z2]) %三维坐标范围 grid on %坐标分格线
设置轴的范围、坐标 分格线
Matlab程序设计

西华师范大学计算机学院
ChinaWest Nomal University
legend

legend(arg,pos) 在指定位置建立图例 legend off 擦除当前图上的图例 说明: 输入宗量arg是图例中的说明文字注释。 输入宗量pos是图例在图上位置的指定符,它可取下 表中的值。 Legend在图形窗中产生后,可用鼠标对其进行拖拉, 即把鼠标光标移到图例上,按住鼠标左键;图例将随 鼠标移动,直到满意位置;放开按键便完成操作。
西华师范大学计算机学院
ChinaWest Nomal University


对数坐标绘图
对数坐标绘图分为x轴对数(semilogx)、 y轴对数 (semilogy)及双对数(loglog)三个函数,其调用 格式与二维曲线绘图函数plot相似。
Matlab程序设计
西华师范大学计算机学院
ChinaWest Nomal University
axis auto
axis manual axis off axis on axis ij axis xy
使用缺省设置
使当前坐标范围不变 取消轴背景 使用轴背景 矩阵式坐标,原点在左上 方 普通直角坐标,原点在左 下方
axis equal
纵、横轴采用等长刻度
在manual方式下起作用,使 坐标充满整个绘图区 纵、横轴采用等长刻度,且坐标 框紧贴数据范围 缺省矩形坐标系 产生正方形坐标系 把数据范围直接设为坐标范围 保持高宽比不变,用于三维旋 转时避免图形大小变化
axis(V) 人工设定坐标范围。设定 V=[x1,x2,y1,y2]; 值:二维,4个;三维,6 V=[x1,x2,y1,y2, 个 z1,z2];
Matlab 程序设计 说明:坐标范围设定向量V中的元素必须服从:x1<x2,y1<y2,z1<z2 。V 的元素值允许取inf或 -inf,那意味着上限或下限是自动产生的,即坐标范围半自动确定。 西华师范大学计算机学院


极坐标绘图
polar(theta,rho,’s’) 按照s所定义的线形、标记点和颜色绘制由theta、 rho所确定的曲线,其中绘图参数theta、rho分别 为角度和半径。
Matlab程序设计
西华师范大学计算机学院
ChinaWest Nomal University


复数绘图
当使用plot函数绘制复数图形时,通常虚部是忽略的。 然而有一种特殊情况,即当plot的参数只有一个复变 量z时,则绘制的图形为实部对于虚部的关系图(复平 面上的一组点)。这时plott(z)等价于 polt(real(z),imag(z)),其中z为一个复矢量。
ChinaWest Nomal University
可视化的一般步骤
骤 典型指令 t=pi*(0:100)/100;
%参变量采样向量
步 1
曲线数据准备 先取一个参变量采样向量 然后计算各坐标数据向量 三维曲面数据 产生自变量采样向量 产生自变量“格点”矩阵 计算自变量“格点”矩阵相 应的函数值矩阵
第一节 引导

离散数据和离散函数的可视化 连续函数的可视化可视 Nhomakorabea的一般步骤
Matlab程序设计
西华师范大学计算机学院
相关文档
最新文档