搜档网
当前位置:搜档网 › 如何完成MatLab坐标的绘制

如何完成MatLab坐标的绘制

如何完成MatLab坐标的绘制
如何完成MatLab坐标的绘制

如何完成MatLab坐标的绘制

1.基本绘图函数

函数名功能描述

Plot绘制二维线性图形及两个坐标轴

Plot3绘制三维图形及三个坐标轴

Loglog绘制对数图形及两个坐标轴(两个轴都为对数坐标)

Semilogx半对数坐标图形(X维对数坐标,Y维线性坐标)

Semilogy半对数坐标(与上面相反)

如:plot(y);%y为矢量,x将为索引值绘制图像,y为m×n矩阵X为索引号1:m,绘制n 各图形

plot(x,y);

plot(x,sin(x),x,sin(x+1),x,cos(x+2));

plot(t,y,’-‘,t,y2,’—‘,t,y3,’.’);

2.基本函数颜色设置与点的形状

基本函数颜色设置:y:黄色;g绿色;b蓝色;m红紫色;c兰绿色;w白色;r红色;k 黑色

基本绘图函数的点形状:+加号形状;o空心园状;*星号;.实心小元点;x叉号;s方形;d菱形;^向上箭头;v向下箭头;>向右箭头;<向左箭头;p五角星形;h六角星形。

如:plot(t,sin(t),’-r*’);%实线,红色,星形点

3.绘制三维图形

plot3(x,y,z);%如果三个为矢量,将绘制三维曲线上点构成的曲线,如果为矩阵,绘图数据将从三个矩阵中的各列中读取,组成三维坐标,进行图形输出。

4.设置坐标轴参数

(1)axis,设置当前轴的坐标范围;

(2)axes,用指定的特征创建一个新坐标轴;

(3)get和set,查询或设置已有轴的各种特性;

(4)gca,返回当前轴的句柄。

如果图形中有多个坐标轴,在当前轴为最后图形创建的图形的坐标轴。Matlab绘制图形数据时候,会自动选择坐标轴范围,用axis可以设置新的坐标轴的范围,用一个具有四个元素的矢量表示坐标范围,格式为:

axis([xmin,xmax,ymin,ymax]);如果不指定某一个方向范围可以使用inf或-inf表示,则产生半自动坐标轴范围。

对于线性坐标轴,matlab会自动根据数据范围设置等间距的坐标轴数值标记,用set,修改gca变量中xtick和ytick的属性值,可以自定义坐标轴标记。如

set(gca,’ytick’,[-0.3:0.1:1]);

可以使用字符矢量通过修改gca变量中的’XtickLabel’实现标记字符,如:

set(gca,’Xtick’,-pii/2i);

