用MATLAB绘图

合集下载

利用matlab进行绘图的基本流程

利用matlab进行绘图的基本流程

利用matlab进行绘图的基本流程Matlab is a powerful software tool that is widely used for data analysis, visualization, and modeling. One of the most common tasks in Matlab is plotting graphs to visualize data in a clear and concise manner. The process of creating a plot in Matlab involves several steps, from importing data to customizing the appearance of the plot.Matlab是一种强大的软件工具,广泛用于数据分析、可视化和建模。

在Matlab中最常见的任务之一是绘制图形,以清晰、简洁的方式可视化数据。

在Matlab中创建图形的过程涉及几个步骤,从导入数据到定制绘图的外观。

The first step in plotting a graph in Matlab is to import the data that you want to visualize. This can be done by loading a data file into Matlab or by creating a matrix or array directly in the Matlab workspace. Once the data is imported, you can use Matlab's plotting functions, such as plot() or scatter(), to create the desired plot.在Matlab中绘制图形的第一步是导入您想要可视化的数据。

Matlab绘图

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绘制三维图形的方法

使用matlab绘制三维图形的方法

使用matlab绘制三维图形的方法要使用MATLAB绘制三维图形,首先需要了解MATLAB中的三维绘图函数和绘图选项。

下面将介绍一些常用的绘制三维图形的方法。

