第4章 MATLAB计算的可视化和GUI设计
- 格式:doc
- 大小:1.49 MB
- 文档页数:47
实验四 MATLAB GUI设计一.预备知识点1. 图形用户界面(GUI)是用户与计算机程序之间的交互方式,是用户与计算机进行信息交流的方式。
计算机在屏幕显示图形和文本,若有扬声器还可产生声音。
用户通过输入设备,如:键盘、鼠标、跟踪球、绘制板或麦克风,与计算机通讯。
用户界面设定了如何观看和如何感知计算机、操作系统或应用程序。
通常,多是根据悦目的结构和用户界面功能的有效性来选择计算机或程序。
图形用户界面或GUI是包含图形对象,如:窗口、图标、菜单和文本的用户界面。
以某种方式选择或激活这些对象,通常引起动作或发生变化。
最常见的激活方法是用鼠标或其它点击设备去控制屏幕上的鼠标指针的运动。
按下鼠标按钮,标志着对象的选择或其它动作。
2.对“句柄图形”的理解是设计和实现GUI的先决条件。
由图形命令生成的每一事物是一个图形对象。
图形对象不仅包括uimenu和uicontrol对象,而且还包括图形、坐标轴和他们的子对象。
让我们从另一个角度来看这一层次结构。
计算机的屏幕本身是根结点,图形是根对象的子对象,坐标轴,uimenu ,uicontrol是图形的子对象。
根可以包括多个图形,每个图形含有一组或多组坐标轴以及其子对象,每个图形也可以有一个或多个与坐标轴无关的uimenu和uicontrol。
虽然uicontrol对象无子对象结点,但他们确实具有多种类型。
uimenu对象常将其它的uimenu对象作为其子对象。
3. MATLAB的图形用户界面设计实际上是一种面向对象的设计方法。
假设想建立一个图形界面来显示和处理二维图形的颜色、线型及数据点的图标。
要求其基本功能是:(1)建立一个主坐标系,用来显示要绘制的二维图形;(2)建立一个列表框,允许用户选择不同的着色方法;(3)建立一组按扭,用于处理二维图形线型和数据点的图标;(4)为图形界面加入菜单项,用于决定坐标轴是否显示及坐标轴上是否需要网格;(A)最初图形界面的设想如下图所示:(B)根据上面的设想,下面我们就来制作它的图形用户界面:首先,我们先来看其图形窗口的设置。
实验4 MATLAB计算机的可视化和程序设计目的和要求(1)熟练掌握MATLAB二维曲线的绘制。
(2)熟练掌握图形的修饰。
(3)掌握三维图形的绘制。
(4)熟练掌握各种特殊图形的绘制。
(5)熟练掌握MATLAB的程序流程控制结构。
(6)熟练掌握M文件的结构。
内容和步骤MATLAB的图形功能非常大,可以对二维、三维数据用图形表现,并可以对图形的线型、曲面、视角、色彩、光线等进行处理。
MATLAB的语法规则简洁,编程效率高,作为一个完整的程序语言,MATLAB也有其各种程序流程控制、文件格式和函数调用的规则,通过函数的调用就能够组成庞大的程序,完成复杂的功能。
1.绘制二维曲线(1)Plot(x) %绘制以x为纵坐标的二维曲线Plot(x,y) %绘制以x为横坐标、y为纵坐标的二维曲线>>X=linspace(0,2*pi);>>Plot(x)>>y=rand(10);>>plot(y)(2)绘制如图T4.1运行界面所示的图形,把图形窗口分割为2列2行,窗口左上角一正弦曲线,y=sin(2*pi*t),t∈[0,2];窗口右下角画3条衰减的单边指数曲线y=e^-t,y=e^-2t和y=e^-3t,t∈[0,2];窗口左下角画一矩形脉冲信号,脉冲宽度为1,高度为2,开始时间为1;窗口右下角画一单位圆。
MATLAB允许在同一窗口绘制多个子图,使用subplot命令,各子图的顺序是先向右后向下。
①2行2列子图的第1个图;>>subplot(2,2,1)>>t1=0:0.1:2;>>y1=sin(2*pi*t1);>>plot(t1,y1);>>title(‘y=sin(2*pi*t)’) %添加标题②2行2列字图的第2个图:>>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.1 1.2]); %设定坐标范围>>title(‘y=e-t,y=e-2t,y=e-3t’)③2行2列子图的第3个图:>>subplot(2,2,3);>>t3=[0 1 1 2 2 3 4]>>y3=[0 0 2 2 0 0 0]>>plot(t3,y3,’:*r ’); %点线、星号、红色线输出>>axis([0 4 -0.5 3]);>>title(‘脉冲信号’)④2行2列子图的第4个图:>>subplot (2,2,4);>>t4=0:0.1:2*pi ;>>plot (sin(t4),cos(t4),‘--og ’); %虚线、圆。
Matlab技术GUI设计方法Matlab是一种强大的数学软件,广泛应用于科学计算、数据分析和可视化等领域。
在使用Matlab进行数据处理和算法开发时,GUI(Graphical User Interface,图形用户界面)常常是必不可少的工具。
本文将介绍一些Matlab技术GUI设计方法,帮助读者快速掌握GUI设计的基本原理和实现技巧。
一、GUI设计的基本原理1. 用户需求分析在设计GUI之前,首先需要明确用户的需求。
这包括用户需要处理的数据类型、使用的功能和界面布局等。
通过与用户交流和需求分析,可以明确GUI的设计目标,为后续的设计工作提供指导。
2. 界面布局设计界面布局是GUI设计的基础,决定了用户与软件交互的方式。
在设计界面布局时,可以使用Matlab提供的GUI设计工具来快速设计界面,也可以采用编程的方式来实现自定义的界面布局。
无论是使用哪种方式,都需要考虑界面的美观性和易用性。
3. 功能模块设计功能模块是GUI设计的核心,决定了用户可以通过界面进行的操作。
在设计功能模块时,可以使用Matlab提供的各种函数和工具箱来实现数据处理、算法运算等功能。
同时,还可以根据用户的需求,添加自定义的功能模块,提高GUI的灵活性和扩展性。
4. 事件响应设计事件响应是GUI设计中的重要部分,用于实现用户和软件之间的交互。
在Matlab中,可以通过编写回调函数来实现事件的响应。
回调函数是Matlab中的一种特殊函数,用于处理用户的输入和界面的变化。
通过编写适当的回调函数,可以使GUI实现与用户的实时交互,并根据用户的操作进行相应的数据处理和算法运算。
二、GUI设计的实现技巧1. 使用Matlab提供的GUI设计工具Matlab提供了一系列的GUI设计工具,如GUIDE(GUI Design Environment)、App Designer等。
这些工具提供了丰富的界面组件和布局选项,可以帮助用户快速设计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程序设计GUI(Graphical User Interface)是一种以图形化界面形式展示的用户界面,它可以通过鼠标点击、拖拽等交互操作与用户进行信息交流。
MATLAB是一种强大的数学计算软件,通过GUI程序设计,可以方便地实现MATLAB的功能,并提供更加友好的用户界面。
一、GUI程序设计的基本概念1. 窗口和控件:GUI程序由一个主窗口和多个控件组成。
主窗口是程序的主界面,控件包括按钮、文本框、列表框等用户可以与之交互的元素。
2. 回调函数:每个控件都可以绑定一个回调函数,当用户与控件进行交互时,回调函数会被触发,执行相应的操作。
3. 属性和事件:控件有各种属性,如位置、大小、颜色等,可以通过设置属性来改变控件的外观。
控件还可以响应各种事件,如鼠标点击、键盘按下等。
二、GUI程序设计的步骤1. 创建GUI窗口:使用MATLAB提供的函数创建一个GUI窗口,并设置窗口的大小、标题等属性。
2. 添加控件:在窗口中添加所需的控件,如按钮、文本框等。
可以使用MATLAB提供的可视化工具进行拖拽式的布局设计。
3. 设置控件属性:根据需求设置控件的属性,如位置、大小、颜色等。
可以使用MATLAB提供的属性编辑器或通过代码设置属性。
4. 编写回调函数:为每个控件编写相应的回调函数,实现用户交互时的操作。
回调函数可以使用MATLAB提供的函数和语法,完成各种计算、数据处理等任务。
5. 运行程序:保存GUI程序,并点击运行按钮,程序将在MATLAB的命令窗口中启动,并显示GUI窗口。
6. 调试和优化:在运行过程中,可以通过调试工具查看程序的运行状态,发现并修复可能存在的错误。
还可以根据用户反馈,对GUI界面进行优化,提升用户体验。
三、GUI程序设计的实例:温度转换器下面以一个简单的温度转换器为例,介绍如何使用MATLAB进行GUI程序设计。
1. 创建GUI窗口:使用MATLAB的`figure`函数创建一个窗口,设置窗口的大小和标题。
MATLAB中的GUI程序设计MATLAB是一种功能强大的编程语言,它能够进行数据处理、数值计算、图形绘制等多种操作。
在MATLAB中,我们可以通过编写GUI程序来实现更加友好和交互性的界面,使得用户可以直观地进行操作和获得结果。
下面将介绍MATLAB中的GUI程序设计。
在MATLAB中,GUI程序的编写一般分为以下几个步骤:界面设计、回调函数编写和程序调试。
界面设计是GUI程序设计的第一步,我们可以通过MATLAB提供的GUIDE工具来完成。
GUIDE是一个图形化的界面设计工具,可以通过拖拽、调整控件位置和属性等方式来设计界面。
在GUIDE中,我们可以选择界面的布局方式,如水平布局、垂直布局、表格布局等,还可以选择不同的控件,如按钮、文本框、复选框、滑块等。
在界面设计完成后,我们需要编写回调函数来实现不同控件的事件响应。
回调函数是指当用户进行其中一种操作时,界面会调用相应的函数来响应这个操作。
例如,当用户点击按钮时,界面会调用按钮的回调函数来执行相应的操作。
在MATLAB中,回调函数通常以"Callback"结尾并附加到相应的控件上。
在回调函数中,我们可以编写代码来实现各种功能。
例如,可以在按钮的回调函数中编写代码来处理用户的点击事件,可以在文本框的回调函数中编写代码来获取用户输入的内容等。
回调函数中的代码可以调用MATLAB提供的各种函数来完成相应的功能,也可以调用自定义的函数来进行更复杂的操作。
编写完回调函数后,我们需要对整个程序进行调试。
MATLAB提供了调试器功能,可以帮助我们定位程序中的错误和调试逻辑。
我们可以通过设置断点、单步执行、观察变量等方式来调试程序,以确保程序能够正常运行并得到正确的结果。
总之,MATLAB中的GUI程序设计可以帮助我们实现更加友好、交互性和可视化的界面。
通过界面设计和回调函数编写,我们可以实现各种功能,如数据可视化、图形绘制、物理模拟等。
MATLAB中的GUI设计与开发引言:随着科技的不断进步,人们对于软件和应用的需求也越来越高。
GUI (Graphical User Interface,图形用户界面)成为了现代应用程序开发的重要组成部分,它能够提供直观、友好的操作界面,大大简化了用户对软件的使用难度。
在众多的GUI开发工具中,MATLAB凭借其强大的计算能力和易用的界面设计工具而备受青睐。
本文将介绍MATLAB中的GUI设计与开发,探讨其优势和应用领域。
一、MATLAB的GUI设计工具MATLAB提供了一套完整的GUI设计工具,包括GUIDE(GUI Development Environment,界面开发环境)和App Designer。
GUIDE是MATLAB早期版本中使用的界面设计工具,而App Designer则是从MATLAB R2016a版本开始引入的新一代GUI设计工具。
两者均可用于创建交互式应用程序,但App Designer在功能和易用性方面更加强大。
二、GUI设计的基本元素在MATLAB中,GUI界面由各种控件(或称为组件)组成,如按钮、输入框、复选框等。
这些控件可以直接拖拽到界面上,并通过属性设置进行个性化定制。
1.按钮(Button)按钮是GUI设计中最常用的控件之一,它可以用于实现各种功能,如计算、切换界面等。
MATLAB中的按钮有多种样式可选,例如普通按钮、复选按钮和单选按钮等。
2.输入框(Edit Field)输入框用于接收用户输入的文本信息,比如数字、字符串等。
MATLAB中的输入框有多种属性可以设置,如默认值、字符类型限制等。
3.复选框(Checkbox)复选框用于给用户提供选择的机会,可以用于实现多选功能。
MATLAB中的复选框可以设置默认选中状态,并通过回调函数获取用户的选择结果。
4.列表框(List Box)列表框用于展示一组选项,并且允许用户进行选择。
MATLAB中的列表框可以通过添加选项和设置默认选中项来实现。
MATLAB科学计算器设计——GUI设计(含源代码)目录计算器的效果图............................................................................ 错误!未定义书签。
第一章GUI设计界面 .. (4)1.1打开GUI (4)1.2.添加按钮 (5)1.3.根据按钮的作用及视觉效果做一定的修改 (5)1.4.保存、添加功能函数 (6)1.4.1 数字键编写 (6)1.4.2 符号键的编写 (6)1.4.3 运算符“=”的编写 (6)1.4.4 按键“←back”的编写 (7)1.4.5 按键“清空”的编写 (7)1.4.6 按键“退出”的编写 (7)1.4.7 按键“二进制数转十进制数”的编写 (7)1.4.8 按键“十进制数转二进制数”的编写 (7)第二章计算器的使用 (7)2.1 除法运算(÷) (7)2.2 平方运算(^2) (8)2.3 函数cos (∏/3)的计算 (8)2.4 函数arctan (∏/3)的计算 (9)2.5 以2为底的对数(log 2)的计算 (9)2.6 十进制数转二进制数的计算 (10)2.7 二进制数转十进制数的计算 (11)第三章各按键的程序源代码 (12)第四章问题和解决方法 (17)第五章心得体会 (16)参考文献 (17)计算器的效果图:第一章GUI设计界面:1.1打开GUI输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:图 11.2.添加按钮图21.3.根据按钮的作用及视觉效果做一定的修改双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。
1.4.保存、添加功能函数把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。
MATLAB的GUI程序设计咱来说说 MATLAB 的 GUI 程序设计,这玩意儿可有意思啦!我记得有一次,我带的一个学生,叫小李,特别苦恼地来找我。
他说:“老师啊,这 MATLAB 的 GUI 程序设计太难搞了,我脑袋都快炸了!”我就笑着跟他说:“别着急,咱们一步步来。
”那啥是 MATLAB 的 GUI 程序设计呢?简单来说,就是给MATLAB 这个强大的工具穿上一件好看又好用的“外衣”,让用户能更方便、更直观地和它打交道。
比如说,你想做一个计算数学题的小工具。
通过 GUI 程序设计,你可以弄出漂亮的输入框,让用户输入数字;再弄几个按钮,一个是“计算”,一个是“清除”啥的。
然后,计算的结果能清楚地显示在一个专门的地方。
要设计好这个 GUI ,第一步得先想好要实现啥功能。
就像盖房子,得先有个设计图。
是做个图像处理的工具,还是搞个数据分析的小软件?想好了,才能动手。
然后就是创建界面啦。
在 MATLAB 里,有专门的命令和工具来做这个。
比如说,‘uicontrol’ 这个命令就能创建各种控件,像按钮、文本框、下拉菜单等等。
你可以设置它们的大小、位置、颜色,怎么好看怎么来。
控件弄好了,还得给它们加上功能。
这就好比给每个控件都赋予灵魂。
比如说,点击“计算”按钮,就得让程序知道要去做计算的事儿,还得把结果显示出来。
这就得写回调函数啦。
回调函数就像是每个控件的“大脑”。
当有操作发生时,它就开始工作。
写回调函数的时候,可得仔细,逻辑要清晰,不然程序就会乱套。
还有布局管理也很重要。
界面上的控件不能乱摆,得整整齐齐,看着舒服。
MATLAB 提供了一些布局的方法,像‘gridlayout’ 、‘flowlayout’ ,能帮咱们轻松搞定布局。
在设计过程中,还得注意用户体验。
按钮的名字要简单易懂,提示信息要清楚明白。
别让用户摸不着头脑。
就像我那个学生小李,在我的指导下,一点点弄明白了。
最后做出了一个能帮他快速计算物理实验数据的小工具,高兴得不行。
第4章MATLAB计算的可视化和GUI设计MATLAB具有非常强大的二维和三维绘图功能,尤其擅长于各种科学运算结果的可视化。
4.1二维曲线的绘制4.1.1基本绘图命令plot1. plot(x) 绘制x向量曲线plot命令是MATLAB中最简单而且使用最广泛的一个绘图命令,用来绘制二维曲线。
语法:plot(x) %绘制以x为纵坐标的二维曲线plot(x,y) %绘制以x为横坐标y为纵坐标的二维曲线说明:x和y可以是向量或矩阵。
【例4.1】用plot(x)命令画直线,如图4.1所示。
图4.1 (a) x1曲线(b) x2曲线 x1=[1 2 3]x1 =1 2 3plot(x1)x2=[0 1 0]x2 =0 1 0plot(x2)2. plot(x,y) 绘制向量x 和y 的曲线【例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-23. plot(x) 绘制矩阵x 的曲线【例4.3】矩阵图形的绘制,如图4.3所示。
x1=[1 2 3;4 5 6]; plot(x1);x2=peaks; %产生一个49*49的矩阵plot(x2);程序分析:a 图中有三条曲线而不是两条曲线,因为矩阵x1有三列,每列向量画一条曲线;b 图为由peaks 函数生成的一个49×49的二维矩阵,因此产生49条曲线。
4. plot(x,y)绘制混合式曲线当plot(x,y)命令中的参数x 和y 是向量或矩阵时,分别有以下几种情况:如果x 是向量,而y 是矩阵,则x 的长度与矩阵y 的行数或列数必须相等,如果x图4.2 (a) 正弦曲线 (b) 方波曲线图4.3 (a) x1曲线 (b) x2曲线的长度与y的行数相等,则向量x与矩阵y的每列向量对应画一条曲线;如果x的长度与y 的列数相等,向量x与y的每行向量画一条曲线,如果y是方阵,则x和y的行数和列数都相等,将向量x与矩阵y的每列向量画一条曲线;▪如果x是矩阵,而y是向量,则y的长度必须等于x的行数或列数,绘制的方法与前一种相似;▪如果x和y都是矩阵,则大小必须相同,矩阵x的每列和y的每列画一条曲线。
【例4.4】混合式图形的绘制,如图4.4所示。
x1=[1 2 3];y1=[1 2 3;4 5 6]y1 =1 2 34 5 6plot(x1,y1) %每行一条曲线y2=[1 2 ;3 4; 5 6]y2 =1 23 45 6plot(x1,y2) %每列一条曲线plot(y1,x1)plot(y2,x1)x2=[1 1 1;2 2 2]x2 =1 1 12 2 2 plot(x2,y1) %按列与列对应的方式5. plot(z)绘制复向量曲线【例4.4续】下面的程序画出的曲线和图4.4(e)中的相同。
图4.4 (a) (x1,y1)曲线(b) (x2,y1)曲线图4.4 ( c) (y1,x1)曲线 (d) (y2,x1)曲线图4.4 (e) (x2,y1)曲线z1=x2+i*y1z1 =1.0000 + 1.0000i 1.0000 +2.0000i 1.0000 +3.0000i2.0000 + 4.0000i 2.0000 + 5.0000i 2.0000 + 6.0000iplot(z1) %以实部为横坐标,虚部为纵坐标6. plot(x1,y1,x2,y2,…)绘制多条曲线plot命令还可以同时绘制多条曲线,用多个矩阵对为参数,MATLAB自动以不同的颜色绘制不同曲线。
每一对矩阵(xi,yi)均按照前面的方式解释,不同的矩阵对之间,其维数可以不同。
【例4.5】绘制三条曲线,如图4.5所示。
x=0:0.1:2*pi;plot(x,sin(x),x,cos(x),x,sin(3*x)) %画三条曲线图4.5 三条曲线4.1.2绘制曲线的一般步骤表4.1为绘制二维、三维图形一般步骤的归纳。
表4.1绘制二维、三维图形的一般步骤内容曲线数据准备:对于二维曲线,横坐标和纵坐标数据变量;说明:▪步骤1和3是最基本的绘图步骤,如果利用MA TLAB的默认设置通常只需要这两个基本步骤就可以基本绘制出图形,而其他步骤并不完全必需。
▪步骤2一般在图形较多的情况下,需要指定图形窗口、子图时使用。
▪除了步骤1、2、3的其他步骤用户可以根据自己需要改变前后次序。
4.1.3多个图形绘制的方法1. 指定图形窗口如果需要多个图形窗口同时打开时,可以使用figure语句。
语法:figure(n) %产生新图形窗口说明:如果该窗口不存在,则产生新图形窗口并设置为当前图形窗口,该窗口名为“Figure No.n”,而不关闭其它窗口。
2. 同一窗口多个子图如果需要在同一个图形窗口中布置几幅独立的子图,可以在plot命令前加上subplot命令来将一个图形窗口划分为多个区域,每个区域一幅子图。
语法:subplot(m,n,k) %使(m×n)幅子图中的第k幅成为当前图说明:将图形窗口划分为m×n幅子图,k是当前子图的编号,“,”可以省略。
子图的序号编排原则是:左上方为第1幅,先向右后向下依次排列,子图彼此之间独立。
【例4.6】用subplot命令画四个子图,如图4.6所示。
x=0:0.1:2*pi;subplot(2,2,1) %分割为2*2个子图,左上方为当前图plot(x,sin(x))subplot(2,2,2) %右上方为当前图plot(x,cos(x))subplot(2,2,3) %左下方为当前图plot(x,sin(3*x))subplot(224) %右下方为当前图,省略逗号plot(x,cos(3*x))图4.6 四个子图如果在使用绘图命令之后,想清除图形窗口画其它图形,应使用“clf”命令清图形窗。
clf %清除子图3. 同一窗口多次叠绘为了在一个坐标系中增加新的图形对象,可以用“hold”命令来保留原图形对象。
语法:hold on %使当前坐标系和图形保留hold off %使当前坐标系和图形不保留hold %在以上两个命令中切换说明:在设置了“hold on”后,如果画多个图形对象,则在生成新的图形时保留当前坐标系中已存在的图形对象,MATLAB会根据新图形的大小,重新改变坐标系的比例。
【例4.7】在同一窗口画出函数sinx在区间[0 2π]的曲线和cosx在区间[-ππ]的曲线,如图4.7(a)所示。
x1=0:0.1:2*pi;plot(x1,sin(x1))hold onx2=-pi:.1:pi;plot(x2,cos(x2))程序分析:坐标系的范围由0~2π转变为-π~2π。
4. 双纵坐标图语法:plotyy(x1,y1,x2,y2) %以左、右不同纵轴绘制两条曲线说明:左纵轴用于(x1,y1)数据,右纵轴用于(x2,y2)数据来绘制两条曲线。
坐标轴的范围、刻度都自动产生。
【例4.7续】用plotyy函数实现在同一图形窗口绘制两条曲线,如图4.7(b)所示。
plotyy(x1,sin(x1),x2,cos(x2))程序分析:plotyy 函数用不同颜色绘制两条曲线,左右两边使用两个纵坐标轴,横坐标从-π~2π。
4.1.4曲线的线型、颜色和数据点形plot 命令还可以设置曲线的线段类型、颜色和数据点形等,如表4.2所示。
表4.2 线段、颜色与数据点形颜色 数据点间连线 数据点形 类型 符号 类型 符号 类型 符号语法:plot(x,y,s)说明:x 为横坐标矩阵,y 为纵坐标矩阵,s 为类型说明字符串参数;s 字符串可以是线段类型、颜色和数据点形三种类型的符号之一,也可以是三种类型符号的组合。
【例4.8】用不同线段类型、颜色和数据点形画出sinx 和cosx 曲线,如图4.8所示。
x=0:0.1:2*pi;图4.7 (a) 用hold on 在同一窗口画出两条曲线 (b) 用plotyy 在同一窗口画出两条曲plot(x,sin(x),'r-.') %用红色点划线画出曲线hold onplot(x,cos(x),'b:o')%用蓝色圆圈画出曲线,用点线连接4.1.5设置坐标轴和文字标注1. 坐标轴的控制用坐标控制命令axis 来控制坐标轴的特性,表4.3列出其常用控制命令。
表4.3 常用的坐标控制命令含义 命令 含义使用默认设置 axis equal 纵、横轴采用等长刻度使当前坐标范围不变axis fill 在manual 满整个绘图区取消轴背景 axis image 纵、横轴采用等长刻度,2. 分格线和坐标框(1) 使用grid 命令显示分格线 语法:grid on %显示分格线 grid off %不显示分格线 grid %在以上两个命令间切换图4.8在同一窗口画出两条曲线说明:不显示分格线是MATLAB 的默认设置。
分格线的疏密取决于坐标刻度,如果要改变分格线的疏密,必须先定义坐标刻度。
(2) 使用box 命令显示坐标框 语法:box on %使当前坐标框呈封闭形式 box off %使当前坐标框呈开启形式 box %在以上两个命令间切换 说明:在默认情况下,所画的坐标框呈封闭形式。
【例4.9】在两个子图中使用坐标轴、分格线和坐标框控制,如图4.9所示。
x=0:0.1:2*pi; subplot(2,1,1)plot(sin(x),cos(x)) axis equal %纵、横轴采用等长刻度 grid on %加分格线 subplot(2,1,2) plot(x,exp(-x))axis([0,3,0,2]) %改变坐标轴范围3. 文字标注 (1) 添加图名 语法:title(s) %书写图名说明:s 为图名,为字符串,可以是英文或中文。
(2) 添加坐标轴名 语法:xlabel(s)%横坐标轴名 ylabel(s) %纵坐标轴名 (3) 添加图例 语法:图4.9 用坐标轴、分格线和坐标框控制legend(s,pos) %在指定位置建立图例legend off %擦除当前图中的图例说明:参数s是图例中的文字注释,如果多个注释则可以用’s1’,’s2’,…的方式;参数pos 是图例在图上位置的指定符,它的取值如表4.4所示。
表4.4pos取值所对应的图例位置用legend命令在图形窗口中产生图例后,还可以用鼠标对其进行拖拉操作,将图例拖到满意的位置。
(4) 添加文字注释语法:text(xt,yt,s) %在图形的(xt,yt)坐标处书写文字注释【例4.10】在图形窗口中添加文字注释,如图4.10所示。