set(gca,’XtickLabel’,{‘-pi’,’-pi/2’,’0’,’pi/2’,’pi’};

Axis square设置两坐标轴长度成相等。

Axis equel设置坐标轴标记间距相等;

Axis equel tight;设置图形以紧缩方式显示。

5.图形窗口

figure(2);%以第二个图形窗口作为当前图形输出的窗口;

subplot(m,n,i);%分成m×n个小区域,I指定当前绘图区域;

colordef颜色;%如white,black等,设置绘图背景颜色。

6.图形标注

Matlab提供了几个函数用于图形的标注:

函数名功能描述

Title添加图形标题

Xlabel,xlabel,zlabel添加X,Y,Z轴标注

Legend在图形中添加图例

Text在指定位置显示文本

Gtext使用鼠标将指定文本放在图形中的位置

如下为添加标题,坐标轴标注实例:

>> t=0i/100i*2;

>>plot(t,sin(t));

>>xlabel('t=0 to 2\pi','Fontsize',16);

>>ylabel('sin(t)','fontsize',16);

>>title('Value of the Sine from Zero to Two \pi','fontsize',16)

注:标注时:\pi显示成希腊字母,\alpha,\beta。

在图形中添加标注与图例,如下:

>> t=0i/100i*2;

>>plot(t,sin(t));

>>xlabel('t=0 to 2\pi','Fontsize',16);

>>ylabel('sin(t)','fontsize',16);

>>title('Value of the Sine from Zero to Two \pi','fontsize',16)

>>text(3*pi/4,sin(3*pi/4),'\leftarrow=.707','fontsize',16)

>>text(pi,sin(pi),'\leftarrowsin(t)=0','fontsize',16)

>>text(5*pi/4,sin(5*pi/4),'sin(t)=-.707\rightarrow','HorizontalAlignment','right','fontsize',16) >>gtext('graph of function sin(x)') %可以用鼠标指定字符串所需放设位置。

>> H=legend('con','sin',0) %绘制图例

7.专业图形

条形图和区域图用于显示矢量与矩阵中的数据,条形图用于显示离散数据,区域图用于显示连续性数据。

Bar绘制垂直条形图,bar3绘制三维垂直条形图;barh,bar3h绘制水平条形图;如果以矩阵作为参数,矩阵为m×n,则绘制m组条形图,每组n个垂直条形图。

如bar3(p,’group’);group参数分组显示,depatch参数,stack参数等,可以不要参数默认方式显示。

使用area函数可以根据矢量或矩阵的各列生成一个区域图。先根据矩阵各列中的元素绘制曲线,然后填充曲线下方与X轴上方的区域。

Pie,pie3绘制二维,三维饼图

Hist绘制柱形图

X=Randn(m,n)产生n维m个随机矢量。

Rose显示柱形图的极坐标形式。

8,绘制离散型数据的图形

stem,stem3绘制枝干图,三维枝干图,stairs梯形图。其使用方法与plot基本相似。

>> x=linspace(0,2*pi,60);%创建线性间距的矢量

>> A=sin(x);

>> B=cos(x);

>>stem_handles=stem(x,a+b);

>>stem_handles=stem(x,A+B);

>> hold on;

>>plot_handles=plot(x,A'--r',x,b,'--g');

>>plot_handles=plot(x,A,'--r',x,b,'--g');

>>plot_handles=plot(x,A,'--r',x,B,'--g');

>>legend_handles=[stem_handles(1);plot_handles];%根据句柄设置图例样式

>>legend(legend_handles,'A+B','A=sin(x)','B=cos(x)');

>>xlabel('Time in \musecs');

>>ylabel('Magnitude');

>> hold off

8.绘制速度与方向图形

compass可以将矢量以极坐标的形式显示维从极点发散的图形,输入参数维直角坐标形式,绘制图形维极坐标形式。函数feather沿水平线上等间距显示矢量,quiver,quiver3分别用于绘制二维矢量组(U,V)和三维矢量组(u,v,w)。

例1:>> win=[45 90 90 60 30 335 360 270 335 200 335 335];

>>strength=[7 6 8 10 3 9 6 8 9 10 14 12];

>>rdir=win*pi/180;%将角度转换维弧度

>> [x,y]=pol2cart(rdir,strength);%将极坐标转换成直角坐标

>>compass(x,y)

例2:如果输入参数是一个复矢量,则feather自动将复矢量实部作为x轴方向分量,虚部作为y轴分量。

>> t=0:0.5:13;

>> s=0.025+i;

>> Z=exp(-s*t);%求复矢量Z

>>feather(Z)

函数contour,contour3用于创建二维,三维等高线,contourf用于创建二维等高线并填充颜色,contourc用于计算创建等高线的矩阵,函数clabel用于创建等高线的标注。Contour(Z),Z为一个矩阵,表示相对于XY平面的高度。

Contour(Z,n),根据矩阵Z绘制n组等高线。

Contour(Z,v),根据矢量v指定的等高线,等高线组数为length(v)。

Contour(X,Y,Z), Contour(X,Y,Z,n), Contour(X,Y,Z,v),其中X,Y表示两个坐标范围。如果为矩阵,则必须与矩阵Z大小相同,此时juzhZ一般为用函数surf创建的面。

[c,h]=contour(…),返回等高线矩阵C和图形对象的句柄h。

例:>> [x,y]=meshgrid(-8:0.5:8);%创建网格数据

>> z=0.25*y.^2-0.5*x.^2;

>> subplot(1,2,1);%上面定义双曲抛物面,创建选择第一个图形子区域

>> surf(z);%绘制双曲抛物面图形

>> view(65,45);%设置视角

>> title('双曲抛物面');

>>subplot(1,2,2);

>> contour(x,y,z,10);%绘制数据组的1100组等高线

>>axis equal;

>> title('双曲抛物面的等高线')

函数clael用于标注等高线,绘制时可以输出图形句柄,然后以图形句柄作为函数clabel参数来标注途中的各条等高线。

例:>> [x,y]=meshgrid(-2:.2:2,-2:.2:3);

>> z=x.*exp(-x.^2-y.*2);

>> [c,h]=contour(x,y,z);

>>clabel(c,h);

>>colormap cool

z=A(:,3);

matlab 三维图形绘制实例

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y ,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y ,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: -1 1 X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。

语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y ,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

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绘图和坐标操作 引自:https://www.sodocs.net/doc/ca6975408.html,/blog-360646-465373.html 1. 曲线线型、颜色和标记点类型 plot(X1,Y1,LineSpec, …) 通过字符串LineSpec指定曲线的线型、颜色及数据点的标记类型。 线型颜色 数据点标记类型 - 实线 r 红色 + 加号 -. 点化线 g 绿色 o 圆圈 -- 虚线 b 蓝色 * 星号 : 点线 c 蓝绿色 . 点 m 洋红色 x 交叉符号 y 黄色 square(或s) 方格 k 黑色 diamond(或d) 菱形 w 白色 ^ 向上的三角形 v 向下的三角形 > 向左的三角形 < 向右的三角形 pentagram(或p) 五边形 hexagram(或h) 六边形 2. 设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。 plot(…,’Property Name’, Property Value, …) Property Name 意义选项 LineWidth 线宽数值,如0.5,1等,单位为points MarkerEdgeColor 标记点边框线条颜色颜色字符,如’g’,’b’等MarkerFaceColor 标记点内部区域填充颜色颜色字符 MarkerSize 标记点大小数值,单位为points 3. 坐标轴设置 范围设置: a. axis([xmin xmax ymin ymax])设置坐标轴在指定的区间 b. axis auto 将当前绘图区的坐标轴范围设置为MATLAB自动调整的区间 c. axis manual 冻结当前坐标轴范围,以后叠加绘图都在当前坐标轴范围内显示 d. axis tight 采用紧密模式设置当前坐标轴范围,即一用户数据范围为坐标轴范围 比例:

实验2matlab绘图操作

实验2 Matlab 绘图操作 实验目的: 掌握绘制二维图形的常用函数; 掌握绘制三维图形的常用函数; 掌握绘制图形的辅助操作。 实验内容: 设sin .cos x y x x ?? =+??+? ?23051,在x=0~2π区间取101点,绘制函数的曲线。 已知: y x =2 1,cos()y x =22,y y y =?312,完成下列操作: 在同一坐标系下用不同的颜色和线性绘制三条曲线; 以子图形式绘制三条曲线; 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 3. 已知:ln(x x e y x x ?+≤??=??+>??2 0102 ,在x -≤≤55区间绘制函数曲线。 4. 绘制极坐标曲线sin()a b n ρθ=+,并分析参数a 、b 、n 对曲线形状的影响。 5.在xy 平面内选择区域[][],,-?-8888 ,绘制函数z = 6. 用plot 函数绘制下面分段函数的曲线。 ,(),,x x f x x x x ?++>? ==??+-> x=(0:2*pi/100:2*pi);

>> y=+3*sin(x)/(1+x.^2))*cos(x); >> plot(x,y) 2.已知: y x =2 1,cos()y x =22,y y y =?312,完成下列操作: (1)在同一坐标系下用不同的颜色和线性绘制三条曲线; >> x= linspace(0, 2*pi, 101); >> y1=x.*x; >> y2=cos(2x); >> y3=y1.*y2; plot(x,y1,'r:',x,y2,'b',x,y3, 'ko') (2)以子图形式绘制三条曲线; >> subplot(2,2,1),plot(x,y1) subplot(2,2,2),plot(x,y2) subplot(2,2,3),plot(x,y3)

实验5 Matlab绘图操作实验报告

Tutorial 5 实验报告 实验名称:Matlab 绘图操作 实验目的: 1、 掌握绘制二维图形的常用函数; 2、 掌握绘制三维图形的常用函数; 3、 掌握绘制图形的辅助操作。 实验内容: 1. 设sin .cos x y x x ?? =+ ??+?? 23051,在x=0~2π区间取101点,绘制函数的曲线。 2. 已知: y x =21,cos()y x =22,y y y =?312,完成下列操作: (1) 在同一坐标系下用不同的颜色和线性绘制三条曲线; (2) 以子图形式绘制三条曲线; (3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 3. 已知:ln(x y x x ≤=??+>??0102 ,在x -≤≤55区间绘制函数曲线。 4. 绘制极坐标曲线sin()a b n ρθ=+,并分析参数a 、b 、n 对曲线形状的影响。 5.在xy 平面内选择区域[][],,-?-8888, 绘制函数z =的三种三维曲面图。 6. 用plot 函数绘制下面分段函数的曲线。 ,(),,x x f x x x x ?+>? ==??+

8. 在同一坐标轴中绘制下列两条曲线。 (1).y x =-205 (2)sin()cos ,sin()sin x t t t y t t π=?≤≤? =?303 实验结果: 1. 2. (1)

(2)

(3)

matlab图形坐标点显示精度设置方法

[matlab笔记]绘图时dataTip的设置 2009-04-29 16:43:45| 分类: Computer | 标签: |字号大中小订阅 用matlab(我用的版本是2009)绘图后,有时候需要显示某个数据据点的信息,这时候可以用工具栏上的Data Cursor工具。如下图所示 选中数据点之后,会弹出一个Data Tip,Data Tip显示的就是当前被选中的数据点的基本信息,比如图中显示的是坐标值。现在就遇到一个问题了,如何自己定制这个Data Tip呢?特别是,我的数据有效数字太多时,默认情况下只能显示4位,如何让它显示的精度更高呢? matlab提供了解决方案,不是Option,也不是Preferences,而是脚本。我这里把matlab 的m文件称作脚本。习惯了图形界面的人可能会觉得麻烦,但是我却觉得这是最自由的解决方案。 下面以一个实例来演示操作过程: 1、绘图 x=rand(1000,1); y=rand(1000,1); plot(x,y,'*'); 这样,就在[0,1]X[0,1]这样一个矩形内绘制了1000*1000个点。绘图的时候要指定一个点的图例,不然默认情况下是不画点的,这样也就没法点选了。 2、选中Data Cursor工具,这样,鼠标放到图中间会变成一个十字,这时候点击一个数据

点会弹出一个Data Tip框。 可以看到显示只有4位有效数字。 3、右键菜单,里面有两项"Edit Text Update Function"和"Select Text Update Function"。分别表示编辑配置文件,选择配置文件(配置文件指的还是m文件)。在未编辑之前,当前图用的是默认配置文件。编辑之后,需要保存到一个位置,新保存的文件只对当前图有效。下次如果还想使用这个配置文件,就要用到"Select Text Update Function"了。 4、点选"Edit Text Update Function",出现一个m文件编辑器。内容如下: function output_txt = myfunction(obj,event_obj) % Display the position of the data cursor % obj Currently not used (empty) % event_obj Handle to event object % output_txt Data cursor text string (string or cell array of strings). pos = get(event_obj,'Position'); output_txt = {['X: ',num2str(pos(1),4)],... ['Y: ',num2str(pos(2),4)]}; % If there is a Z-coordinate in the position, display it as well if length(pos) > 2 output_txt{end+1} = ['Z: ',num2str(pos(3),4)]; end 眼尖的人应该一眼就看到了几个"4",没错,正是它们限制了显示精度,改成更大的数就行了。这几行代码的意思应该很明显了。第一行是函数原型,以%开头的是注释,pos是变量,output_txt是返回值。二维图分两行显示X,Y坐标,如果是三维,则还会显示Z坐标。 5、保存为m文件。注意保存的文件一定要带有.m后缀,不然matlab识别不了,从而Data Tip 会显示为Error in custom datatip string function。这个错误说函数返回错误,实际上就是不能识别。 6、保存完了,就算完事了。以后可以直接改那个已经保存的文件,然后绘图后,选择这个文件。再次提醒,每次绘图时使用的都是默认配置,想要特定的效果,要么重新写,要么选择指定配置文件。 7、关于这个配置文件本身,还有许多值得探讨的地方。我这个例子只能更改显示精度,实际上,它还有许多可以自由定制的地方。比如,可以显示点的序号,即第几个点。在配置文件末尾加上一句: output_txt{end+1} = ['index:', num2str(event_obj.DataIndex)];

实验Matlab三维作图的绘制

实验9 三维绘图 一、实验目的 学会MATLAB软件中三维绘图的方法。 二、实验内容与要求 1.三维曲线图 格式一:plot3(X,Y,Z,S). 说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表1.6~表1.10. 【例1.79】绘制螺旋线. >>t=0:pi/60:10*pi; >>x=sin(t); >>y=cos(t); >>plot3(x,y,t,’*-b’) >>grid on 图形的结果如图1.16所示. 格式二:comet3(x,y,z). 说明:显示一个彗星通过数据x,y,z确定的三维曲线. 【例1.80】 >>t=-20*pi:pi/50:20*pi; >>comet3(sin(t),cos(t),t) 可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线. 格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色. 图1.16 例1.79图形结果图1.17 例1.81图形结果 【例1.81】

>>X=[2,1,2;9,7,1;6,7,0]; >>Y=[1,7,0;4,7,9;0,4,3]; >>Z=[1,8,6;7,9,6;1,6,1]; >>C=[1,0,0;0,1,0;0,0,1] >>fill3(X,Y,Z,C) >>grid on 图形的结果如图1.17所示. 问题1.30:图1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何? 2.三维网格图 格式:mesh(X,Y,Z,C) ℅画出颜色由C指定的三维网格图. meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图. meshz(X,Y,Z,C) ℅画出带有底座的三维网格图. 说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X 对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进行线性处理,以便从当前色图中获得有用的颜色,若C缺省,网线颜色和曲面的高度Z相匹配. 在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y. 格式:[X,Y]= meshgrid(x,y). 说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值. 【例1.82】 >> x=1:4; >> y=1:5; >> [x,y]=meshgrid(x,y) x = 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 y = 1 1 1 1

Matlab绘图和坐标操作

Matlab绘图和坐标操作 a=linspace(1,2,10) plot(a,‘—pr’,‘linewidth’,1.5,‘MarkerEdgeColor’ ‘r’,‘MarkerFaceColor’,‘m’,‘MarkerSize’,10) legend(‘a’,‘Location’,‘best’) title(‘a’,‘FontName’,‘Times New Roman’,‘FontWeight’,‘Bold’,‘FontSize’,16) xlabel(‘T’,‘FontName’,‘Times New Roman’,‘FontSize’,14) ylabel(‘a’,‘FontName’,‘Times New Roman’,‘FontSize’,14,‘Rotation’,0) axis auto equal set(gca,‘FontName’,‘Times New Roman’,‘FontSize’,14) plot(X1,Y1,LineSpec, …) 通过字符串LineSpec指定曲线的线型、颜色及数 1.曲线线型、颜色和标记点类型 据点的标记类型。 - 实线r 红色+ 加号-. 点划线g 等方式对方发生法 o 圆圈-- 虚线 b 蓝色* 星号: 点线 c 蓝绿色. 点m 洋红色x 交叉符号y 黄色 square(s)方格k 黑色diamond(d) 菱形w 白色^ 上三角 v 下三角> 左三角< 右三角pentagram(p) 五边形 hexagram(h) 六边形 2.设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。 plot(…,’Property Name’, Property Value, …) Property Name 意义选项 LineWidth 线宽数值,如0.5,1等,单位为points MarkerEdgeColor 标记点边框线条颜色颜色字符,如‘g’, ‘b’等MarkerFaceColor 标记点内部区域填充颜色颜色字符 MarkerSize 标记点大小数值,单位为points 3.坐标轴设置 范围设置: a. axis([xmin xmax ymin ymax])设置坐标轴在指定的区间 b. axis auto 将当前绘图区的坐标轴范围设置为MATLAB自动调整的区间 c. axis manual 冻结当前坐标轴范围,以后叠加绘图都在当前坐标轴范围内显示 d. axis tight 采用紧密模式设置当前坐标轴范围,即一用户数据范围为坐标轴范围 比例: a. axis equal 等比例坐标轴 b. axis square 以当前坐标轴范围为基础,将坐标轴区域调整为方格形 c. axis normal 自动调整纵横轴比例,使当前坐标轴范围内的图形显示达到最佳效果 范围选项和比例设置可以联合使用,默认的设置为axis auto normal 4.坐标轴刻度设置 set(gca,‘XTick’,[0 1 2]) X坐标轴刻度数据点位置 set(gca,‘XTickLabel’,{'a','b','c'}) X坐标轴刻度处显示的字符 set(gca,‘FontName’,‘Times New Roman’,‘FontSize’,14)设置坐标轴刻度字体名称,大

matlab绘制动态三维心形代码(蛋疼的情人节奉献)

Matlab绘制三维动态心形 It’s OK to send a pic to your girlfriend on Valentine's Day 情人节蛋疼玩意 效果图: 原始代码: %仅供参考,自助修改,原则上自己动手,要是非常强烈的要帮忙 %可以联系我的QQ 865802870 ,但愿我还在上面. Source code: %构造体积方程和坐标轴,画出图形;linspace(a,b,c)均匀生成介于a到b的c个值,c 的默认为100。Meshgrid生成矩阵网格。 [X,Y,Z] = meshgrid(linspace(-3,3,101)); %3D心型图方程如下; F = -X.^2.*Z.^3-(9/80).*Y.^2.*Z.^3+(X.^2+(9/4).*Y.^2+Z.^2-1).^3; hFigure = figure; sz = get(hFigure, 'Position'); set(hFigure, 'Position', [sz(1)-0.15*sz(3) sz(2) 1.3*sz(3) sz(4)]); set(hFigure,'color','w', 'menu','none') hAxes = axes('Parent',hFigure,'NextPlot','add',... 'DataAspectRatio',[1 1 1],... 'XLim',[30 120],'YLim',[35 65],'ZLim',[30 75]); view([-39 30]); axis off % 制作出动态的隐形效果; hidden on

% 画出网格,制作网格动态效果; % 快渲染心得背面: p = patch(isosurface(F,-0.001)); set(p,'FaceColor','w','EdgeColor','w'); % 构造Y-Z平面,,描完函数在该平面的点: for iX = [35 38 41 45 48 51 54 57 61 64 67] plane = reshape(F(:,iX,:),101,101); cData = contourc(plane,[0 0]); xData = iX.*ones(1,cData(2,1)); plot3(hAxes,xData,cData(2,2:end),cData(1,2:end),'r'); pause(.1), drawnow end % 构造X-Z平面,描完函数在该平面的点: for iY = [41 44 47 51 55 58 61] plane = reshape(F(iY,:,:),101,101); cData = contourc(plane,[0 0]); yData = iY.*ones(1,cData(2,1)); plot3(hAxes,cData(2,2:end),yData,cData(1,2:end),'r'); pause(.1), drawnow end % 构造X-Y平面,描完函数在该平面的点: for iZ = [36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 69 71] plane = F(:,:,iZ); cData = contourc(plane,[0 0]); startIndex = 1; if size(cData,2) > (cData(2,1)+1) startIndex = cData(2,1)+2; zData = iZ.*ones(1,cData(2,1)); plot3(hAxes,cData(1,2:(startIndex-1)),... cData(2,2:(startIndex-1)),zData,'r'); end zData = iZ.*ones(1,cData(2,startIndex)); plot3(hAxes,cData(1,(startIndex+1):end),... cData(2,(startIndex+1):end),zData,'r'); pause(.1), drawnow end %给三维心着色

教你如何用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向量即可输出曲线:

matlab各种三维绘图及实例

Matlab绘制三维图形 三维曲线 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。 例绘制三维曲线。 程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 三维曲面 1.产生三维数据 在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。 2.绘制三维曲面的函数 surf函数和mesh函数的调用格式为: mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。 例在xy平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 程序如下: [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1);

matlab画三维曲面图

Matlab画三维曲面图 对于如下的数据,如何才能在matlab中画出三维图形. 620 0.03 110 620 0.07 112 630 0.07 119 645 0.02 210 650 0.02 200 650 0.03 230 650 0.06 145 650 0.08 155 655 0.01 180 655 0.06 145 660 0.05 150 680 0.02 175 680 0.04 170 680 0.06 145 680 0.08 155 x y z Matabl程序如下: %%定义数据 x=[620 620 630 645 650 650 650 650 655 655 660 680 680 680 680]; y=[0.03 0.07 0.07 0.02 0.02 0.03 0.06 0.08 0.01 0.06 0.05 0.02 0.04 0.06 0.08]; z=[110 112 119 210 200 230 145 155 180 145 150 175 170 145 155]; %%画图函数部分,参考https://www.sodocs.net/doc/ca6975408.html,/thread-128595-1-1.html cbboy编写的函数%% function PlotGriddata(x,y,z) mx=min(x); %求x的最小值 Mx=max(x); %求x的最大值 my=min(y); My=max(y); Nx=20; %定义x轴插值数据点数,根据实际情况确定 Ny=20; %定义y轴插值数据点数,根据实际情况确定 cx=linspace(mx,Mx,Nx);%在原始x数据的最大值最小值之间等间隔生成Nx个插值点 cy=linspace(my,My,Ny);%在原始数据y的最大值最小值之间等间隔生成Ny个插值点 cz=griddata(x,y,z,cx,cy','cubic');%调用matlab函数进行立方插值,插值方式还有'v4'、'linear' surf(cx,cy,cz); %meshz(cx,cy,cz) %绘制曲面

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

使用matlab 绘制三维图形的方法 三维曲线 plot3函数与plot 函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n),其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 例 绘制三维曲线。 程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z);grid title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 如下图: -1 1 X Line in 3-D Space Y Z

三维曲面 1.产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2.绘制三维曲面的函数 surf 函数和mesh 函数的调用格式为: mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 一般情况下,x,y,z 是维数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 如下图: -2.5 -2-1.5-1-0.500.51 此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz 。其用法与mesh 类似,不同的是meshc 还在xy 平面上绘制曲面在z 轴方

matlab的三维图形绘制三维制图方法解说

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。 语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每

一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

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

matlab 绘制三维图形的方法 plot3函数与plot 函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n),其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 例 绘制三维曲线。 程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z);grid title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 如下图: -1 1 X Line in 3-D Space Y Z 三维曲面