1.绘制基本的三维图形要绘制基本的三维图形,可以使用以下函数:- plot3(函数:用于在三维坐标系中绘制线条。

- scatter3(函数:用于在三维坐标系中绘制散点图。

- surf(函数:用于绘制三维曲面图。

- mesh(函数:用于绘制三维网格图。

- bar3(函数:用于绘制三维条形图。

- contour3(函数:用于绘制三维等高线图。

例如,下面的代码演示了如何使用plot3(函数绘制一个三维线条图:```x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);plot3(x, y, z, 'LineWidth', 2);xlabel('X');ylabel('Y');zlabel('Z');title('3D Line Plot');```2.添加颜色和纹理在绘制三维图形时,可以使用颜色和纹理来增加图形的信息。

MATLAB 提供了一系列函数来处理颜色和纹理,如:- colormap(函数:用于设置颜色映射。

- caxis(函数:用于设置坐标轴范围。

- shading(函数:用于设置颜色插值方法。

- texturemap(函数:用于设置纹理映射方法。

例如,下面的代码展示了如何使用纹理映射来绘制一个球体:```[X, Y, Z] = sphere(50);C = colormap('jet');surface(X, Y, Z, 'FaceColor', 'texturemap', 'CData', C);axis equal;```3.绘制多个数据集要在同一张图中绘制多个数据集,可以使用hold on和hold off命令。

MATLAB绘图中常见问题及解决方法

MATLAB绘图中常见问题及解决方法

MATLAB绘图中常见问题及解决方法概述:MATLAB是一种功能强大的数值分析和绘图工具,广泛应用于科学研究、工程应用和数据可视化领域。

然而,在使用MATLAB绘图的过程中,我们可能会遇到一些常见问题。

本文将针对这些问题提供解决方法,帮助读者更好地使用MATLAB进行绘图。

问题一:图像显示不清晰有时候,我们在绘制图像后发现其显示效果不够清晰,无法满足我们的需求。

这可能是由于图像分辨率较低导致的。

为了解决这个问题,我们可以使用MATLAB提供的improveResolution函数来提高图像的分辨率。

该函数可以通过调整图像的大小、分辨率和显示参数来改善图像的清晰度。

问题二:图像颜色不够美观有时候,我们在绘制图像时发现颜色不够美观,难以准确传达所要表达的信息。

为了解决这个问题,我们可以使用MATLAB提供的colorbar函数来调整图像的颜色映射。

通过选择合适的颜色映射方式,我们可以让图像的颜色更加鲜艳、明亮,提高图像的观赏性和可读性。

问题三:图像尺寸不符合要求有时候,我们在绘制图像时发现图像的尺寸过大或过小,不符合我们的要求。

为了解决这个问题,我们可以使用MATLAB提供的resize函数来调整图像的尺寸。

通过设置合适的缩放比例,我们可以将图像的尺寸调整到符合要求的大小,以便更好地展示图像的细节和特征。

问题四:图像坐标轴显示不正确有时候,我们在绘制图像时发现坐标轴的刻度和标签显示不正确,难以准确表示数据的范围。

为了解决这个问题,我们可以使用MATLAB提供的axis函数来设置坐标轴的显示范围和刻度。

通过设置合适的显示范围和刻度间隔,我们可以让坐标轴更加准确地表示数据的分布和变化趋势。

问题五:图像细节显示不清楚有时候,我们在绘制图像时发现细节部分显示不清楚,无法准确表达图像的特征。

为了解决这个问题,我们可以使用MATLAB提供的zoom函数来放大图像的细节部分。

通过调整放大比例和显示参数,我们可以让图像的细节部分更加清晰可见,以便更好地观察和分析图像所包含的信息。

MATLAB画图——基础篇

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绘图总结

一、二维数据曲线图1、MATLAB 最常用的画二维图形的命令是plot, plor 函数的基本调用格式为:plot(x.y)其 中x 和y 为长度相同的向豈,分别用于存储x 坐标和y 坐标数据。

例 1:在[0,2 7T ]画 Sill(.v) 0生成的图形如下图1所示:图1说明:(1) plot 函数的输入参数是矩阵形式时A 、 当x 是向量,y 是有一维与x 同维的矩阵时,则绘制出多根不同颜色的曲线。

曲线 条数等于y 矩阵的另一维数,x 被作为这些曲线共同的横坐标。

B 、 当x,y 是同维矩阵时.则以x,y 对应列元素为横、纵坐标分别绘制曲线,曲线条数 等于矩阵的列数。

C 、对只包含一个输入参数的plot 函数,当输入参数是实矩阵时,则按列绘制每列元素 值相对其卜.标的曲线,曲线条数等于输入参数矩阵的列数:当输入参数是复数矩阵时,则按 列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

(2) 含多个输入参数的plot 函数 调用格式为:plot(xl,yl.x2,y2,"--.xn.yn)A, 当输入参数都为向量时,xl 和yl, x2和y2, xn 和yn 分别组成一组向量对,每一 组向量对的长度可以不同。

每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制岀 多条曲线。

B.当输入参数有矩阵形式时,配对的x_y 按对应列兀素为横、纵坐标分别绘制曲线,曲线 条数等于矩阵的列数。

例2:如卜所示的程序:x 1 =liuspace(0,2 *pi,l 00);x2=luispace(0.3 *pi,l 00);x3=linspace(0.4*pi,100);yl=sin(xl); y2=l+sin(x2);y3=2+sin(x3);x=[xl;x2;x3]';0.80.60.40.2-0.2-0.4-0.6-0.8y=[yl;y2;y3「plot(x,y,xl,yl-l) 其图形如图2所示:图2(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x),在这种情况卜,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一•条连续曲线,这实际上是绘制折线图。

使用MATLAB绘图

使用MATLAB绘图
上页 下页 退出
哈 工 程 大 学 数 值 计 算 软 件
注意: 注意 窗口的标题 已经改变
上页 下页 退出
哈 工 程 大 学 数 值 计 算 软 件
另外,如果不使用 命令建立新窗口, 另外,如果不使用figure命令建立新窗口,则所有的绘图 命令建立新窗口 命令总默认在同一窗口中,其窗口名为 其窗口名为“ 命令总默认在同一窗口中 其窗口名为“No. 1”。下面是一个典 。 型的图形窗口。 型的图形窗口。 其中工具栏内加上下划线的7个图标从左到右依次为 其中工具栏内加上下划线的 个图标从左到右依次为: 个图标从左到右依次为 从右下角到左上角箭头:允许对图形进行编辑操作; 从右下角到左上角箭头:允许对图形进行编辑操作; 字符A 字符A :在图形窗口中添加文本; 在图形窗口中添加文本;
从左下角到右上角箭头:在图形窗口中添加箭头; 从左下角到右上角箭头:在图形窗口中添加箭头; 斜线 :在图形窗口中添加直线; 在图形窗口中添加直线;
带+或-号的放大镜 :允许对图形进行缩放操作; 允许对图形进行缩放操作; 或 号的放大镜 逆时针圆圈 :允许对图形进行旋转操作。 允许对图形进行旋转操作。
关闭图形窗口可用close命令或直接单击图形窗口中的×号。 关闭图形窗口可用 命令或直接单击图形窗口中的× 命令或直接单击图形窗口中的
上页 下页 退出
哈 工 程 大 学 数 值 计 算 软 件
2、二维图形的绘制 下面介绍常用二维图形的绘制方法。由于篇幅, 下面介绍常用二维图形的绘制方法。由于篇幅,我们这里将 不给出生成的图形。 不给出生成的图形。 命令, ●plot命令,绘制二维图形,其x用y轴均为线性坐标 命令 绘制二维图形, 用 轴均为线性坐标 >>x=-2*pi:0.1:2*pi;y=x.^2.*sin(x);plot(x,y) %画出 画出y=x2sinx 画出 >>grid on % 在图象中加入 在图象中加入MATLAB默认的网格 默认的网格 >>z=x.*sin(x);plot(x,y,x,z) %在一张图中同时画出2条曲线 在一张图中同时画出2 在一张图中同时画出 >>x=0:0.1:2*pi;y1=sin(x);y2=cos(x);y3=0; >>plot(x,y1,’r--’,x,y2,’b-’,x,y3,’k-.’); 最后2行是画出 的函数图形, 最后2行是画出y=sin(x),y=cos(x)与y=0的函数图形,其中 , 与 的函数图形 y=sin(x)用红色虚线,y=cos(x)用蓝色实线,y=0用黑色点划线。 用红色虚线, 用蓝色实线, 用黑色点划线。 用红色虚线 用蓝色实线 用黑色点划线 下面是plot命令的常用选项。 命令的常用选项。 下面是 命令的常用选项

教你如何用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画图大全[资料]

matlab画图大全[资料]

matlab绘图大全Matlab绘图系列之高级绘图一、目录1.彗星图二维彗星图三维彗星图2.帧动画3.程序动画4.色图变换5.Voronoi图和三角剖分Voronoi图三角剖分6.四面体7.彩带图彩带图三维流彩带图8.伪彩图9.切片图切片图切片轮廓线图10.轮廓图显示轮廓线显示围裙瀑布效果带光照模式的阴影图11.函数绘图轮廓线、网格图、曲面图、轮廓网格图轮廓曲面图、二维曲线、极坐标曲线图、自定义函数12.三维图形控制视点灯光效果色彩控制二、图形示例1.彗星图二维彗星图t=0:.01:2*pi;x=cos(2*t).*(cos(t).^2);y=sin(2*t).*(sin(t).^2);comet(x,y);title('二维彗星轨迹图')hold onplot(x,y)三维彗星图a=12;b=9;T0=2*pi;%T0是轨道的周期T=5*T0;dt=pi/100;t=[0:dt:T]';f=sqrt(a^2-b^2);%地球与另一焦点的距离th=12.5*pi/180;%未经轨道与x-y平面的倾角E=exp(-t/20);%轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));plot3(x,y,z,'g')%画全程轨线hold on,sphere(20);%画地球axis offtitle('卫星返回地球示例')x1=-18*T0;x2=6*T0;y1=-12*T0;y2=12*T0;z1=-6*T0;z2=6*T0;axis([x1 x2 y1 y2 z1 z2])% axis([-15 10 -15 10 -10 10])axis equalcomet3(x,y,z,0.02);%画运动轨线hold off2.帧动画Z=peaks;surf(Z)%绘制网格表面图axis tightset(gca,'nextplot','replacechildren');%设定axis覆盖重画模式title('帧动画播放示例')for j=1:20surf(sin(2*pi*j/20)*Z,Z)%重新绘制网格表面图,这里后面一个Z当成了颜色矩阵F(j)=getframe;%创建帧endmovie(F,20)%播放动画20次3.程序动画t=0:pi/50:10*pii=1;h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');%设定擦除模式grid onaxis([-2 2 -2 2 -1 10*pi])title('程序动画示例')for i=2:length(t)set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));drawnowpause(0.01)end4.色图变换load spineimage(X)colormap coolspinmap(10)5.Voronoi图和三角剖分Voronoi图rand('state',5)x=rand(1,10);y=rand(1,10);subplot(131)voronoi(x,y);%绘制voronoi图形axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(132)[vx,vy]=voronoi(x,y);plot(x,y,'r+',vx,vy,'b-');%应用返回值绘制axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(133)rand('state',5);x=rand(10,2);[v,c]=voronoin(x);%返回值v参数维voronoi顶点矩阵,返回值c 参数为voronoi元胞数组for i=1:length(c)if all(c{i}~=1)patch(v(c{i},1),v(c{i},2),i);%应用色图iendendaxis equalaxis([-0.2 1.6 -0.5 2.5])box on三角剖分[x,y]=meshgrid(1:15,1:15);tri=delaunay(x,y);z=peaks(15);trimesh(tri,x,y,z)6.四面体d=[-1 1];[x,y,z]=meshgrid(d,d,d);%定义一个立方体x=[x(:);0];y=[y(:);0];z=[z(:);0];%[x,y,z]分别为加上中心的立方体顶点X=[x(:) y(:) z(:)];Tes=delaunayn(X);%返回m×n的数组值tetramesh(Tes,X);%绘制四面体图camorbit(20,0);%旋转摄像目标位置7.彩带图彩带图[x,y]=meshgrid(-3:.5:3,-3:.1:3);z=peaks(x,y);ribbon(y,z)三维流彩带图load wind%打开保存的数据lims=[100.64 116.67 17.25 28.75 -0.02 6.86];%定义坐标轴范围[x,y,z,u,v,w]=subvolume(x,y,z,u,v,w,lims);%lims来定义数据子集[sx sy sz]=meshgrid(110,20:5:30,1:5);%定义网格点verts=stream3(x,y,z,u,v,w,sx,sy,sz,.5);%计算彩带顶点cav=curl(x,y,z,u,v,w);%计算卷曲角速度wind_speed=sqrt(u.^2+v.^2+w.^2);%计算流速h=streamribbon(verts,x,y,z,cav,wind_speed,2);%绘制流彩带图view(3)8.伪彩图n=6%定义轮数r=(0:n)'/n;%定义轮的半径theta=pi*(-n:n)/n;%定义轮的扇区角X=r*cos(theta);Y=r*sin(theta);%定义网格顶点C=r*cos(2*theta);%定义色图pcolor(X,Y,C)%绘制伪彩图axis equal tight9.切片图切片图[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);v = x.*exp(-x.^2-y.^2-z.^2);xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0];slice(x,y,z,v,xslice,yslice,zslice)colormap hsv切片轮廓线图[x y z v]=flow;%打开水流数据h=contourslice(x,y,z,v,[1:9],[],[0],linspace(-8,2,10));%切片轮廓线view([-12 30])10.轮廓图显示轮廓线[x,y,z]=peaks;subplot(1,2,1)meshc(x,y,z);%同时画出网格图与轮廓线title('meshc 网格图与轮廓线')axis([-inf inf -inf inf -inf inf]);subplot(1,2,2)surfc(x,y,z);%同时画出曲面图与轮廓线title('surfc 曲面图与轮廓线')axis([-inf inf -inf inf -inf inf]);显示围裙[x y z]=peaks;meshz(x,y,z);瀑布效果[X,Y,Z]=peaks(30);waterfall(X,Y,Z)带光照模式的阴影图[x,y]=meshgrid(-3:1/8:3);z=peaks(x,y);surfl(x,y,z);shading interp%着色处理colormap(gray);%灰度处理axis([-3 3 -3 3 -8 8])11.函数绘图轮廓线、网格图、曲面图、轮廓网格图%图1绘制轮廓线、网格图、曲面图、轮廓网格图subplot(221)f=['3*(1-x)^2*exp(-(x^2)-(y+1)^2)-10*(x/5-x^3-y^5)*exp(-x^2-y^2)-1/3*exp(-(x+1)^2-y^2)'];%定义双变量x、y的函数式ezcontour(f,[-3,3],49)%x、y为[-3 3],网格为49×49subplot(222)ezmesh('sqrt(x^2+y^2)');subplot(223)ezsurf('real(atan(x+i*y))')%经过滤波,如果相同数据surf绘图没有滤波subplot(224)ezmeshc('y/(1+x^2+y^2)',[-5,5,-2*pi,2*pi])%x、y的数值范围分别为[-5 5]、[-2*pi 2*pi]轮廓曲面图、二维曲线、极坐标曲线图、自定义函数%图2绘制轮廓曲面图、二维曲线、极坐标曲线图、自定义函数figure(2)subplot(221)ezsurfc('sin(u)*sin(v)')subplot(222)ezplot('x^2-y^4');subplot(223)ezpolar('1+cos(t)')subplot(224)fplot('myfun',[-20 20])function Y=myfun(x)Y(:,1)=200*sin(x(:))./x(:);Y(:,2)=x(:).^2;三维曲线图%绘制三维曲线图figure(3)ezplot3('sin(t)','cos(t)','t',[0,6*pi])12.三维图形控制视点View图形旋转subplot(121)surf(peaks);title('旋转前图形');subplot(122)h=surf(peaks);rotate(h,[1 0 1],180)title('旋转后图形');灯光效果%灯光效果(1)camlight(2)light(3)lightangle(4)lighting(5)materialsphere;camlight色彩控制%色彩控制(1)缺省设置colordef、whitebg(2)色图colormap(3)浓淡处理shadingload flujetimage(X)colormap(jet)subplot(131)sphere(16)axis squareshading flattitle('Flat Shading')subplot(132)sphere(16)axis squareshading facetedtitle('Faceted Shading') subplot(133)sphere(16)axis squareshading interptitle('Interpolated Shading')。

MATLAB中的绘图函数介绍

MATLAB中的绘图函数介绍

MATLAB中的绘图函数介绍概述:MATLAB是一种非常强大的数值计算和科学绘图软件,在各个领域中都得到广泛的应用。

在MATLAB中,绘图函数是其中一个非常重要的功能,它可以帮助我们将数据可视化,并进行分析和解释。

在本文中,我们将详细介绍一些常用的MATLAB绘图函数及其功能。

一、plot函数:plot函数是MATLAB中最基本的绘图函数之一,它可以绘制线性图。

通过将一系列的点连接起来,我们可以绘制出数据的变化趋势。

下面是plot函数的一个简单示例:```matlabx = 0:0.1:10;y = sin(x);plot(x, y);```在这个例子中,我们首先定义了x的取值范围为0到10,间隔为0.1。

然后通过使用sin函数计算出对应的y值。

最后,调用plot函数将x和y的数值传入,即可得到一条关于sin函数的图形。

除了基本的线性图,plot函数还可以绘制不同颜色和线型的曲线,并添加标题、标签等。

它是进行简单数据可视化的利器。

二、scatter函数:相比于plot函数,scatter函数可以绘制散点图,用于展示多个不同数据点之间的分布关系。

通过scatter函数,我们可以方便地比较不同变量之间的相关性。

以下是scatter函数的一个示例:```matlabx = randn(100,1);y = 0.5*x + randn(100,1);scatter(x, y);```在这个例子中,我们首先生成了两组随机数x和y。

然后使用scatter函数将它们绘制成散点图。

通过观察散点图的分布,我们可以判断出x和y之间是否存在线性相关性。

scatter函数还支持设置散点的颜色、大小和透明度等参数,以满足不同的需求。

它是进行多变量分析的重要工具之一。

三、bar函数:bar函数可以用于绘制柱状图,常用于展示各个类别的数据之间的差异。

通过柱状图,我们可以清晰地比较不同类别之间的数值大小。

以下是bar函数的一个示例:```matlabx = categorical({'A', 'B', 'C', 'D'});y = [10, 15, 8, 12];bar(x, y);```在这个例子中,我们首先定义了四个类别,分别是'A'、'B'、'C'和'D'。

怎样用Matlab绘图

怎样用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中绘图命令介绍

MATLAB中绘图命令介绍

MATLAB中绘图命令介绍本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。

plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y座标。

下例可画出一条正弦曲线:close all;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函数即可:hold on 保持当前图形,以便继续画图到当前坐标窗口hold off 释放当前图形窗口title(’图形名称’)(都放在单引号内)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…)plot(x, sin(x), x, cos(x));若要改变颜色,在座标对後面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态,也是在座标对後面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');小整理:plot绘图函数的叁数字元、颜色元、图线型态,y 黄色 .点k 黑色o 圆w 白色x xb 蓝色++g 绿色* *r 红色- 实线c 亮青色: 点线m锰紫色-. 点虚线-- 虚线plot3 三维曲线作图图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]);axis函数的功能丰富,其常用的用法有:axis equal :纵横坐标轴采用等长刻度axis square:产生正方形坐标系(默认为矩形)axis auto:使用默认设置axis off:取消坐标轴axis on :显示坐标轴此外,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还有其他各种二维绘图函数,以适合不同的应用,详见下表。

第4章 MATLAB 绘图

第4章 MATLAB 绘图

4.图例标注
菜单Insert---legend 命令legend('string1','string2',...)
4.1.6 一个图形窗口多个子图的绘制
subplot(m,n,i)把图形窗口分为m*n个子图,并在第i个子图 中画图 例 4-11 在同一坐标系中画出两个函数,y=cos2x,y=sinxsin6x 的图形,自变量的范围为0≤ x ≤π,函数y=cos2x用红色星号,函数 y=sinxsin6x用蓝色实线,并加图名、坐标轴、图形、图例标注 解 MATLAB命令为: x=0:pi/50:pi; y1=cos(2*x);y2=sin(x).*sin(6*x); plot(x,y1,'r*',x,y2,'b-'),grid on title(‘曲线y1=cos(2x)曲线y2=sin(x)sin(6x)') xlabel('x轴'),ylabel('y轴') gtext('y1=cos(2x)'),gtext('y2=sin(x)sin(6x)') legend('y1=cos(2x)','y2=sin(x)sin(6x)')
group 8 6 4 2 0 10 30 20
stack
1
2
3
4 stack
5
6
0
1
2
3
4 stack
5
6
8 6 5 4 3 2 1 0 10 20 30 6 4 2 0
其它特殊绘图略(见教科书 )
1
2
3
4
5
6
4.3 三维曲线绘图

MATLAB三维绘图

MATLAB三维绘图

第7讲 绘制三维图(第5章MATLAB 绘图)目的:1.掌握绘制三维图形的方法。

2.掌握绘制图形的辅助操作。

一、绘图时点坐标矩阵的生成。

绘图函数使用描点法绘图,所以在绘图前,需要建立空间点的概念,空间中的点需要三个坐标(,,)x y z ,matlab 使用三个矩阵来存储点的三个坐标,一个矩阵(比如A )存储点的x 坐标,一个矩阵(比如B )存储点的y 坐标,一个矩阵(比如C )存储点的z 坐标。

其中A 、B 、C 三矩阵是同型矩阵。

例如设矩阵123112X ⎛⎫⎪= ⎪ ⎪⎝⎭,014221Y −⎛⎫ ⎪= ⎪ ⎪⎝⎭,510113Z ⎛⎫ ⎪= ⎪ ⎪−⎝⎭则,matlab 绘图函数将绘制点()()1,0,5,(2,1,1),(3,4,0),,2,1,3−共6个点。

如果点的坐标没有规律那么我们需要手工输入坐标矩阵。

如果点的坐标有规律,那么我们可以使用矩阵运算或者matlab 产生点的函数来生成坐标矩阵。

例如,假设空间中点的纵横坐标如下图所示:图中点的坐标有规律:横坐标是(1,2,3,4),纵坐标是(1,2,3),所以可以使用如下方法得到点的坐标矩阵。

方法一:>> a=[1,2,3,4];b=[1,2,3];i=ones(1,3);j=ones(1,4);>>x=i’ *a; y=b‘ *j;方法二:使用matlab系统函数meshgrid(推荐使用)>> a=[1,2,3,4]; b=[1,2,3];>>[x,y]=meshgrid(a,b) % 该函数生成的x,y矩阵和方法一相同。

------------------我是华丽分割线-----------------除meshgrid外,还可以用peaks、cylinder函数等生成点坐标矩阵。

peaks(n): 本身是一个创建具有多个峰值的曲面图,例如:>> peaks(30) %产生的图如下:在matlab中可以使用,例如:命令[x,y,z]=peaks(30)取出曲面点的三个坐标矩阵x,y,z;[a,b]=peaks(30)取出曲面点的前两坐标矩阵x,y;%可以用逻辑运算a==x,b==y验证注意:命令a=peaks(30)取出的a不是曲面点的x坐标,而是点的z坐标;可以用二维绘图函数scatter(x,y)绘制散点图观察取出的坐标点:>>[x,y]=peaks(8);>>scatter(x,y)另一个可以用来取坐标点的函数是sphere(n),命令sphere(n):绘制一个具有n个纵列的单位球面。

matlab绘图知识点总结

matlab绘图知识点总结

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)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011—2012学年第2学期
实验报告
课程名称:工程应用数学B
实验名称:用MATLAB绘图
实验类别:综合型
专业班级:
实验地点:8#403实验时间:2012.4.1
组 别:第五组
指导教师:成 绩:
一. 小组成员(具体分工)
姓名
学号
具体分工
实验步骤,实验程序
实验结果,实验总结
实验目的,实验内容
二. 实验目的
MATLAB主界面中打开file再点击new接着在new的菜单中选择script。
2.双叶双曲面简单的验证在MATLAB里输入命令即可,我一般选择script比较方便。
3.曲面与曲面相交空间立体感比较强,手绘图形没有立体感,用MATLAB验证。
4.球面与柱面的交线,比较难设计但是验证还是比较容易的,输入命令运行程序,在script中点击连接即可,可以验证图形的正确性。
五.实验程序(经调试后正确的源程序)
一、验证程序:
1.简单图形,双叶双曲面的程序:
ezsurf('2*tan(u)*cos(v)','3*tan(u)*sin(v)','4*sec(u)',[-pi/2,3*pi/2,0,2*p
i]);
axis auto
2.曲面与曲面的相交的程序:
[x,y]=meshgrid(-1:0.1:2);
5. 验证试验后,将验证出的图形导出到试验报告中,并复制程序到报告中。
二:设计实验
Ⅰ.验证题目:①设计一个求抛物面 和柱面 相交的图形程序。
②画出正四面体的图形。
③已知描述某连续系统的微分方程为 ,试用MATLAB绘出该系统的冲击响应和阶跃响应的波形。
Ⅱ.如验证试验一样,把设计的程序输入到MATLAB命令窗口,运行程序。
一:验证实验
Ⅰ.验证题目:①简单图形,双叶双曲面的参数方程为 ,其中
②曲面与曲面相交,曲面 与曲面 的交线。
③球面 和柱面 的交线。
Ⅱ.试验步骤
1.打开MATLAB,因为直接在MATLAB中输入命令要求极高,如出现错误无法删除,
还有不能随意换行达到美观效果,因此我们通常在notebook中输入命令。也可以就在
x=cos(p);
y=sin(p);
z=q;
[x1,y1]=meshgrid(-4:0.1:4,-4:0.1:4);
z1=2-x1.^2-y1.^2;
mesh(x,y,z);
hold on;
mesh(x1,y1,z1)
2.四面体的程序:
clc;close all;
P1 = [1 0 0];
P2 = [0 sqrt(3) 0];
subplot(1,2,1);
fill3(x,y,z,c);
axis square;
subplot(1,2,2);
axis square;view(3);
for I = 1:4
h = patch(x(:,I),y(:,I),z(:,I),'r');
set(h,'edgecolor','k');
set(h,'FaceAlpha',rand);
P3 = [-1 0 0];
P4 = [0 sqrt(3)/3 sqrt(6)*2/3];
x = [P1(1) P1(1) P2(1) P3(1);
P2(1) P2(1) P3(1) P1(1);
P3(1) P4(1) P4(1) P4(1)];
y = [P1(2) P1(2) P2(2) P3(2);
1.熟悉MATLAB程序的操作界面,了解MATLAB的基本功能。
2.简单掌握MATLAB语言,学会用MATLAB绘制书本中简单的图形。
三. 实验内容(要求)
1.使用MATLAB语言解决书本中的空间画图问题,即用MATLAB验证书中的图形。
2.按照老师要求设计数个图形程序。
四. 实验步骤(具体实施过程)
P2(2) P2(2) P3(2) P1(2);
P3(2) P4(2) P4(2) P4(2)];
z = [P1(3) P1(3) P2(3) P3(3);
P2(3) P2(3) P3(3) P1(3);
P3(3) P4(3) P4(3) P4(3)];
c = ones(size(x));
figure;
MATLAB,一个生疏的字眼,也是有了这次自学,我们才有了接触他的机会,从一点都不知道到现在的略知一二,也觉得自己学到了一些知识。
本次在老师的英明领导下,我们开始了MATLAB的自学之行。首先,在一次MATLAB报告会中,我们开始接触MATLAB;随后,我们以看书和上机操作一步步了解MATLAB。在逐步的学习中,我们逐步了解到MATLAB功能的强大,也深深被其吸引。
在MATLAB的学习过程中,我们了解到了它的应用,有数学和计算算术发展模型的建立;模拟仿真;数据分析.开发;科学和工程图学;应用发展包括用户界面设计等等许许多多的方面。通过MATLAB的应用,我们能够抓住重点,深入学习MATLAB的各个功能来强化自身的能力。同时正因为MATLAB功能强大,也反映出其复杂性。在MATLAB的输入过程中,主要存在一点点的改变,其结果.图像就会发生或多或少的变化。所以,在MATLAB输入过程中,我们一定要认真仔细,同时,我们也可以通过改变细微以得到不同的结果,通过对比学习,得到提升。
pause(0.5);
end
3.matlab与专业课联系的图形:
b=[1];
a=[2 1 8];
subplot(1,2,1)
impulse(b,a)
subplot(1,2,2)
step(b,a)
4.设计结果:
(1)抛物面与柱面相交
(2)四面体的图形
(3)matlab与专业课联系的图形
七.实验总结(围绕心得体会、创新之处、改进方案等方面)
x1=2*cos(p).^2;
y1=sin(2*p);
z1=q;
surf(x,y,z);
hold on;
surf(ቤተ መጻሕፍቲ ባይዱ1,y1,z1)
4.验证结果:
(1)双叶双曲面
(2)曲面与曲面相交
(3)球面与柱面的交线
二、设计试验:
1.抛物面与柱面相交程序:
[p,q]=meshgrid(-4*pi:0.1:2*pi,-16:0.1:18);
colormap(cool);view(-137,-6)
3.球面与柱面的交线的程序:
t=0:0.1:pi;
r=0:0.1:2*pi;
[u,v ]=meshgrid(t,r)
x=2*sin(u).*cos(v);
y=2*sin(u).*sin(v);
z=2*cos(u);
[p,q]=meshgrid(-pi/2:0.1:pi/2,-3:0.1:3)
z1=x.*x-2*y.*y;
z2=x.*x+y.*y-5;
mesh(x,y,z1);hold on;mesh(x,y,z2)
r0=(abs(z2-z1)<0.1);
zz=r0.*z1;yy=r0.*y;xx=r0.*x;
plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'k*')
相关文档
最新文档