第2.3讲 MATLAB绘图基础
- 格式:ppt
- 大小:4.69 MB
- 文档页数:73
1.基本绘图函数:2.Matlab绘图步骤3.plot(x,y,s) s是字符串,不同的字符串代表不同的线型plot(x1,y1,s1,x2,y2,s2,…..)是将多个图形或函数曲线拼接放置在同一个图形框中。
函数曲线的颜色、线型和数据点型上面左边的b代表蓝色,-.代表点线型,就是x取的各点之间的连线为-.,而x取值的各个点的类型为空,就代表是默认的点型上面那个是r代表红色,--代表线型,而点型是*就是x取了多少个点,就多少个*,而*和*直接的连接为—上面的s里面的写法为:线型+颜色+点型线性为-.,颜色为k代表黑色,点型为h代表六角星型。
我们还可以不定义线性,为空,那么两个点之间就不连线了。
4.我们还可以定义曲线的颜色和线宽LineWidth:设定绘图曲线的粗细MarkerEdgeColor:数据点型或边界的颜色(圆形、菱形、六角星型等) MarkerFaceColor:数据点型的天聪颜色。
MarkerSize:数据点的大小从上可以看出:线型为--,颜色为r代表红色,点型为s代表方形,线的粗细为3,点标记的颜色为r代表红色,点标记的填充颜色为y代表黄色,点标记的大小为10.5.很多时候,需要在一张图上多次画多条曲线。
就需要hold函数:即图形保持命令,主要用于暂存当前的图形窗口,可以让用户继续在命令窗口中绘制其他函数图形,并且后续的图形曲线与当前窗口中的曲线在同一个图形界面中显示。
Hold函数不会因后面画的图形的坐标值不一样而改变当前坐标轴的定义范围。
Hold on函数:作用同上,但可以根据新的图形曲线的坐标轴极限值来自动调整当前坐标轴的坐标值。
Hold off函数:结束当前的图形保持状态,一般与Hold on匹配,hold off函数后就需要从新设置坐标轴的属性。
Hold All函数:保留当前的颜色和线型,这样在绘制后面的图形时就是用当前的颜色和线型。
这里x变换是从0—1我们通过hold on之后,就把后面的1—2的变换接上去了,效果很好。
Matlab绘图基础平台:Win7 64 bit,Matlab R2014a(8.3) Matlab绘图功能强⼤,本⽂以“图解Matlab绘图”的形式介绍Matlab绘图的常⽤元素。
1.以图识图 在Matlab中新建⼀个矩阵,在左侧⼯作区窗⼝中选中这个变量,点击菜单“绘图”,即可以查看Matlab的各种图形:点击“显⽰更多”⼩箭头:点击左下⾓“⽬录”按钮:从这⾥可以看到所有Matlab的图形。
另外,从Matlab R2014a帮助⽂档的“Types of MATLAB Plots”(搜索即可)中也可以看到Matlab⽀持的所有图形。
我的另⼀篇博⽂也总结了Matlab的所有绘图函数——。
这⾥想说的是,数据可视化的⽬的本来就是让⼈易于理解数据,学习Matlab绘图也是这样,应该以⼀种直观的、图形的、易于理解的⽅式进⾏(本⽂努⼒做到这点)。
其实,如果只是要⽤Matlab绘图,并⾮要系统掌握Matlab绘图相关语法,只需要了解各个绘图函数的输⼊数据格式,其他的如坐标轴控制、注解、颜⾊图等都可以通过在窗⼝中进⾏图形界⾯上的操作进⾏,毕竟,没有必要把时间浪费在记忆⼤量的语法上。
2.输⼊数据格式 Matlab⾯向数学处理,输⼊数据格式也是数学风格的,⽐如对于平⾯上的点集(点数组),Matlab⽤两个⼀维数组来表⽰:x,y,这样第i个点的坐标就是(x(i),y(i))。
这对于程序员来说可能有些不适应,因为⾯向对象程序设计思想要求封装性,也就是要将⼀个点的x,y坐标放在⼀起构成Class“点”,然后⽤“点”这个类型来声明数组。
所以在使⽤Matlab绘图功能时最好尽量⽤数学的思维⽅式,⽽不是编程思维。
要查看绘图函数的调⽤格式,请⽤“help xxx”指令,下⾯是⼀个例⼦: 在说具体数据格式之前,先要说⼀下“采样”和“插值”。
这⾥说的Matlab绘图,很多是要绘制连续函数的图像,计算机存储空间有限,连续(⽆限)的定义域要被“采样”或者说“离散化”之后才能处理,⽽在绘制时,为了显⽰连续的的曲线或曲⾯,⽽不是仅仅绘制⼀系列点,需要进⾏“插值”,最常见的插值就是线性插值。
MATLAB画图——基础篇MATLAB画图——基础篇在MATLAB使⽤的过程中,学会画图是⼀项必要的技能。
在这⾥,我总结了部分简单的画图函数,同时附上代码(本⽂中的程序为了⽅便给出的数据都很简单,⼤家可以⾃⼰去尝试其他数据)。
这对刚刚开始接触MATLAB的⼩⽩来说,我认为还是很有帮助的。
⽂章⽬录⼀、plot()函数1.⼆维图形(1)绘图选项线型颜⾊标记符号-实线b蓝⾊.点s⽅块:虚线g绿⾊o圆圈d菱形.-点划线r红⾊x叉v朝下三⾓符号-双划线c青⾊+加号^朝上三⾓符号m品红*星号<朝左三⾓符号y黄⾊>朝右三⾓符号p五⾓星k⿊⾊h六⾓星w⽩⾊(2)图形的辅助标注和窗⼝的分割title(图形说明)xlabel(x轴说明)ylabel(y轴说明)text(x,y图形说明)——在x,y轴处添加⽂字说明legend(图例⼀,图例⼆,…)subplot(m,n,p)——将绘图区域分割成m*n个⼦区域,并按照⾏从左⾄ 右,从上⾄下依次编号。
p表⽰第p个绘图⼦区域。
注意:如果是要两个图画到同⼀个坐标⾥⾯,则在两个plot函数之间添加⼀⾏hold on(3)格式plot(x)——缺省⾃变量绘图格式plot(x,y)——基本格式。
以y(x)的函数关系作图。
如果y是n*m的矩 阵,则x为⾃变量,作出m条曲线。
plot(x1,y1,x2,y2,…,xn,yn)——多条曲线绘图格式plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)——含选项的绘图格式x1=[1 2 3 4 5 6 7 8 9];x2=[2 4 6 8 10 12 14 16 18];y1=[1 4 9 16 25 36 49 64 81];y2=[18 16 14 12 10 8 6 4 2];subplot(4,1,1);plot(x1);title('例⼀');xlabel('⾃变量');ylabel('因变量');subplot(4,1,2);plot(x1,y1);title('例⼆');xlabel('⾃变量');ylabel('因变量');subplot(4,1,3);plot(x1,y1,x2,y2);title('例三');xlabel('⾃变量');ylabel('因变量');subplot(4,1,4);plot(x1,y1,'m+',x2,y2,'c*');title('例四');xlabel('⾃变量');ylabel('因变量');2.三维图形(1)格式plot3(x1,y1,z1,‘选项⼀’,x2,y2,z1,‘选项⼆’,…)x,y,z是长度相同的向量:⼀条曲线x,y,z是维度相同的矩阵:多条曲线(2)⽹格矩阵⽣成函数:meshgrid[X,Y]=meshgrid(x,y)x,y是给定的向量,X,Y是⽹格划分后得到的⽹格矩阵注意,这个函数⽤来⽣成⽹格矩阵,不是直接⽤来画图的,配合mesh使⽤。
详尽全⾯的matlab绘图教程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基础篇03】⼀⽂带你全⾯了解plot绘图函数的使⽤(超详细+图⽂并茂)快速⼊门matlab,系统地整理⼀遍,如何你和我⼀样是⼀个新⼿,那么此⽂很适合你;⽂章⽬录1 前⾔如果你是和我⼀样的⼩⽩,强烈推荐看看这⾥,需要合理地利⽤官⽅的⽂档,通常我觉得官⽅⽂档是最好的,没有之⼀,在命令终端输⼊help plot,可以看到详细的帮助⽂档;具体如下;>> help plotplot Linear plot.plot(X,Y) plots vector Y versus vector X. If X or Y is a matrix,then the vector is plotted versus the rows or columns of the matrix,whichever line up. If X is a scalar and Y is a vector, disconnectedline objects are created and plotted as discrete points vertically atX.plot(Y) plots the columns of Y versus their index.If Y is complex, plot(Y) is equivalent to plot(real(Y),imag(Y)).In all other uses of plot, the imaginary part is ignored.Various line types, plot symbols and colors may be obtained withplot(X,Y,S) where S is a character string made from one elementfrom any or all the following 3 columns:b blue . point - solidg green o circle : dottedr red x x-mark -. dashdotc cyan + plus -- dashedm magenta * star (none) no liney yellow s squarek black d diamondw white v triangle (down)^ triangle (up)< triangle (left)> triangle (right)p pentagramh hexagramFor example, plot(X,Y,'c+:') plots a cyan dotted line with a plusat each data point; plot(X,Y,'bd') plots blue diamond at each datapoint but does not draw any line.plot(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined bythe (X,Y,S) triples, where the X's and Y's are vectors or matricesand the S's are strings.For example, plot(X,Y,'y-',X,Y,'go') plots the data twice, with asolid yellow line interpolating green circles at the data points.The plot command, if no color is specified, makes automatic use ofthe colors specified by the axes ColorOrder property. By default,plot cycles through the colors in the ColorOrder property. Formonochrome systems, plot cycles over the axes LineStyleOrder property.Note that RGB colors in the ColorOrder property may differ fromsimilarly-named colors in the (X,Y,S) triples. For example, thesecond axes ColorOrder property is medium green with RGB [0 .5 0],while plot(X,Y,'g') plots a green line with RGB [0 1 0].If you do not specify a marker type, plot uses no marker.If you do not specify a line style, plot uses a solid line.plot(AX,...) plots into the axes with handle AX.plot returns a column vector of handles to lineseries objects, onehandle per plotted line.The X,Y pairs, or X,Y,S triples, can be followed byparameter/value pairs to specify additional propertiesof the lines. For example, plot(X,Y,'LineWidth',2,'Color',[.6 0 0])will create a plot with a dark red line width of 2 points.Examplex = -pi:pi/10:pi;y = tan(sin(x)) - sin(tan(x));plot(x,y,'--rs','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','g',...'MarkerSize',10)与plot相关的函数还有plottools, semilogx, semilogy, loglog, plotyy, plot3, grid,title, xlabel, ylabel, axis, axes, hold, legend, subplot, scatter.2 plot2.1 显⽰正弦波显⽰⼀个简单的正弦函数;x=0:2*pi/100:2*pi;y=sin(x);plot(x,y);2.2 修改颜⾊参数颜⾊bgrcmykw下⾯修改为红⾊:x=0:2*pi/100:2*pi;y=sin(x);plot(x,y,'r');结果如下:2.3 修改点的形状参数形状图标-solido circlex x-mark+plus*stars squared diamondv triangle (down)^triangle (up)<triangle (left)>triangle (right)ppentagram h hexagram参数形状图标将点形状显⽰为六边形;x=0:2*pi/20:2*pi;y=sin(x);plot(x,y,'h','MarkerSize',10);结果如下:相关参数:MarkerEdgeColor :点边框颜⾊;MarkerFaceColor :点表⾯颜⾊;MarkerSize :点的⼤⼩;2.4 修改线的形状符号形状:dotted -.dashdot --dashedx=0:2*pi/20:2*pi;y=sin(x);plot(x,y,':','LineWidth',3);LineWidth 的参数为线宽;x=0:2*pi/20:2*pi;y=sin(x);plot(x,y,'-.','LineWidth',3);x=0:2*pi/20:2*pi;y=sin(x);plot(x,y,'--','LineWidth',3);2.5 多个参数修改下⾯修改多个参数属性显⽰⼀下正弦波;x = 0:2*pi/100:2*pi;y = sin(x);plot(x,y,'--rs','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','g',... 'MarkerSize',10);结果如下:3 subplotsubplot 的使⽤⽅法如下:subplot Create axes in tiled positions.H = subplot(m,n,p), or subplot(mnp), breaks the Figure windowinto an m-by-n matrix of small axes, selects the p-th axes forthe current plot, and returns the axes handle. The axes arecounted along the top row of the Figure window, then the second row, etc. For example,subplot(2,1,1), PLOT(income)subplot(2,1,2), PLOT(outgo)通俗的讲:subplot(⾏,列,index)注意:plot函数要在subplot表明位置之后再调⽤。
由线到面的可视化 摘要:在Matlab ,面的绘制过程中经常有许多问题,尤其是许多对计算机运用不够成熟的人,他们将长不知道怎么将脑子中的图形画出来,从而实现面的可视化,有的则会通过很复杂的方法才能实现面的绘制。
本文主要想大家提供一种在你知道线的函数的情况下,快速绘制出相应的面。
线到面:如果我们想要绘制一个平面,首先必须真正体会’meshgrid ’函数的用法。
例如,我们很容易可以绘制一个直平面如图1:相应代码如下:clear all图1t=linspace(0,5,21);[s,t]=meshgrid(s,t);x=s;z=t;y=zeros(size(s));surf(x,y,z);shading interp;axis equal但是我们也可以通过另一种方法:我们可以知道一个一条线例如一个空间的直线如图2:图2相应代码如下:clearclcz1=s;x1=zeros(size(z1));y1=zeros(size(z1));plot3(x1,y1,z1);然后我们可以通过for循环得到一排直线如图3:相应代码如下:clearclcfor t=0:0.25:5s=linspace(0,5,21); z1=s;x1=zeros(size(z1)); y1=zeros(size(z1)); % plot3(x1,y1,z1); z2=z1;图3x2=x1+t;y2=y1;plot3(x2,y2,z2);hold onendaxis equal然后我们可以通过meshgrid函数把这些直线变成一个面,所需要做的只是把meshgid代替for循环,plot3改为surf函数。
代码如下:clearclct=linspace(0,5,21);s=linspace(0,5,21);[s,t]=meshgrid(s,t);z1=s;x1=zeros(size(z1));y1=zeros(size(z1));plot3(x1,y1,z1);z2=z1;x2=x1+t;y2=y1;surf(x2,y2,z2);hold onshading interpaxis equal如图4:图4因而我们可以得到meshgid的使用方法:可以将线做展开、延伸、旋转为一个面。
Matlab的图形绘制基础教程近年来,数据可视化越来越受到人们的关注。
图形绘制成为展示数据的一种重要手段。
而在众多图形绘制工具中,Matlab作为一种独特的科学计算和数据可视化软件,广泛应用于各个领域。
本文将介绍Matlab的图形绘制基础,帮助读者了解如何使用Matlab绘制各种类型的图形。
首先,我们需要了解Matlab中的基本图形对象。
Matlab中最基本的图形对象是“figure”。
通过创建“figure”,我们可以在Matlab界面上建立一个空白的图形窗口。
在这个图形窗口上,我们可以创建各种图形对象,如直线、曲线、散点图等。
要创建一个新的图形窗口,可以使用命令“figure”或者在Matlab界面点击“新建图形”按钮。
绘制图形之前,我们需要了解坐标系的概念。
Matlab中使用的是笛卡尔坐标系,横轴表示自变量,纵轴表示因变量。
通过设置坐标轴的范围和刻度,我们可以更好地展示数据。
要设置坐标轴的范围,可以使用命令“xlim”和“ylim”;要设置坐标轴的刻度,可以使用命令“xticks”和“yticks”。
接下来,我们将介绍如何在Matlab中绘制不同类型的图形。
首先是绘制线条。
Matlab提供了多种绘制线条的函数,如“plot”函数、“line”函数和“plot3”函数等。
其中,“plot”函数在二维平面上绘制折线图,而“plot3”函数在三维空间中绘制曲线图。
通过设置线条的样式、颜色和宽度,我们可以让图形更加美观。
要设置线条的样式,可以使用命令“LineStyle”;要设置线条的颜色,可以使用命令“Color”;要设置线条的宽度,可以使用命令“LineWidth”。
除了线条,我们还可以使用Matlab绘制散点图。
散点图可以直观地展示数据的分布情况。
在Matlab中,可以使用命令“scatter”绘制散点图。
通过设置散点的大小、颜色和形状,我们可以更好地展示数据的特征。
要设置散点的大小,可以使用命令“SizeData”;要设置散点的颜色,可以使用命令“CData”;要设置散点的形状,可以使用命令“Marker”。
第二讲Matlab基础知识1.标识符把标志变量、常量或文件名的特定字符称为标识符,Matlab规定必须是英文字母、阿拉伯数字和下划线等符号组成的字符串,第一个符号必须是英文字母。
2.Matlab中的数据及变量类型有三种类型的基本数据:(1)数值型数据,简称数值(Double Array):一般输入的数字均为数值数据,包含实数、复数。
(2)字符串型数据,简称字符量(Char Array):用英文格式单引号加以界定的数字、字符、各种符号、表达式、方程式和汉字等。
(3)符号型数据,简称符号量(Sym Object):用sym和syms可以把字符、表达式、方程、矩阵等定义成数学符号,称为符号型数据,运算结果为数学表达式。
在命令窗口中键入class(a),回车可知已有变量a是哪一种类型的数据。
3.变量名及赋值(略)2.1 数值矩阵2.1.1 永久性数值变量名除了i、j、pi、eps(浮点运算相对精度10-52)、Inf、NaN外还有,realmin(最小正浮点数2-1022)、realmax(最大正浮点数21023)。
2.1.2 数值矩阵的创建1.直接输入法>>a=[1 6 1;4 6 2;9 3 8];>> b=[2-3i,3+5i,2i;3,9i,6;5-i,7i,4];3.变换矩阵结构的命令flipud(a)——输出矩阵a上下翻转后的矩阵;fliplr(a)——输出矩阵a左右翻转后的矩阵;rot90(a,k)——输出矩阵a沿逆时针旋转k个90度后的矩阵,k为正负整数;rot90(a)——输出矩阵a逆时针旋转90度后的矩阵;reshape(A,m,n)——输出一个m×n=k阶矩阵,它是由矩阵a的k个元素重新排列构成的矩阵,重排前后元素在矩阵中的符号不变。
4.一批特殊向量(行矩阵)的创建(1)等差数列型向量的创建增量输入法:t=a:h:b或t=[a:h:b],>> t=(a:h:b),a、b为起始值,h为公差,可正,可负,省略时为1.例如>> t=0:0.1:2*pi线性等分命令t=linspace(a,b,n),a、b为起始值,n为(b-a)的等分点个数。
matlab绘图知识点总结一、Matlab基本绘图函数1. plot函数plot函数是Matlab中最基本的绘图函数之一,用于绘制二维图表。
其基本语法为:plot(x, y)。
其中x是横轴坐标数据,y是纵轴坐标数据。
通过plot函数可以绘制折线图、散点图等。
2. bar函数bar函数用于绘制条形图,其基本语法为:bar(x, y)。
其中x是条形的横轴坐标位置,y是条形的高度。
3. pie函数pie函数用于绘制饼图,其基本语法为:pie(x, labels)。
其中x是用来指定各个扇形区域的大小的矩阵,labels则是用来指定每个扇形区域的标签。
4. hist函数hist函数用于绘制直方图,其基本语法为:hist(x, bins)。
其中x是待绘制的数据,bins则是用来指定直方图的条形数目。
5. scatter函数scatter函数用于绘制散点图,其基本语法为:scatter(x, y)。
其中x和y分别是散点的横轴和纵轴坐标数据。
6. contour函数contour函数用于绘制等高线图,其基本语法为:contour(x, y, z)。
其中x和y分别是网格的横轴和纵轴坐标,z则是用来指定等高线的数值。
二、自定义图形1. 设置标题、标签和图例在Matlab中,可以使用title、xlabel、ylabel和legend等函数分别设置图表的标题、横轴和纵轴标签以及图例。
2. 设置图表样式可以使用line属性、marker属性以及color属性等来设置折线图、散点图等的样式。
3. 修改图表坐标轴可以使用xlim、ylim函数来设置图表的横轴和纵轴范围,并使用xticks和yticks函数来设置坐标刻度。
4. 绘制多个数据集可以使用hold on函数来绘制多个数据集,并使用hold off函数来结束绘制多个图表。
5. 设置图表背景可以使用grid、box、axis equal等函数来设置图表的背景。
三、子图表绘制1. subplot函数subplot函数用于在一个图形窗口中绘制多个子图表,其基本语法为:subplot(m,n,p)。