1.产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2.绘制三维曲面的函数 surf 函数和mesh 函数的调用格式为: mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 一般情况下,x,y,z 是维数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 如下图: -2.5 -2-1.5-1-0.500.51 此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz 。其用法与mesh 类似,不同的是meshc 还在xy 平面上绘制曲面在z 轴方向的等高线,meshz 还在xy 平面上绘制曲面的底座。 例 在xy 平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 程序如下:

Matlab绘图和坐标操作(全)

plot函数可以接一些参数,来改变所画图像的属性(颜色,图像元素等)。下面是一些属性的说明 b blue(蓝色) . point(点) - solid(实线) g green(绿色) o circle(圆圈) : dotted(点线) r red(红色) x x-mark(叉号) -. dashdot (点画线) c cyan(墨绿色) + plus(加号) -- dashed(虚线) m magenta(紫红色) * star(星号) (none) no line y yellow(黄色) s square(正方形) k black(黑色) d diamond(菱形) v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram Example x = -pi:pi/10:pi;

y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) xlabel('x'); ylabel('y'); ·用Matlab画图时,有时候需要对各种图标进行标注,例如,用“+”代表A的运动情况,“*”代表B的运动情况。 legend函数的基本用法是 LEGEND(string1,string2,string3, ...) 分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。 例如: plot(x,sin(x),'.b',x,cos(x),'+r') legend('sin','cos')这样可以把"."标识为'sin',把"+"标识为"cos" 还可以用LEGEND(...,'Location',LOC) 来指定图例标识框的位置 这些是Matlab help文件。后面一段是对应的翻译和说明

