matlab gui 可视化小程序画x的函数图像
利用MATLAB编程实现动态画图功能
自动化专业综合设计报告设计题目:利用MATLAB编程实现动态画图功能所在实验室:自动化系统仿真实验室指导教师:学生姓名班级计082-2 班学号200825502210撰写时间:2012-3-1 成绩评定:一.设计目的a)进一步熟悉Matlab的界面及基本操作;b)了解并掌握Matlab中一些函数的作用与使用;c)学会如何利用Matlab实现绘图功能,并可使坐标系动态设置。
二.设计要求外部输入数据动态设置坐标系,然后绘制图形,并举例演示。
三.设计内容Matlab用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
我设计的题目是利用matlab的GUI编程实现动态的画图功能。
GUI运行时主界面如下:在文本输入框中分别输入x、y、z的值,其中y的值可以是包含x的表达式,z的值可以是包含x和y的表达式。
当y和z的值均为0时,绘制x的曲线;当z的值为0时,绘制二维图形;当z的值不为0时,可以绘制三维图形和三维曲面图。
设计步骤如下:1:打开matlab软件2:建立一个GUI文件,保存到work中3:添加控件主界面,包含的控件有:EditText,StaticText,Axes,PushButton。
其中EditText用于xyz值的输入,StaticText用于显示提示,Axes用于显示绘制的图形,PushButton作为绘图按钮。
4:编写程序程序的编写主要分为两个部分,一个是数据的采集,一个是绘图。
数据采集部分用到的函数主要是str2num、eval函数,具体程序如下: X值输入:function editX_Callback(hObject, eventdata, handles)clchandles.x=str2num(get(hObject,'string'))handles.xhandles=gcboguidata(hObject, handles);Y值输入:function edit2_Callback(hObject, eventdata, handles)clcx=handles.x;handles.y=eval(get(hObject,'string'))handles.yhandles=gcboguidata(hObject, handles);Z值输入:function edit3_Callback(hObject, eventdata, handles)clcx=handles.x;y=handles.y;handles.z=eval(get(hObject,'string'));if handles.z==0set(handles.pushbutton1,'Visible','on');set(handles.pushbutton4,'Visible','off');set(handles.pushbutton5,'Visible','off');elseset(handles.pushbutton1,'Visible','off');set(handles.pushbutton4,'Visible','on');set(handles.pushbutton5,'Visible','on');endhandles.zhandles=gcboguidata(hObject, handles);handles.zhandles=gcboguidata(hObject, handles);绘图部分用到的函数主要有axis(),plot(),plot3(),具体程序如下:绘制二维图形:clcx=handles.x;y=handles.y;handles.x=str2num(get(handles.xhandles,'string'))handles.y=eval(get(handles.yhandles,'string'))handles.z=eval(get(handles.zhandles,'string'));xmin=min(handles.x)-min(handles.x)/10;xmax=max(handles.x)+min(handles.x)/10;ymin=min(handles.y)-min(handles.y)/10;ymax=max(handles.y)+min(handles.y)/10;if y==0q=plot(handles.x)elsev=[xmin xmax ymin ymax]; axis(v);q=plot(handles.x,handles.y);endxlabel('X Öá');ylabel('YÖá');绘制三维图形:function pushbutton4_Callback(hObject, eventdata, handles) clcx=handles.x;y=handles.y;handles.y=eval(get(handles.yhandles,'string'))handles.z=eval(get(handles.zhandles,'string'));xmin=min(handles.x)-min(handles.x)/10;xmax=max(handles.x)+min(handles.x)/10;ymin=min(handles.y)-min(handles.y)/10;ymax=max(handles.y)+min(handles.y)/10;zmin=min(handles.z)-min(handles.z)/10;zmax=max(handles.z)+min(handles.z)/10;v=[xmin xmax ymin ymax zmin zmax];axis(v);q=plot3(handles.x,handles.y,handles.z);绘制三维曲面图:function pushbutton5_Callback(hObject, eventdata, handles) clcx=handles.xy=handles.yhandles.x=eval(get(handles.editX,'string'));handles.y=eval(get(handles.yhandles,'string'))xmin=min(handles.x)-min(handles.x)/10;xmax=max(handles.x)+min(handles.x)/10;ymin=min(handles.y)-min(handles.y)/10;ymax=max(handles.y)+min(handles.y)/10;zmin=min(handles.z)-min(handles.z)/10;zmax=max(handles.z)+min(handles.z)/10;v=[xmin xmax ymin ymax zmin zmax];axis(v);x1=ones(size(handles.y))*handles.x;y1=handles.y*ones(size(handles.x));r=sqrt(x1.^2+ y1.^2)+eps;z=sin(r)./rq=mesh(z);四.设计实验结果及分析当x=-10:0.01:100,y=sin(x),z=0时,得到的图形如下:当x=-10:0.01:10,y=sin(x),z=sin(x)+cos(y)时,得到的图形如下(三维图形):当x=-10:0.1:10,y=x’,z=1时,得到的图形如下(三维曲面图):五.设计感受我之前对于matlab编程的认识只是局限于M文件编程以及命令窗口编程。
MATLAB程序设计-关于常用绘图函数的运用方法及说明
MATLAB程序设计作业陈杰杰2013090302072014-11-3MATLAB具有强大的图形处理功能。
下面给出了3个m脚本文件,请在MA TLAB环境下运行,观察其输出。
要求根据每个m文件输出的图形(共18个),用中文翻译并解释产生每个输出图形的函数具体是什么?其功能是什么?文件1:clear all %清除工作区间所有的变量clf %清除图形窗口的内容mfilename('fullpath') %返回当前正在运行的函数所在文件的文件名(全部路径)echo on %显示M文件执行的每一条命令subplot(2,3,1) %使(2*3)幅子图中第一个子图成为当前图t = 0:0.1:10; %将以0为起点、以10为终点、以0.1为步长的一维矩阵赋值给t z = impulse(1, [1 1 1], t); %动力系统的脉冲响应数据,以时间t步长0.1为单位stairs(t(1:5:end),z(1:5:end)) %绘制阶梯状图,从第1行开始,间隔5行取1行,到最后1行为止hold on %保持当前坐标轴和图形,并接受下一次绘制plot(t,z,'r') %用红线绘制横轴为t、纵轴为z的二维函数图plot([0 t(end)], [0 0], 'k:') %用黑色虚线绘制函数图像,要求经过原点平行于横轴、取值范围为0到t的最后一个值title('Impulse Response - (STAIRS)') %将此图命名为Impulse Response - (STAIRS)(脉冲响应-(阶梯图))subplot(2,3,2) %使(2*3)幅子图中第二个子图成为当前图theta = 2*pi*(0:74)/75; %将以0为起点、以2*pi*74/75为终点、2*pi/75为步长的一维矩阵赋值给thetax = cos(theta); %计算cos(theta)的值,并赋给xy = sin(theta); %计算sin(theta)的值,并赋给yz = abs(fft(ones(10,1), 75))'; %ones(10,1)生成十行一列的全一矩阵;fft(ones(10,1), 75)进行快速傅里叶变换;z = abs(fft(ones(10,1), 75))'取幅值并转置stem3(x, y, z) %绘制三维杆状图title('Polar FFT - (STEM3)') %将此图命名为Polar FFT - (STEM3)(极坐标下快速傅里叶变换-(三维针状图))subplot(2,3,3) %使(2*3)幅子图中第二个子图成为当前图[X,Y,Z] = peaks(-2:0.25:2); %产生-2为起点、2为终点、0.25为步长的guassian分布矩阵,返回峰函数的三个坐标轴空间上的数值,X表示在x轴,Y表示在y轴,Z表示在z轴,这样每个点就对应一个(X,Y,)[U,V] = gradient(Z, 0.25); %返回二维数值梯度的U、V部分,这里的0.25指定了沿着梯度的方向取点的间隔为0.25contour(X,Y,Z,10); %绘制矩阵Z的等高线,绘制的等高线被限定在由X、Y指定的区域内,等高线条数为10hold on %保持当前坐标轴和图形,并接受下一次绘制quiver(X,Y,U,V); %使用箭头来直观的显示矢量场,该调用格式表示通过在(X, Y)指定的位置绘制小箭头来表示以该点为起点的向量(U,V)title('Surface Gradient - (CONTOUR & QUIVER)') %将此图命名为Surface Gradient - (CONTOUR & QUIVER)(表面梯度-(等高线图和矢量场图))theta = 0:0.1:4*pi; %将以0为起点、以4*pi为终点、0.1为步长的一维矩阵赋值给theta[x,y] = pol2cart(theta(1:5:end), theta(1:5:end)); %把极坐标(theta(1:5:end), theta(1:5:end))转换为对应的二维笛卡尔坐标(x,y),theta(1:5:end)表示从第一行到最后一行,每五行取一行subplot(2,3,4) %使(2*3)幅子图中第四个子图成为当前图polar(theta,theta) %绘制极坐标图像,第一个theta是用弧度制表示的角度,第二个theta是对应的半径axis([-13 13 -12.5 14.5]) %横坐标范围为-13到13,纵坐标范围为-12.5到14.5title('Spiral Plot - (POLAR)') %将此图命名为Spiral Plot - (POLAR)(螺旋图-极坐标图)subplot(2,3,5) %使(2*3)幅子图中第五个子图成为当前图compass(x,y) %绘制罗盘图axis([-13 13 -12.5 14.5]) %横坐标范围为-13到13,纵坐标范围为-12.5到14.5title('Direction Vectors - (COMPASS)') %将此图命名为Direction Vectors - (COMPASS)(方向矢量-罗盘图)subplot(2,3,6) %使(2*3)幅子图中第六个子图成为当前图feather(x(1:19),y(1:19)) %绘制羽状图,其中x、y表示一组向量,x是向量的横坐标(x分量),y是向量的纵坐标(y分量)。
MATLAB实用教程GUI
MATLAB实用教程GUIMATLAB是一种功能强大的数学软件,广泛用于科学和工程领域的数据分析、可视化、建模和仿真。
在MATLAB中,GUI(Graphical User Interface,图形用户界面)是一种用于创建交互式应用程序的工具,可以使用户通过图形化界面来操作和控制程序。
本教程将介绍如何使用MATLAB创建GUI应用程序,包括创建各种控件(按钮、文本框、下拉菜单等)、设计布局、添加回调函数等。
通过学习本教程,您将了解如何利用MATLAB的强大功能和易用的GUI设计工具来创建自己的交互式应用程序。
1.创建GUI应用程序要创建一个GUI应用程序,首先需要打开MATLAB并选择新建GUI应用程序。
在弹出的界面中,可以选择创建一个新的Figure或Panel,然后可以在面板上添加各种控件。
可以通过拖动和放置控件来设计界面布局,然后可以对控件进行自定义设置,比如修改文本内容、颜色、大小等。
2.添加控件MATLAB提供了各种控件,用于实现不同的功能。
常见的控件包括按钮、文本框、下拉菜单、滑块等。
可以通过在界面上拖动和放置这些控件来创建自己的GUI应用程序。
在添加控件时,可以设置控件的属性,比如位置、大小、颜色、文本内容等。
3.设计布局设计布局是创建GUI应用程序的重要部分。
可以通过调整控件的位置、大小和对齐方式来设计一个美观的界面布局。
MATLAB提供了多种布局管理器,比如Grid布局、Box布局、GridBag布局等,可以根据需要选择合适的布局方式来设计界面。
4.编写回调函数回调函数是GUI应用程序的关键部分,用于响应用户的操作。
可以为每个控件添加回调函数,当用户操作控件时,回调函数将被触发。
可以在回调函数中实现各种功能,比如计算结果、数据处理、图形绘制等。
通过编写回调函数,可以实现程序的交互性和实用性。
5.运行应用程序创建GUI应用程序后,可以点击“运行”按钮来运行应用程序。
在运行过程中,可以与界面上的控件进行交互,触发回调函数并实现相应功能。
Matlab绘图
第二章绘图要画一个函数的图像,先是选取一堆x,求出相对应的y值,然后按照数值描点,接着用光滑的曲线把点连接起来。
和数学课讲的一样,在matlab中,我们画图也分为三步1. 建立一个x的点集;2. 根据函数关系式算出每个x对应y的点集;3. 将这些点用平滑的曲线连接起来。
例如要画y=sinx在[0,10]区间内的图像,首先我们要确定出x的区间>>x = [0:0.1:10];命令的意思是,产生一个数集,它从0开始,每次加0.1,一直加到10为止注意,命令后面的分号记得加上,否则matlab会把x的元素都打印出来,下面就是不加分号的后果:有了x的数集后,我们再根据函数关系式y=sinx得出y的点集>>y = sin(x);同样的,别忘了把分号加上抑制程序输出y的具体值,以及sin(x)的括号别忘了加到这里,我们已经把x和y确定下来,接下来只需用plot(x,y)命令即可绘制出图像>>plot(x,y)当然,如果你不定义y,而直接用一下嵌套命令也是可以的>>plot(x,sin(x))我们将x的增量变大一点,改为0到10,每次增幅为1,即>>x = [0:1:10];然后我们输入>>plot(x,y)我们会得到错误信息:原因是之前我们定义的y是由之前的x决定的,当x改变后,y依然没有改变,为了解决这个问题,我们要把y重新定义一遍,即命令要完整再输入一遍>>x = [0:1:10];>>y = sin(x);>>plot(x,y)然后程序会绘制出和我们预期相同的图像没错,我们将看到不光滑的曲线,这告诉我们,当使用plot(x,y)画图的时候x的增加幅度尽可能小一些,画出的图像才精确(跟数学里点越多图像越精确原理一样的)为了美化图像(有时是为了更清楚的辨析图像),我们经常要为图像加上网格,为坐标轴命名,改变曲线的颜色、形状这些命令2.1 加上网格我们使用grid on 命令我们这样书写:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),grid on这样就画出了带网格的图像当然,也可以先画出没有网格的图像,再把窗口切回matlab命令输入窗口,输入grid on,这样图像就会加上网格,即>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>grid on2.2 为坐标轴命名为x坐标轴命名的命令是xlabel(),显然,y的就应该是ylabel()比如这里,我想让x命名为x,y命名为sinx,则如下输入:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),xlabel(‘x’),ylabel(‘sinx’)注意,坐标轴的名字要用引号括起来,表示字符串当然也可以画图后再标坐标轴,即:>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>xlabel(‘x’)>>ylabel(‘sinx’)然后我们就可以看到坐标轴带命名的图像:2.3 绘制多条曲线绘制多条曲线有两种情况,一种是在同一个坐标面内画多条曲线,另一种是在一个面内画多个独立的曲线我们先讲第一种,假设我们要在一个坐标面内画sinx,cosx,tanx的图像先定义x,y>>x=[0:0.1:10]>>y1=sin(x);>>y2=cos(x);>>y3=tan(x);接着画图>>plot(x,y1)这时候函数绘制出了sinx的图像接着我们继续画>>plot(x,y2)我们会发现程序会把之前的sinx图像抹掉,然后绘制cosx的图像为了让他们同时存在,我们使用hold on命令,即画完一个图后,hold on,继续画当我们再加上tanx后会得到这个图像这是因为函数显示区间设置的原因,后面讲2.4 更改图像显示区间从楼上我们已经在一个图中画出了sinx、cosx、tanx的图像,但是我们知道tanx的值域是负无穷到正无穷,而sin,cos的值域是-1到1,这导致了我们基本上看不到sin,cos的图像,为了解决这个问题,我们只需用axis命令即可,命令格式为axis([xmin xmax ymin ymax])即括号内跟一个区间,四个数字分别是x的起点,x的终点,y的起点,y的终点。
快速入门Matlab GUI编程
快速入门Matlab GUI编程Matlab是一种功能强大的数值计算与数据可视化软件,广泛应用于科学研究与工程领域。
GUI编程,即图形用户界面编程,允许用户通过直观的图形界面与程序进行交互,而不需要在命令行中输入指令。
本文将介绍如何快速入门Matlab GUI 编程,并通过一些实例来演示其基本用法。
1. GUI的基本概念与创建方式GUI,全称为Graphical User Interface,即图形用户界面,它提供了一种直观友好的交互方式。
在Matlab中,可以使用GUIDE工具箱来创建GUI界面。
打开Matlab界面,点击主菜单中的“Apps”选项,然后选择“GUIDE”工具箱。
接下来,可以选择创建空白界面或者从现有的模板中选择合适的界面。
2. GUI的基本组件与布局管理在GUI界面中,可以添加各种组件,如按钮、文本框、滑动条等,来实现与用户的交互。
Matlab提供了丰富的组件库,可以根据需要进行选择和使用。
在GUIDE工具箱中,可以通过简单的拖拽和放置来添加组件,然后使用布局管理器对它们进行合理的排列和布局。
3. 事件与回调函数GUI编程中,事件是指用户在界面上所进行的操作,如点击按钮、拖动滑动条等。
每个事件都会触发一个相应的回调函数,用于处理相应的操作逻辑。
在Matlab中,可以通过GUIDE工具箱中的回调编辑器来创建和编辑回调函数。
回调函数可以是Matlab代码脚本,也可以是自定义的函数。
4. 数据传递与处理在GUI编程中,通常需要将用户输入的数据传递给后台的计算模块,并将计算结果返回给界面进行展示。
为了实现数据的传递与处理,可以使用全局变量、共享数据对象或者消息传递等方式。
Matlab提供了丰富的数据处理函数和工具,可以方便地进行数据处理与分析。
5. 图形绘制与可视化Matlab作为一种数据可视化软件,提供了丰富的绘图函数和工具,可以轻松地创建各种图形。
在GUI界面中,可以通过绘图函数将计算结果以图形的形式显示出来,并通过交互操作来进行进一步的探索和分析。
教你如何用matlab绘图(全面)
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。
此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础。
一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
1.plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。
例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。
Matlab中函数图形的三种绘制方法
Matlab中函数图形的三种绘制方法及局部和全局解
绘制函数的图形2
x
fπ区间[-1,2]
=x
)
10
sin(+
1 利用plot绘制
x=linspace(-1,2,1000);
y=x.*sin(10*pi*x)+2;
plot(x,y)
/ 函数的显式表达式,先设置自变量向量,然后根据表达式计算出函数向量/
2 利用fplot绘制
f='x.*sin(10*pi*x)+2';或f='x*sin(10*pi*x)+2';
fplot(f,[-1,2],1e-4)
/fplot函数可以自适应地对函数进行采样,能更好地反映函数的变化规律/
3 利用ezplot绘制
f='x*sin(10*pi*x)+2';
ezplot(f,[-1,2])
/隐函数绘图:如果函数用隐函数形式给出,可以利用ezplot函数绘制隐函数图形/
1和2 3的区别是2 3可以直接按照函数的原形直接写出,而1中变量相乘或除时都以点乘和点除的形式写出来的
尝试用fminbnd fminunc fminsearch及遗传算法求解上述函数在区间[-1,2]中的最小值,看看它们四个有什么不同?。
Matlab符号函数的作图
通常工程中用到的符号函数都是以表达是形式体现的,这样有利于计算。
但是,如果有时需要直观地表示符号函数的物理意义,就需要用图形来实现。
1、ezplot函数:画符号函数图形ezplot(f):对于显式函数f=f(x),在默认的范围[-pi<x<pi]上画函数f(x);对于隐函数f=f(x,y),在默认的平面区域[-pi<x<pi,-pi<y<pi]上画函数f(x,y)的图像。
ezplot(f,[min,max]):在指定的范围[min<x<max]内画函数表达式f=f(x)。
若没有图形窗口存在,则该函数先生成标题为Figure N o.1的新窗口,再在该窗口中操作;若已经有图形窗口存在,这在标号最该的图形窗口中进行操作。
ezplot(f,[xmin xmax],fing):在指定标号为fign的窗口中、指定范围[xmin xmax]内画函数f=f(x)的图形。
ezplot(f,[xmin,xmax,ymin,ymax]):在平面矩形区域[xmin<x<xmax, ymin<y<ymax]上画出f(x,y)=0的图像。
ezplot(x,y):在默认范围0<t<2pi内画出参数形式函数x=x(t)与y =y(t)的图形。
ezplot(x,y,[tmin,tmax)]:在指定范围[tmin<t<tmax]内画参数形式函数x=x(t)与y=y(t)的图形。
ezplot(…,figure):在由参量文件figure句柄指定的图形窗口中画函数图形。
例如:画下面的隐函数>> syms x y>> ezplot(2*x^4-y^9)2、ezplot3:三维曲线图ezplot3(x,y,z):在默认的范围0<t<2pi内画参数形式的曲线x=x(t), y=y(t),z=z(t)图像。
ezplot3(x,y,z,[tmin,tmax]):在默认的范围tmin<t<tmax内画参数形式的曲线x=x(t),y=y(t),z=z(t)图像。
matlab中figure函数的用法
matlab中figure函数的用法Matlab中的figure函数是一个非常重要的绘图函数,它可以用来创建一个新的图形窗口,并在其中绘制图形。
在Matlab中,图形窗口是一个独立的窗口,可以在其中绘制各种类型的图形,如线图、散点图、柱状图、饼图等等。
本文将详细介绍figure函数的用法,包括如何创建图形窗口、如何设置图形属性、如何绘制图形等等。
一、创建图形窗口在Matlab中,使用figure函数可以创建一个新的图形窗口。
其基本语法如下:这个命令将创建一个新的图形窗口,并将其设置为当前窗口。
如果你想创建多个图形窗口,可以在figure命令后面加上一个数字,表示窗口的编号。
例如:figure(1)这个命令将创建一个编号为1的图形窗口,并将其设置为当前窗口。
如果你想在一个程序中创建多个图形窗口,可以使用不同的编号来区分它们。
二、设置图形属性在Matlab中,可以使用一系列的命令来设置图形的属性,如图形的标题、坐标轴标签、线条颜色、线条宽度等等。
下面是一些常用的图形属性设置命令:1.设置图形标题可以使用title命令来设置图形的标题。
例如:title('这是一个标题')这个命令将在图形窗口的顶部显示一个标题,标题的内容为“这是一个标题”。
2.设置坐标轴标签可以使用xlabel和ylabel命令来设置坐标轴的标签。
例如:xlabel('x轴')ylabel('y轴')这个命令将在图形窗口的底部和左侧分别显示x轴和y轴的标签。
3.设置线条颜色和线条宽度可以使用plot命令来绘制线图,并使用一系列的参数来设置线条的颜色和线条的宽度。
例如:plot(x,y,'r','LineWidth',2)这个命令将绘制一条红色的线条,线条的宽度为2个像素。
三、绘制图形在Matlab中,可以使用一系列的命令来绘制各种类型的图形,如线图、散点图、柱状图、饼图等等。
第五讲matlab句柄绘图和GUI
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
轴对象
窗口对象
线 对 象
面对象
10 0
value of the cosine 1
cos(x)=0.707
0.5
0
线对象
cos(x)
-10 20
轴对象
10
00
-0.5
20
10
-1
-5
0 50
像对象100 150 200
1 0.5
0 -0.5
-1 100 200 300
get(gca,'colororder') ans =
110 101 011 100 010 001
• 设置线条和窗口的颜色 set(h1,'color',[1 0 0]) set(h1,'color',[1 0.5 0])
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
• 句柄图形:利用底层绘图函数,通过对对象属 性的设置(Handle Graphics)与操作实现绘图。
• 句柄图形是一种面向对象的绘图系统,其中所 有图形操作都是针对图形对象而言的。
• 句柄图形充分体现了面向对象的程序设计。 • 之前介绍的高层图形指令(如plot)都是以句柄
图形软件为基础写成的。也正是这个原因,句 柄图形也被称为底层(Low-level)图形。
在Matlab软件包中画多个函数的图形
在Matlab软件包中画多个函数的图形在Matlab软件包中画多个函数的图形在Matlab软件包中将多个函数图像画在一起,可以使用fplot命令。
(1)多个函数的图形画在一起第一步写一个M—文件opt_fplot_1,必须存放在Matlab文件夹的work文件夹中。
function y=f(x)y(:,1)=sin(x(:));y(:,2)=cos(x(:));y(:,3)=(x(:)).^2;即,定义了一个矩阵函数Y,其第一列是sin(x),第二列是cos(x),第三列是2x。
x(:)定义了自变量x是一个向量。
第二步写另外一个M—文件opt_fplot_2,调用刚刚存盘的opt_fplot_1。
fplot(@opt_fplot_1,[0,2*pi])存盘,按F5键执行,得到图形1如下:0123456如果需要图形与函数对应,可以在图形界面依次点击Insert →Legend,得到图形2:图形2中,蓝色曲线对应data1,即,蓝色曲线是第一个函数sin(x);绿色曲线对应data2,即,绿色曲线是第二个函数cos(x);红色曲线对应data3,即,红色曲线是第三个函数2x。
(2)在图形中增加格子线在第二个M—文件opt_fplot_2中增加一条命令即可:fplot(@opt_fplot_1,[0,2*pi])grid on执行后得到图形3:(3)在图形中标记曲线与格子线交点的坐标在图形3界面点击这个键然后点击图形中需要坐标的点如果还需要其他点的坐标,按住CTRL 键,点击需要坐标的点,画面如下:选择第三项:“Creat New Datatip ”选项,然后,再一次点击相应的点,即可。
这个点的坐标来啦fplot('0.008+0.002*x+0.0005*x^2',[1930,1980])fplot('0.08+0.002*x+0.00005*x^2',[1930,1980])fplot('0.08+0.002*(x-1930)+0.00005*(x-1930)^2',[1930,1980]) fplot('0.08+0.002*(x-1930)+0.00005*(x-1930)^2',[1980,2200]) fplot('0.08+0.002*(x-1930)+0.00005*(x-1930)^2',[2300,2500]) fplot('0.08+0.002*(x-1930)+0.00005*(x-1930)^2',[2250,2300])fplot('0.08+0.002*(x-1930)+0.00005*(x-1930)^2',[2275,2285])fplot('0.08+0.002*(x-1930)+0.00005*(x-1930)^2',[2280,2285])fplot('0.08+0.002*(x-1930)+0.00005*(x-1930)^2',[1930,1980])。
matlab-画图函数命令
例 在[0,pi]上画y=cos(x)的图形 解 输入命令 ezplot(‘sin(lab
liti25
例 在[0,2*pi]上画 x = cos t , y = sin t 星形图
Matlab 解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])
(2) figure(h)
新建h窗口,激活图形使其可见,并把它置 于其它图形之上
例
区间[0,2*pi]新建两个窗口分别画出y=sin(x); z=cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); Matlab liti6 title('sin(x)'); pause figure(2); plot(x,z); title('cos(x)');
(3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面) 例 绘peaks的网格图
解 输入命令: [X,Y]=meshgrid(-3:.125:3); Z=praks(X,Y); Meshz(X,Y,Z) Matlab liti36
返回
在图形上加格栅、 在图形上加格栅、图例和标注
例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x), a=sin(x)*cos(x),b=sin(x)/cos(x)。 解x=linspace(0,2*pi,100); Matlab liti7 y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps) subplot(2,2,1);plot(x,y),title(‘sin(x)’) subplot(2,2,2);plot(x,z),title(‘cos(x)’) subplot(2,2,3);plot(x,a),title(‘sin(x)cos(x)’) subplot(2,2,4);plot(x,b),title(‘sin(x)/cos(x)’
怎样用Matlab绘图
help plothelp axisa1=plot();hlod ona2=plot();legend([a1 a2],'图1 名',‘图2 名')hold offx1=-pi:pi/12:pi;x2=-pi:pi/12:pi;y1=sin(x1);y2=cos(x2);plot(x1,y1,x2,y2);axis([-2*pi 2*pi -2 2]);xlabel('x');ylabel('y');title('sin(x) & cos(x)');MATLAB受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能.这里主要介绍2 维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB 各种图形对象的方法.第一节图形窗口与坐标系一.图形窗口1.MATLAB 在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.2.在MATLAB 下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB 通过管理图形窗口的句柄来管理图形窗口;3.当前窗口句柄可以由MATLAB 函数gcf 获得;4. 在任何时刻, 只有唯一的一个窗口是当前的图形窗口( 活跃窗口);figure(h)----将句柄为h 的窗口设置为当前窗口;5.打开图形窗口的方法有三种:1)调用绘图函数时自动打开;2)用File---New---Figure 新建;3)figure 命令打开,close 命令关闭.在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.6.窗口中的图形打印:用图形窗口的File 菜单中的Print 项.7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit 菜单中选择Properties 项,打开图形对象的参数设置窗口,可以设置对象的属性.二.坐标系1.一个图形必须有其定位系统,即坐标系;2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;3.每个坐标系都有唯一的标识符,即句柄值;4.当前坐标系句柄可以由MATLAB 函数gca 获得;5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h 为指定坐标系句柄值.6.一些有关坐标轴的函数:1)定义坐标范围:一般MATLAB 自动定义坐标范围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin, Ymax])重新设定;2)坐标轴控制:MATLAB 的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis on 则显示坐标轴(缺省值).3)通常MATLAB 的坐标系是长方形,长宽比例大约是4:3,为了得到一个正方形的坐标系可用:axis square4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal第二节二维图形的绘制一. plot 函数plot 函数是最基本的绘图函数,其基本的调用格式为:1.plot(y)------绘制向量y 对应于其元素序数的二维曲线图,如果y 为复数向量,则绘制虚部对于实部的二维曲线图.例:绘制单矢量曲线图.y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];plot(y)由于y 矢量有10 个元素,x 坐标自动定义为[1 2 3 4 5 6 7 8 9 10].2.plot(x,y)------绘制由x,y 所确定的曲线.1)x,y 是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x 为横坐标,y 为纵坐标的图形.如:画正弦曲线:t=0:0.1:2*pi;y=sin(t);plot(t,y)2)当plot(x,y)中,x 是向量,y 是矩阵时,则绘制y 矩阵中各行或列对应于向量x的曲线.如果y 阵中行的长度与x 向量的长度相同,则以y 的行数据作为一组绘图数据;如果y 阵中列的长度与x 向量的长度相同,则以y 的列数据作为一组绘图数据;如果y 阵中行,列均与x 向量的长度相同,则以y 的每列数据作为一组绘图数据.例:下面的程序可同时绘出三条曲线.MATLAB 在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色.x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(2,:)=0.3*sin(x);plot(x,y)或者还可以这样用:x=0:pi/50:2*pi;y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];plot(x,y)3) 如果x,y 是同样大小的矩阵,则plot(x,y)绘出y 中各列相应于x 中各列的图形.例:x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2;y(1,:)=sin(x(1,:));y(2,:)=0.6*sin(x(2,:));y(3,:)=0.3*sin(x(3,:));plot(x,y)x=x';y=y';figureplot(x,y)在这个例子中,x------3x101,y------3x101,所以第一个plot 按列画出101 条曲线,每条3 个点;而x'------101x3,y'------101x3,所以第二个plot 按列画出3 条曲线,每条101 个点.3.多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)上面的plot 格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:各种颜色属性选项'r' 红色'm' 粉红'g' 绿色'c' 青色'b' 兰色'w' 白色'y' 黄色'k' 黑色各种线型属性选项'-' 实线'--' 虚线':' 点线'-.' 点划线各种标记点属性选项'.' 用点号绘制各数据点'^' 用上三角绘制各数据点'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点'd'或diamond 用菱形绘制各数据点'h' 用六角星绘制各数据点这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线.注意:1)表示属性的符号必须放在同一个字符串中;2)可同时指定2~3 个属性;3)与先后顺序无关;4)指定的属性中,同一种属性不能有两个以上.例:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')该程序还可以按下面的方式写:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r')hold onplot(t,y2, ':g')plot(t,y3, '*b')hold off注:在MATLAB 中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的图形对象,但设置了hold on 后,可以保持坐标系中已绘出的图形.还可以进一步设置包括线的宽度(LineWidth), 标记点的边缘颜色(MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)等其它绘图属性.例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小.t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色'MarkerFaceColor','y',... %设置标记点填充颜色为黄色'MarkerSize',10) %设置标记点的尺寸为104.双Y 轴绘图:plotyy()函数.其调用格式为: plotyy(x1,y1,x2,y2)------绘制由x1,y1 和x2,y2 确定的两组曲线,其中x1,y1 的坐标轴在图形窗口的左侧,x2,y2 的坐标轴在图形窗口的右侧.Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function 是指那些绘图函数如:plot,semilogx,loglog 等.例如:在一个图形窗口中绘制双Y 轴曲线.x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,'plot','stem')stem:绘制stem 形式的曲线(上端带圈的竖线).绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的Y 轴坐标对应的是plot 形式的曲线,右边的Y 坐标对应的是stem 形式的曲线.二.对数坐标图绘制函数:在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy 和loglog 函数.1)semilogx( )------绘制以X 轴为对数坐标轴的对数坐标图. 其调用格式为:semilogx(x,y,'属性选项')其中属性选项同plot 函数.该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.2)semilogy( )------绘制以Y 轴为对数坐标轴的对数坐标图. 其调用格式为:semilogy(x,y,'属性选项')该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.3)loglog( )------ 绘制X,Y 轴均为对数坐标轴的图形.其调用格式为:loglog(x,y,'属性选项')该函数分别对横,纵坐标都进行对数变换.例:x=0:0.1:6*pi;y=cos(x/3)+1/9;subplot(221), semilogx(x,y);subplot(222), semilogy(x,y);subplot(223), loglog(x,y);4)MATLAB 还提供了一个实用的函数:logspace( )函数,可按对数等间距地分布来产生一个向量,其调用格式为:x=logspace(x1,x2,n)这里,x1 表示向量的起点;x2 表示向量的终点;n 表示需要产生向量点的个数(一般可以不给出,采用默认值50).在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面还要讲到.三.极坐标图的绘制函数:绘极坐标图可用polar( )函数.其调用格式如下:polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与plot 函数基本一致.例如:极坐标模型为:3145/)/)cos((+ =θρ, ],[πθ80∈则绘出极坐标图的程序为:theta=0:0.1:8*pi;p=cos((5*theta)/4)+1/3;polar(theta,p)四.绘制多个子图:subplot( )函数MATLAB 允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm 个部分.分割图形窗口用subplot 函数来实现,其调用格式为:subplot(n,m,k)或subplot(nmk)------n,m 分别表示将窗口分割的行数和列数,k 表示要画图部分的代号,表示第几个图形,nmk 三个数可以连写,中间不用符号分开.例如:将窗口划分成2x2=4 个部分,可以这样写:subplot(2,2,1),plot(……)subplot(2,2,2),……subplot(2,2,3),……subplot(2,2,4),……注:subplot 函数没有画图功能,只是将窗口分割.第三节图形的修饰与标注MATLAB 提供了一些特殊的函数修饰画出的图形,这些函数如下: 1)坐标轴的标题:title 函数其调用格式为:title('字符串')------字符串可以写中文如:title('My own plot')2)坐标轴的说明:xlabel 和ylabel 函数格式:xlabel('字符串')ylabel('字符串')如:xlabel('This is my X axis') ylabel('My Y axis')3)图形说明文字:text 和gtext 函数A.text 函数:按指定位置在坐标系中写出说明文字.格式为:text(x1, y1, '字符串', '选项') x1,y1 为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1 的坐标单位,如没有选项,则x1,y1 的坐标单位和图中一致;如选项为'sc', 则x1,y1 表示规范化窗口的相对坐标,其范围为0到1.如:text(1,2, '正弦曲线')B.gtext 函数:按照鼠标点按位置写出说明文字.格式为:gtext('字符串')当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上.4)给图形加网格:grid 函数在调用时直接写grid 即可.上面的函数的应用实例:例:在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本.t=0:pi/100:2*pi;y=sin(t);plot(t,y),grid,axis([0 2*pi -1 1])xlabel('0 leq itt rm leq pi','FontSize',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName','隶书' ,'FontSize',20) text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707','FontSize',16)text(5*pi/4,sin(5*pi/4),' sin(t)=-0.707rightarrow',... 'FontSize',16,'HorizontalAlignment','right')5)在图形中添加图例框:legend 函数其调用格式为:A.legend('字符串1', '字符串2', ……)------以字符串1,字符串2……作为图形标注的图例.B.legend('字符串1', '字符串2', ……, pos)------pos 指定图例框显示的位置.图例框被预定了6 个显示位置:0------取最佳位置;1------右上角(缺省值);2------左上角;3------左下角;4------右下角;-1------图的右侧.例:在图形中添加图例.x=0:pi/10:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,'-o',x,y3,'-*')legend('曲线1','曲线2','曲线3')6)用鼠标点选屏幕上的点:ginput 函数格式为:[x, y, button]=ginput(n)其中:n 为所选择点的个数;x,y 均为向量,x 为所选n 个点的横坐标;y 为所选n个点的纵坐标.button 为n 维向量,是所选n 个点所对应的鼠标键的标号:1------左键;2------中键;3------右键.可用不同的鼠标键来选点,以区别所选的点.此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标.第四节MATLAB 下图形对象的修改MATLAB 图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root), 图形窗口(Figures), 坐标轴(Axes), 控件(Uicontrol), 菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像(Images),文本(Text)等等.根据各对象的相互关系,可以构成如下所示的树状层次:RootFiguresAxes Uicontrol Uimenu Uicontextmenu (对象菜单)Images Line Patch Surface Text对各种图形对象进行修改和控制,要使用MATLAB 的图形对象句柄(Handle).在MATLAB 中,每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等.利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.一.对图形对象的修改可以用下面函数:1)set 函数:用于设置句柄所指的图形对象的属性.Set 函数的格式为:set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……) 例:h=plot(x,y)set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.2)get 函数:获取指定句柄的图形对象指定属性的当前值.格式为:get(句柄, '属性名')如: get(gca, 'Xcolor')------获得X 轴的当前颜色属性值. 执行后可返回X 轴的当前颜色属性值[0,0,0](黑色).3)如果没有设置句柄,则可以使用下列函数获得:gcf:获得当前图形窗口的句柄;gca:获得当前坐标轴对象的句柄;gco:获得当前对象的句柄.如:A.要对图形窗口的底色进行修改,可用:set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色B.要把当前X 轴的颜色改为绿色,可用:set(gca, 'Xcolor', [0,1,0])C.还可对坐标轴的显示刻度进行定义:t=-pi:pi/20:pi;y=sin(t);plot(t,y)set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/ 2','0','pi/2','pi'])本例中用'xtick'属性设置x 轴刻度的位置(从-pi~pi,间隔pi/2,共设置5 个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数,因此重新设置['-pi','-pi/2','0','pi/2','pi']5 个刻度值.二.一些常用的属性如下:1)Box 属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框), 'off'(无方框);2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为:[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]黄色粉色天蓝红色绿色兰色颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色.3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为:'normal'------正常'reverse'------反向4)坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色, 值为颜色向量如何在画好曲线后再在图上标刻度就是想在一些特定的点边上标上一串30.60.90~7200递增的数据,共有96个点要标!!im = imread(url);imshow(im)然后输入:text(100,100,'\o ','Color','red');matlab,用imread 读入一个图片,我想在图上的一些坐标点上做标记。
Matlab编程实例视频教程系列31:科学绘图 动画 函数绘图 极坐标图 三维图 曲面图
freexyn编程实例视频教程系列31 Matlab作图与动画(绘图)31.0概述1.主要内容1.1 运用Matlab进行作图/数据可视化/动画1.2通过编程实例体会运用Matlab进行作图的思路作者:freexyn31.1 plot基本用法1.随机实例,基本绘图用法2.认识函数plot31.2 线型、标记和颜色1.随机实例,演示作图线型、标记和颜色。
2.说明线型:- -- : -.标记:o + * . x s d ^ v > < p h颜色:y m c r g b w k31.3 标题、标签和图例1.随机实例,演示图像上添加标题、标签和图例。
2.认识函数titlexlabelylabellegend作者:freexyn3.说明\alphaα\upsilonυ\sim~ \angle∠\phiφ\leq≤\ast*\chiχ\infty∞\betaβ\psiψ\clubsuit♣\gammaγ\omegaω\diamondsuit♦\deltaδ\GammaΓ\heartsuit♥\epsilonϵ\DeltaΔ\spadesuit♠\zetaζ\ThetaΘ\leftrightarrow↔\etaη\LambdaΛ\leftarrow←\thetaθ\XiΞ\Leftarrow⇐\varthetaϑ\PiΠ\uparrow↑\iotaι\SigmaΣ\rightarrow→\kappaκ\Upsilonϒ\Rightarrow⇒\lambdaλ\PhiΦ\downarrow↓\muµ\PsiΨ\circº\nuν\OmegaΩ\pm±\xiξ\forall∀\geq≥\piπ\exists∃\propto∝\rhoρ\ni∍\partial∂\sigmaσ\cong≅\bullet•\varsigmaς\approx≈\div÷\tauτ\Reℜ\neq≠\equiv≡\oplus⊕\alephℵ\Imℑ\cup∪\wp℘\otimes⊗\subseteq⊆\oslash∅\cap∩\in∈\supseteq⊇\supset⊃\lceil⌈\subset⊂\int∫\cdot·\oο\rfloor⌋\neg¬\nabla∇\lfloor⌊\times x \ldots... \perp⊥\surd√\prime´\wedge∧\varpiϖ\0∅\rceil⌉\rangle〉\mid| \vee∨\langle〈\copyright©31.4多图、子图和网格1.随机实例,演示创建多图、子图和显示网格。
matlab曲线绘制函数
matlab曲线绘制函数一、概述MATLAB是一款强大的数学软件,它提供了丰富的绘图功能,可以方便地绘制各种函数曲线。
本文档将介绍如何使用MATLAB绘制曲线的基本步骤和常用函数。
二、基本步骤1. 导入数据:首先需要将需要绘制的函数数据导入MATLAB中,可以使用内置函数如load或data函数从文件中导入数据。
2. 创建函数句柄:使用内置函数如fun或expression创建函数句柄,该句柄将用于表示需要绘制的函数。
3. 创建绘图对象:使用内置函数如plot或hold on创建绘图对象,该对象将用于表示绘制曲线的位置和线条样式。
4. 添加标题和标签:使用内置函数如title或xlabel添加标题和坐标轴标签。
5. 保存图像:使用saveas或print函数将图像保存到本地文件或在线展示。
三、常用函数1. plot函数:用于绘制单条曲线,可以指定线条颜色、线型和线条宽度等参数。
2. hold on函数:用于在绘图区域中连续绘制多条曲线,当前绘制的曲线将在后面绘制的曲线覆盖上。
3. plotyy函数:用于在同一图中绘制两条垂直曲线,适合绘制一对互为函数的曲线。
4. legend函数:用于添加图例,以说明每条曲线的名称和对应的数据变量。
5. xlabel和ylabel函数:用于添加坐标轴标签,以便更好地描述曲线的坐标轴范围和单位。
6. title函数:用于添加图像标题,以便更好地概括图像的主题和内容。
7. meshgrid函数:用于生成网格坐标,可以方便地计算多个坐标点的数值和点集。
四、示例代码及图像展示下面是一个简单的示例代码,用于绘制正弦曲线和余弦曲线的图像。
代码中使用了MATLAB内置的sin和cos函数,以及plot函数绘制曲线。
```matlab% 导入数据x = -pi:0.1:pi; % 定义x轴范围y_sin = sin(x); % 计算正弦值y_cos = cos(x); % 计算余弦值% 创建绘图对象并绘制曲线figure; % 创建新图像窗口plot(x, y_sin); % 绘制正弦曲线hold on; % 在当前绘图区域中继续绘制曲线plot(x, y_cos); % 绘制余弦曲线hold off; % 移除前面绘制的覆盖层,使后续曲线可见% 添加标题和标签title('正弦余弦曲线比较'); % 添加图像标题xlabel('x轴'); % 添加x轴标签ylabel('y值'); % 添加y轴标签legend('sin', 'cos'); % 添加图例,说明每条曲线的名称和对应的数据变量```运行上述代码后,将得到一幅包含正弦曲线和余弦曲线的图像,如图所示:(请在此处插入图像)通过上述示例代码和图像展示,我们可以看到MATLAB绘制曲线的基本步骤和常用函数的用法。
matlab画直角坐标图
Matlab画直角坐标图直角坐标图(又称笛卡尔坐标图)是用来表示平面上点的坐标的一种图形表示方法。
Matlab是一个强大的数值计算和数据可视化工具,它提供了丰富的绘图函数和工具箱,使得绘制直角坐标图变得非常简便。
下面将介绍如何使用Matlab画出直角坐标图的步骤。
步骤一:准备数据在绘制直角坐标图之前,我们首先需要准备要绘制的数据。
假设我们要绘制以下函数的图像:y = sin(x)这里可以选择任意的x值范围,以及步长。
为了简化,我们选择绘制x从0到2π的函数曲线。
步骤二:创建坐标系在Matlab中,我们可以使用figure函数创建一个新的绘图窗口。
然后使用plot函数绘制函数曲线,同时可以使用xlabel和ylabel函数为坐标轴添加标签,使用title函数为图像添加标题。
figure; % 创建新的绘图窗口x = 0:0.01:2*pi; % 定义x的取值范围,步长为0.01y = sin(x); % 计算对应的y值plot(x, y); % 绘制函数曲线xlabel('x'); % 添加x轴标签ylabel('y'); % 添加y轴标签title('y = sin(x)'); % 添加标题步骤三:设置坐标轴范围通过axis函数可以设置坐标轴的范围。
对于直角坐标图,一般设置x轴和y轴的范围相同,以保证图像是按比例绘制的。
axis([02*pi -11]); % 设置x轴范围为0到2π,y轴范围为-1到1步骤四:添加图例如果在同一张图上绘制了多个函数曲线,可以使用legend函数添加图例,以区分不同的曲线。
legend('y = sin(x)'); % 添加图例,标注函数曲线的名称步骤五:美化图像Matlab提供了丰富的绘图样式设置,可以通过修改绘图参数来美化图像。
例如,可以使用grid函数添加背景网格线,使用linewidth设置曲线的线宽等。
在MATLAB中进行数据可视化的方法和技巧
在MATLAB中进行数据可视化的方法和技巧数据可视化是数据分析中的一个重要环节,它可以帮助我们更好地理解数据、发现数据中的规律和趋势,并且可以将复杂的数据以可视化的形式展示出来,使得人们可以更直观地理解和解释数据。
MATLAB作为一种强大的数据分析工具,提供了丰富的函数和工具箱,可以方便地进行各种类型的数据可视化。
本文将介绍一些在MATLAB中进行数据可视化的方法和技巧,帮助读者更好地利用MATLAB实现数据可视化的目标。
1. 绘制基本图形在MATLAB中,我们可以使用一些基本的函数来绘制各种图形,例如直线图、散点图、条形图等。
通过这些基本图形的组合和修改,可以绘制出更复杂的图形。
例如,我们可以使用plot函数绘制直线图,使用scatter函数绘制散点图,使用bar函数绘制条形图。
这些函数都有一些可选的参数,可以对图形进行颜色、线型、标题等方面的设置。
2. 自定义图形样式除了使用MATLAB提供的默认样式,我们还可以根据需要自定义图形的样式,使其更符合我们的需求。
MATLAB提供了一些函数和属性可以实现这一目的。
例如,我们可以使用set函数来修改图形的属性,例如修改线条的颜色、线宽、线型等。
我们还可以使用subplot函数将多个图形放在一个图中,使用legend函数添加图例,使用text函数在图中添加文字说明。
3. 多维数据可视化在处理多维数据时,我们需要进行高维数据的可视化,以便更好地理解数据的分布和特征。
MATLAB提供了一些函数和工具箱来实现多维数据的可视化。
例如,我们可以使用scatter3函数绘制三维散点图,使用mesh函数绘制三维曲面图,使用contour函数绘制等高线图。
这些函数可以帮助我们将高维数据映射到三维图形中,直观地展示数据的分布情况和特征。
4. 动态数据可视化有时我们需要展示随时间变化的数据,这就要求我们实现动态数据可视化。
MATLAB提供了一些函数和工具箱可以实现动态数据可视化。
MATLAB画图函数
目录MATLAB函数画图 (2)基本XY平面绘图命令 (2)Plot (2)loglog (2)semilogx (2)semilogy (2)axis (3)xlabel (3)ylabel (3)title (3)legend (3)bar (3)errorbar (3)fplot (3)polar (3)hist (3)rose (3)stairs (3)stem (3)fill (3)feather (3)Compass (3)quiver (3)基本XYZ立体绘图命令 (5)mesh (5)surf (5)waterfall (5)meshc (6)surfc (6)contour3 (6)contour (6)plot3 (6)MATLAB的图视化功能 (6)MATLAB函数画图MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。
本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。
基本XY平面绘图命令Plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。
下例可画出一条正弦曲线:close all;%linspace(5,100,20)和5:5:100的区别在于前者已知元素总个数而不知道步长,后者已知步长不知元素个数,这两者的效果是一样的x=linspace(0, 2*pi, 100); % 100个点的x座标y=sin(x); % 对应的y座标plot(x,y);====================================================小整理:MATLAB基本绘图函数plot: x轴和y轴均为线性刻度(Linear scale)loglog: x轴和y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度====================================================若要画出多条曲线,只需将座标对依次放入plot函数即可:plot(x, sin(x), x, cos(x));若要改变颜色,在座标对后面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态(Line style),也是在座标对后面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');====================================================小整理:plot绘图函数的叁数字元颜色字元图线型态y 黄色. 点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线M 锰紫色-. 点虚线-- 虚线====================================================图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:axis([0, 6, -1.2, 1.2]);此外,MATLAB也可对图形加上各种注解与处理:xlabel('Input Value'); % x轴注解ylabel('Function Value'); % y轴注解title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解grid on; % 显示格线====================================================我们可用subplot来同时画出数个小图形於同一个视窗之中:subplot(2,2,1); plot(x, sin(x));subplot(2,2,2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。