实验一 MATLAB 基本操作和绘图

本科实验报告 课程名称:信号与系统(乙)实验姓名:罗宇鹏 系:工科试验班信息 专业:光电信息工程 学号:3120103549 指导教师:吕俊张建国 2014年4月29日

实验报告 课程名称: 信号与系统(乙)实验 指导老师: 吕俊 张建国 成绩:______ 实验名称: MATLAB 基本操作和绘图 ================================================================================= 一、 实验目的 1、熟悉MATLAB 编程环境; 2、学习MATLAB 的基本使用方法; 3、熟悉plot 和stem 等绘图函数的用法。 二、 实验原理和内容 实验原理: 1.MATLAB 简介:MATLAB 采用了全新的MATLAB 是 matrix laboratory 的缩写,是 Mathworks 公司开发的一款商业软件。它是一种用于数值计算、算法开发、数据分析和可视化的高级编程语言和编程环境。除向量和矩阵运算、绘制函数/数据图像等基本功能外, MATLAB 也可用来创建图形用户界面(GUI ),并可与其他高级语言(如 C 、C++ 和 FORTRAN 等)进行混合编程。 2.MATLAB 的工作环境:左边当前文件夹(Current Folder )窗口显示的是当前文件夹中的文件;中间是命令行窗口(Command Window ),在“>>”提示符后输入命令,MATLAB 便会执行相应的操作;右上工作区(Workspace )窗口显示的是 MATLAB 命令和程序生成的变量名及其数值;右下是 Command History 窗口显示输入命令的历史记录。所有这些窗口都可改变大小、浮动、关闭及重新打开。 3.当前文件夹和搜索路径:通常在使用调用或执行这些文件之前需要确认或设置.m 文件的搜索路径,告诉MATLAB 在哪里搜索.m 文件。这一步骤可通过“File ”菜单下选择“Set Path …”实现。 4.变量和.m 文件的命名规则:在 MATLAB 中变量和.m 文件有相同的命名规则:区分大小写,第一个字符必须为英文字符(不能为数字开头),不能超过 31 个字符,其他字符可以为英文字符、数字和下划线_,除此之外不能包含其他字符。变量和.m 文件的名字不能重名。同时应尽量避免和 MATLAB 预定义的变量。 5.基本运算和函数:使用 MATLAB 最大的好处是以往复杂的数学运算和编程可变得相 装 订 线

相关主题