matlab绘图(一维、二维、三维)

合集下载

Matlab实验报告(三)-MATLAB绘图

Matlab实验报告(三)-MATLAB绘图

实验目的1.掌握MATLAB的基本绘图命令。

2.掌握运用MATLAB绘制一维、二维、三维图形的方法.3.给图形加以修饰。

一、预备知识1.基本绘图命令plotplot绘图命令一共有三种形式:⑴plot(y)是plot命令中最为简单的形式,当y为向量时,以y的元素为纵坐标,元素相应的序列号为横坐标,绘制出连线;若y为实矩阵,则按照列绘出每列元素和其序列号的对应关系,曲线数等于矩阵的列数;当y为复矩阵时,则按列以每列元素的实部为横坐标,以虚部为纵坐标,绘出曲线,曲线数等于列数。

⑵ plot(x,y,[linspec])其中linspec是可选的,用它来说明线型。

当x和y为同维向量时,以x为横坐标,y为纵坐标绘制曲线;当x是向量,y是每行元素数目和x维数相同的矩阵时,将绘出以x为横坐标,以y中每行元素为纵坐标的多条曲线,曲线数等于矩阵行数;当x为矩阵,y为相应向量时,使用该命令也能绘出相应图形。

⑶ plot(x1,y1,x2,y2,x3,y3……)能够绘制多条曲线,每条曲线分别以x和y为横纵坐标,各条曲线互不影响。

线型和颜色MATLAB可以对线型和颜色进行设定,线型和颜色种类如下:线:—实线:点线 -.虚点线——折线点:.圆点 +加号 *星号 x x型 o 空心小圆颜色:y 黄 r 红 g 绿 b 蓝 w 白 k 黑 m 紫 c 青特殊的二维图形函数表5 特殊2维绘图函数[1] 直方图在实际中,常会遇到离散数据,当需要比较数据、分析数据在总量中的比例时,直方图就是一种理想的选择,但要注意该方法适用于数据较少的情况。

直方图的绘图函数有以下两种基本形式。

·bar(x,y) 绘制m*n 矩阵的直方图.其中y 为m *n 矩阵或向量,x 必须单向递增。

·bar(y) 绘制y 向量的直方图,x 向量默认为x=1:m close all; %关闭所有的图形视窗。

x=1:10;y=rand (size(x )); bar(x,y ); %绘制直方图.123456789100.51Bar()函数还有barh ()和errorbar ()两种形式,barh()用来绘制水平方向的直方图,其参数与bar()相同,当知道资料的误差值时,可用errorbar ()绘制出误差范围,其一般语法形式为:errorbar (x,y,l,u)其中x,y 是其绘制曲线的坐标,l ,u 是曲线误差的最小值和最大值,制图时,l 向量在曲线下方,u 向量在曲线上方。

实验二MATLAB绘制图形

实验二MATLAB绘制图形

grid on %在所画出的图形坐标中加入栅格
绘制图形如下
50
10
1
0.8
40
10
0.6
0.4
30
10
0.2
0
1020
-0.2
-0.4
1010
-0.6
-0.8
0
10
-1
-2
0
2
-2
0
2
10
10
10
10
10
10
如果在图中不加栅格
程序如下:
clear x=logspace(-1,2);%在10^(-1)到10^2之间产生50个 对数等分的行向量 subplot(121); loglog(x,10*exp(x),'-p') subplot(122); semilogx(x,cos(10.^x))
(2)plot(x,y): 基本格式,x和y可为向量或矩阵. 1. 如果x,y是同维向量,以x元素为横坐标,以y元素 为纵坐标绘图. 2. 如果x是向量,y是有一维与x元素数量相等的矩阵, 则以x为共同横坐标, y元素为纵坐标绘图,曲线数目 为y的另一维数. 3. 如果x,y是同维矩阵,则按列以x,y对应列元素为 横、纵坐标绘图,曲线数目等于矩阵列数.
y=2*exp(-0.5*x).*cos(4*pi*x);
2
plot(x,y)
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
1
2
3
4
5
6
7
例4 绘制曲线
t=(0:0.1:2*pi);
x=t.*sin(3*t);
y=t.*sin(t).*sin(t);

数学2-用MATLAB绘制二维-三维图形(lq)

数学2-用MATLAB绘制二维-三维图形(lq)
ans = 8 9
[i,j,v]=find(A) 返回矩阵A中非零元素所在的行i,
列j,和元素的值v(按所在位置先后 顺序输出)
A=[3 2 0; -5 0 7; 0 0 1]; [i,j,v]=find(A)
i= 1 2 1 2 3 j= 1 1 2 3 3 v = 3 -5 2 7 1
[X,Y]=meshgrid(x,y) 3)根据函数表达式生成全部网格节点出对应的函数值矩阵z: z=f(X,Y) 4)顺序连接已经产生的空间点(x,y,z)绘制相应曲面: mesh(X,Y,Z) surf(X,Y,Z) shading flat %去除网格线。
例2-7画出矩形域[-1,1]×[-1,1]旋转抛物面:z=x2+y2. x=linspace(-1,1,100); y=x; [X,Y]=meshgrid(x,y); %生成矩形区[-1,1]×[-1,1]的网格坐标矩阵 Z=X.^2+Y.^2; subplot(1,2,1) mesh(X,Y,Z); subplot(1,2,2) surf(X,Y,Z); shading flat; %对曲面z=x2现方式做保护处理对用户上传分享的文档内容本身不做任何修改或编辑并不能对任何下载内容负责
用matlab绘制二维、三维图形
2.1二维图形的绘制
2.1.1 二维绘图的基本命令 matlab中,最常用的二维绘图命令是plot。
使用该命令,软件将开辟一个图形窗口,并 画出连接坐标面上一系列点的连线。
例2-5 采用不同形式(直角坐标、参数、极坐标),画出 单位圆x2+y2=1的图形。
分析:对于直角坐标系方程,y= 1 x2,对于参数方 程x=cost,y=sint,t[0,2 pi] ,利用plot(x,y)命令可以实现。 而在极坐标系中单位圆为r=1(1+0t),利用polar(t,r)命 令实现。

MATLAB曲线绘制大全

MATLAB曲线绘制大全

一、二维数据曲线图1.1绘制单根二维曲线plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例1-1在0x2p区间内,绘制曲线y=2e-0.5xcos(4x)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例1-2绘制曲线。

程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

1.2绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。

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

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

(3)对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。

当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

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

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

(2)当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

例1-3分析下列程序绘制的曲线。

x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)3.具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。

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中进行二维和三维绘图

如何在Matlab中进行二维和三维绘图在科学研究和工程领域,数据可视化是一项十分重要的任务,而Matlab作为一种功能强大的数值计算和数据分析软件,自然也提供了丰富的绘图功能。

本文将介绍如何在Matlab中进行二维和三维绘图,并探讨一些常见的绘图技巧和应用。

一、二维绘图Matlab中的二维绘图是最常见和基础的绘图任务之一。

在绘制二维图形时,我们通常会用到plot函数。

这个函数可以接受单个向量作为输入,将这个向量的值作为y轴上的数据点,自动生成与该向量长度相同的x轴坐标。

例如,我们可以用以下代码绘制一个简单的二维折线图:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```上述代码中,x参量取从0到2π的均匀间隔的值,而y则是根据x计算得到的sin函数值。

plot函数会自动根据输入绘制折线图,并添加相应的轴标签和图例。

在实际应用中,我们经常需要绘制多条曲线在同一个坐标系中进行对比分析。

可以通过在plot函数中传入多个x和y向量实现这一功能。

例如,我们可以通过以下代码绘制一个简单的双曲线图:```x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);plot(x, y1, x, y2);```这样,就会在同一个坐标系中同时绘制sin曲线和cos曲线。

除了折线图,Matlab还支持其他常见的二维绘图类型,如散点图、柱状图和面积图等。

这些绘图类型可以通过不同的函数实现,例如scatter、bar和area等。

这里不再一一赘述,读者可以通过Matlab的帮助文档或官方网站了解更多的用法和示例。

二、三维绘图除了二维绘图,Matlab也提供了丰富的三维绘图功能,用于可视化更为复杂的数据和模型。

在绘制三维图形时,我们通常会用到surf函数。

这个函数可以接受两个二维矩阵作为输入,将这两个矩阵的值分别作为x、y轴上的坐标,而将第三个二维矩阵的值作为z轴上的数据点。

MATLAB绘图教程详解

MATLAB绘图教程详解

一。

二维数据曲线图1.1 绘制单根二维曲线plot 函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例1-1 在0≤x≤2p区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例1-2 绘制曲线。

程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

1.2 绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。

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

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

(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。

当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

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

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

(2) 当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

例1-3 分析下列程序绘制的曲线。

x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)3.具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy 绘图函数。

MATLAB图形绘制-二维

MATLAB图形绘制-二维

标记符号选项 选 v ^ < > p (pentagram ) h (hexagram ) 项 标 记 符 号 朝下三角符号 朝上三角符号 朝左三角符号 朝右三角符号 五角星符 六角星符
例 在同一坐标内,分别用不同线型和颜色绘制曲线 y1 = 0.2e−0.5xcos(4x)和y2 = 1.5e−0.5x cos(x)。标记两曲 线交叉点。 x=linspace(0,2*pi,1000); y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=1.5*exp(-0.5*x).*cos(pi*x); k=find(abs(y1-y2)<1e-2); x1=x(k); y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); plot(x,y1,x,y2,'k:',x1,y3,'bp');
MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、 颜色和数据点标记符号。 例如,“b-.”表示蓝色点画线,“y:d”表示黄色虚线并用菱 形符标记数据点。当选项省略时,MATLAB规定,线型一 律用实线,颜色将根据曲线的先后顺序依次采用表3.2给 出的前7种颜色。
表 3.1 线型选项 选 项 : --. 线 型 实线(默认值) 虚线 双画线 点画线
【例 3.10 】表 3.5 所示为某公司 3 类产品各季度的销售额(单位:万元) ,分别按季度绘制簇 状柱形图和堆积条形图。
表 3.5 第 一 季 度 产品 A 产品 B 产品 C 51 67 78 产品全年销售额(单位:万元) 第 二 季 度 82 78 85 第 三 季 度 34 68 65 第 四 季 度 47 90 50
在绘制图形的同时,可以对图形加上一些说明,如图形名 称、坐标轴说明、图形某一部分的含义等,这些操作称为 添加图形标注。有关图形标注函数的调用格式如下: title(图形名称) xlabel(x轴说明) ylabel(y轴说明)

Matlab 数组与绘图操作

Matlab 数组与绘图操作

二维数组操作函数
repmat(A,m,n) rot90(A,k)
按指定的“行数、列数”铺放模块 数组,以形成更大的数组 逆时针旋转 k×90 度 组的“行数、列数”
reshape(A,m,n) 在总元素数不便的前提下,改变数 tril(A) triu(A)
提取一个矩阵的下三角部分 提取一个矩阵的上三角部分
π y = sin 2t + 6
plot(x,y)
一维数组, (2)若x 是一维数组 y 是二维数组 ) 的行数相等, 当 x 的长度与 y 的行数相等,则将 x 与 y 中的各列相对应,绘制多条平面曲线; 中的各列相对应,绘制多条平面曲线; 否则, 的列数相等, 否则,若 x 的长度与 y 的列数相等,则将 x 与 y 中的各行相对应,绘制多条平面曲线。 中的各行相对应,绘制多条平面曲线。
7、二维数组的与标量 的运算
• • • • • • • A + c :A的每个元素加c A - c: A的每个元素减c A.*c:点乘, A的每个元素乘c A./c:右点除, A的每个元素除c A.\c:左点除,c除A的每个元素 A.^c:点幂, A的每个元素做幂运算 c.^A:点幂,c做幂运算
8、函数作用在二维数组上的 运算规则
计算A中每个列向量的元素的和 计算A中每个行向量的元素的和
A中每个列向量的累加和,维数与A相同 A中每个行向量的累加和,维数与A相同
计算A中每个列向量的元素的积 计算A中每个行向量的元素的积
A中每个列向量的累乘积,维数与A相同 A中每个行向量的累乘积,维数与A相同
sort(A)
对A中列向量进行升序排序
由A的各列按自左到右的次序,首尾相接而生成 的“一维长列”数组 引用A中由一维数组s指定的元素。s若是行(或 列),则A(s)就是长度相同的行(或列) 全元素赋值方式。结果:保持A的“行宽、列长” 不变。条件:A、D两个数组的总元素相等,但 “行宽、列长”不一定相同 对A的部分元素重新赋值。结果:保持A的“行 宽、列长”不变。条件:s单下标数组的长度必 须与“一维数组”B的长度相等,但是s、B不一 定同是“行数组”或“列数组”

最新Matlab绘制三维图

最新Matlab绘制三维图

二.三维绘图一.绘制三维曲线的基本函数最基本的三维图形函数为plot3,它将二维绘图函数plot的有关功能扩展到三维空间,可以用来绘制三维曲线。

其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。

当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。

当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数。

例513 绘制空间曲线该曲线对应的参数方程为t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);plot3(x,y,z,'p');title('Line in 3-D Space');text(0,0,0,'origin');xlabel('X');ylabel('Y');zlabel('Z');grid;二.三维曲面1.平面网格坐标矩阵的生成当绘制z=f(x,y)所代表的三维曲面图时,先要在xy平面选定一矩形区域,假定矩形区域为D=[a,b]×[c,d],然后将[a,b]在x方向分成m份,将[c,d]在y方向分成n份,由各划分点做平行轴的直线,把区域D分成m×n个小矩形。

生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函数绘图。

产生平面区域内的网格坐标矩阵有两种方法:利用矩阵运算生成。

x=a:dx:b;y=(c:dy:d)’;X=ones(size(y))*x;Y=y*ones(size(x));经过上述语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素个数,矩阵Y的每一列都是向量y,列数等于向量x的元素个数。

利用meshgrid函数生成;x=a:dx:b;y=c:dy:d;[X,Y]=meshgrid(x,y);语句执行后,所得到的网格坐标矩阵和上法,相同,当x=y时,可以写成meshgrid(x)2.绘制三维曲面的函数Matlab提供了mesh函数和surf函数来绘制三维曲面图。

MATLAB三维图形绘制

MATLAB三维图形绘制

说明:当只有参数z时,以z矩阵的行下标作为x坐标轴,把z
的列下标当作y坐标轴;x、y分别为x、y坐标轴的自变量;
当有x、y、z参数时,c是指定各点的用色矩阵,当c省略时
默认用色矩阵是z的数据。如果x、y、z、c四个参数都有,
则应该都是维数相同的矩阵。
.
3
3. 三维曲面图
语法:
surf (z)
%画三维曲面图
3.7000 8.1000 0.6000
1.5000 7.7000 -4.5000]
>>bar(x,y)
%画条形图
>>bar3(x,y) %画三维条形图
图4.23 (a) 条形. 图
(b) 三维条形图
14
二、直方图
语法:
分段的个数, 默认为10
hist(y,m) %统计每段的元素个数并画出直方图
hist(y,x) % x是向量,用于指定所分每个数据段
【例】使用几种绘制离散数据的命令来显示 ye2xsin(x) 的离散数据。
五、等高线图
语法:
contour3(Z,n)
%绘制Z矩阵的三维等高线
contour(x,y,z,n)
%绘制以x和y指定x、y坐标的二维等高线
说明:n为等高线的条数,省略时为自动条数。
.
17
x=0:0.1:2*pi; y=sin(x).*exp(-2*x); subplot(3,1,1) stem(x,y,'filled') subplot(3,1,2) stairs(x,y) subplot(3,1,3) scatter(x,y)
.
24
【上例续】使用消息框显示当阻尼系数大于1时的警告信 息,如图所示。

最全的MATLAB绘图命令

最全的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可视化(二)绘三维图【目录】一、三维图形绘制步骤 (1)二、三维绘图基本操作 (2)1、三维线图 (2)2、三维网线图 (3)3、三维曲面图 (4)三、透视、镂空和裁切 (5)1、图形的透视 (5)2、图形的镂空 (6)3、图形的裁切 (7)四、三维图形的精细控制 (8)1、视点与旋动 (8)2、色彩控制 (9)3、浓淡处理 (11)五、照明和材质处理 (12)六、简洁绘图指令 (13)【正文】一、三维图形绘制步骤步骤典型指令1三维曲线数据:先取一个参变量采样向量然后计算各坐标数据向量t=pi*(0:100)/100;x=f1(t);y=f2(t);z=f3(t);三维曲面数据:产生自变量采样向量;由自变量向量产生格点矩阵;计算格点矩阵相对应的函数值矩阵x=x1:dx:x2;y=y1:dy:y2;[X,Y]=meshgrid(x,y);Z=f(x,y);2 选定图形窗及子窗位置:同二维3调用三维曲线绘图指令:线型、色彩、数据点形plot3(x,y,z,'b-') 调用三维曲面绘图指令Mesh(X,Y,Z);4 设置轴的范围与刻度、坐标分隔线同二维5 图形注释:图名、坐标名、图例、文字同二维6 着色、明暗、灯光、材质处理colormap,shading,light,material7 视点、三度(横、纵、高)比view,aspect二、三维绘图基本操作1、三维线图用来画三维曲线,三维曲线与一组(x,y,z)坐标相对应的点连接而成。

绘图格式为:plot3(X,Y,Z,'s')plot3(X1,Y1,Z1,'s1',X2,Y2,Z2,'s2',...)(1) X、Y、Z是同维向量时,则绘制以X、Y、Z元素为x、y、z 坐标的三维曲线;(2) X、Y、Z是同维矩阵时,则以X、Y、Z对应列元素为x、y、z坐标绘制多条曲线,曲线条数等于矩阵的列数;(3) (X1,Y1,Z1,'s1')与(X2,Y2,Z2,'s2')的结构与作用和(X,Y, Z,'s')相同,表示同一指令绘两组以上曲线;(4) s、s1、s2的意义与二维相同。

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还有其他各种二维绘图函数,以适合不同的应用,详见下表。

MATLAB入门教程(2) 二维绘图

MATLAB入门教程(2)  二维绘图

MATLAB 的二维绘图基础了解了MATLAB 的矩阵和向量概念与输入方法之后,MATLAB 的二维绘图再简单也不过了。

假设有两个同长度的向量 x 和y, 则用plot(x,y) 就可以自动绘制画出二维图来。

如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图。

〖例〗正弦曲线绘制:>> t=0:.1:2*pi;%生成横坐标向量,使其为0,0.1,0.2,...,6.2y=sin(t); % 计算正弦向量plot(t,y) %绘制图形这样立即可以得出如图所示的二维图[4.1(a)]plot() 函数还可以同时绘制出多条曲线,其调用格式和前面不完全一致,但也好理解。

>> y1=cos(t); plot(t,y,t,y1); %或plot(t,[y; y1]), 即输出为两个行向量组成的矩阵。

图形见 4.1(b)。

plot() 函数最完整的调用格式为:>> plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...)其中所有的选项如表 4.1 所示。

一些选项可以连用,如'-r' 表示红色实线。

由MATLAB 绘制的二维图形可以由下面的一些命令简单地修饰。

如>> xlabel('字符串') % 给横坐标轴加说明>> ylabel('字符串') % 给纵坐标轴加说明,%并自动旋转90度>> title('字符串') % 给整个图形加图题得出的图形如右图所示。

axis() 函数可以手动地设置x,y 坐标轴范围还可以使用plotyy() 函数绘制具有两个纵坐标刻度的图形。

坐标系的分割在MATLAB 图形绘制中是很有特色的,比较规则的分割方式是用subplot() 函数定义的,其标准调用格式为subplot(n,m,k)其中,n 和m 为将图形窗口分成的行数和列数,而k 为相对的编号。

matlab各种三维绘图及实例

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。

MATLAB实验二:二维图形与三维图形的绘制

MATLAB实验二:二维图形与三维图形的绘制

.实验报告(201 /201 学年第学期)课程名称实验名称二维图形与三维图形的绘制实验时间年月日实验室指导教师学生姓名学号班级专业实验报告三、实验内容及原理(包括硬件原理图、算法、逻辑框图,关键代码等,可续页)(一)二维图形的绘制1、绘制二维曲线的基本函数:○1plot函数plot函数的基本调用格式为:plot(x,y);其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例,绘制参数方程曲线。

程序如下:含多个输入参数的plot函数调用格式为:p lot(x1,y1,x2,y2,…,xn,yn);含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n);例,用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5x sin(2πx)及其包络线。

程序如下:○2双纵坐标函数plotyyplotyy函数是MATLAB 5.X新增的函数。

它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。

调用格式为:plotyy(x1,y1,x2,y2);其中x1-y1对应一条直线,x2-y2对应另一条曲线。

横坐标的标度相同,纵坐标有两个,左纵坐标用于x1-y1数据对,右纵坐标用于x2-y2数据对。

2、绘制二维图形的其他函数在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项);stairs(x,y,选项);stem(x,y,选项);fill(x1,y1,选项1,x2,y2,选项2,…);例,分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。

程序如下:(二)三维图形的绘制1、绘制三维曲线的基本函数plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n); 例,绘制空间曲线。

程序如下:2、绘制三维曲面的函数surf函数和mesh函数的调用格式为:surf(x,y,z,e);mesh(x,y,z,e);例,绘制两个直径相等的圆管的相交图形。

matlab画一维图

matlab画一维图

MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。

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

小整理:MATLAB基本绘图函数pMATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

小整理:其他各种二维绘图函数bar 长条图errorbar 图形加上误差范围fplot 较精确的函数图形polar 极座标图hist 累计图rose 极座标累计图stairs 阶梯图stem 针状图fill 实心图feather 羽毛图compass 罗盘图quiver 向量场图以下我们针对每个函数举例。

当资料点数量不多时,长条图是很适合的表示方式:close all; % 关闭所有的图形视窗x=1:10;y=rand(size(x));bar(x,y);如果已知资料的误差量,就可用errorbar来表示。

下例以单位标准差来做资的误差量:x = linspace(0,2*pi,30);y = sin(x);e = std(y)*ones(size(x));errorbar(x,y,e)若要产生极座标图形,可用polar:theta=linspace(0, 2*pi);r=cos(4*theta);polar(theta, r);对於大量的资料,我们可用hist来显示资料的分情况和统计特性。

下面几个命令可用来验证randn产生的高斯乱数分:x=randn(5000, 1); % 产生5000个 m=0,s=1 的高斯乱数hist(x,20); % 20代表长条的个数rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,并用极座标绘制表示:x=randn(1000, 1);rose(x);stairs可画出阶梯图:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);<![endif]> stems可产生针状图,常被用来绘制数位讯号:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stem(x,y);stairs将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,'b'); % 'b'为蓝色feather将每一个资料点视复数,并以箭号画出:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);feather(z);compass和feather很接近,只是每个箭号的起点都在圆点:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);compass(z);<![endif]>。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 二维作图
数学实验
基本形式(续)
plot(y): 绘制向量 y 中元素的线性图 以下标为横坐标,元素值为纵坐标,等价于:
x=[1:length(y)];plot(x,y);
例:>> y=[0,0.48,0.84,1,0.91,6.14];
>> plot(y); >> figure(2); plot([1:length(y)], y)
数学实验
图形的其他属性
标题 title(’text’)
例:
数学实验
可以指定文本的属性 title('text', 'Property1', value1, ' Property2', value2, ...)
Property: linewidth, markersize, fontsize, fontweight, fontname, …
Matlab 二维作图
数学实验
基本形式
plot(x,y)
✓ x, y 都是向量,则以 x 中元素为横坐标, y 中元素为 纵坐标作平面曲线。此时 x, y 必须具有相同长度。 ✓ x, y 都是矩阵,则将 x 的列和 y 中相应的列相组合, 绘制多条平面曲线。此时 x, y 必须具有相同的大小。 ✓ x 是向量, y 是矩阵,若 x 的长度与 y 的行数相等, 则将 x 与 y 中的各列相对应,绘制多条平面曲线;否 则,若 x 的长度与 y 的列数相等,则将 x 与 y 中的各 行相对应,绘制多条平面曲线。此时 x 的长度必须等 于 y 的行数或列数。
数学实验
空间曲面作图举例
例:绘制边界面屏蔽 meshz
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> meshz(X,Y,Z)
数学实验
空间三维作图
数学实验
空间曲面其它作图函数
surf(X,Y,Z) 绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh mesh 绘制网格图,surf 绘制着色的三维表面图
数学实验
二维作图举例
加密:取更多的点 >> x=[0:0.1:2*pi]; >> y=sin(x); >> plot(x,y,'.')
>> x=[0:0.1:2*pi]; >> y=sin(x); >> plot(x,y,)'.-')
数学实验
Matlab 空间曲线绘图举例 数学实验
例:三维螺线 x=t, y=sin(t), z=cos(t), 0 < t < 20
plot3的用法与 plot 类似
空间三维作图
空间曲面
数学实验
空间三维作图
数学实验
空间曲面 mesh, meshc, meshz
mesh(X,Y,Z,C) 绘制由矩阵 X,Y,Z 所确定的曲面网格图, 矩阵 C 用于确定网格颜色,省略时 C=Z。
mesh(Z) 绘出矩阵 Z 的三维消隐图。 mesh(x,y,Z) x, y 是向量时,length(x)=n,length(y)=m,[m,n]=size(Z)
meshc 调用方式与 mesh 相同,在 mesh 基础上增加等高线
meshz 调用方式与 mesh 相同,在 mesh 基础上屏蔽边界面
空间三维作图
数学实验
绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一个网格 矩阵,然后计算函数在各网格点上的值。
网格生成函数:meshgrid
zm2 K
x1n
x2n

M
xmn

z1n
z2n

M
zmn

y11
Y


y21
M

ym1
y12 K y22 K MO ym2 K
y1n y2n 来自Mymn
线: 分别沿 x 方向和 y 方向
连接这些点即可得到
数学实验
空间曲面作图举例
数学实验
例:“墨西哥帽子”
二维作图机制
点线
先画点,后连线
例:y = sin(x), 0 < x < 2
一、画点 >> x=[0:0.5:2*pi]; >> y=sin(x); >> plot(x,y,'.')
数学实验
二维作图举例
点 线 先画点,后连线
例:y = sin(x), 0 < x < 2 二、连线 >> x=[0:0.5:2*pi]; >> y=sin(x); >> plot(x,y,‘r.-')
+eps?
1) x 与 y 可以取不同的步长 2) 注意这里采用的数组运算
最后一个命令能否改为 mesh(Z)?
空间曲面作图举例
例:绘制等高线 meshc
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> meshc(X,Y,Z)
图形的其他属性
数学实验
坐标轴标注 xlabel(’text’) 或 ylabel(’text’)
例:
图形的其他属性
数学实验
添加图例 legend(string1,string2, ...) >> legend('cos(x)');
在指定地方添加文本
text(x,y,string1,string2, ...) >> text(pi/2,cos(pi/2),'\leftarrowy=cos(x)');
先画点,后连线
1) 给出空间离散点的坐标 (x,y,z) 2) 将这些点按顺序连接即可
空间曲线作图举例
>> t=[0:0.5:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z,’.’)
t=[0:0.1:20]; x=t; y=sin(t); z=cos(t); plot3(x,y,z,'r.-')
Matlab 绘图
数学实验
如何画出 y=sin(x) 在 [0, 2*pi] 上的图像?
Matlab 绘图
数学实验
手工作图
找点: x=0, pi/3, pi/2, 2*pi/3, pi, … 计算函数值:
y=sin(0), sin(pi/3), sin(pi/2), … 描点:在坐标系中画出这些离散点 用直线或曲线连接这些点,得到函数的大致图形
xlable, ylabel, text 命令也可以指定文本的属性
其他相关命令
显示网格 grid on 或 grid off
保持当前窗口的图像 hold on 或 hold off
新建绘图窗口 figure(n)
数学实验
其他相关命令
数学实验
划分绘图区域
subplot(m,n,p)
plot 举例
数学实验
例:y=cos(x) 在 [0, 4*pi] 上的图像
>> x=[0:0.1:4*pi]; >> y=cos(x); >> plot(x,y);
自己动手
指出以下各个绘图命令的输出图形分别是什么,并上机验证
>> t=[0 1]; x=[1 2]; y=[x;3 4]; z=[y;5 6]; >> plot(t,x); >> plot(t,y); >> plot(t,y'); >> plot(t,z); >> plot(t,z');
[X,Y]= meshgrid(x,y)
x, y 为给定的向量,X, Y 是网格划分后得到的网格矩阵
若 x = y, 则可简写为 [X,Y]= meshgrid(x)
例: >> x=[-8:0.5:8]; y=[-8:0.5:8];
>> [X,Y]=meshgrid(x,y); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> mesh(X,Y,Z)
由函数 z sin(r) / r, 其中r x2 y2 确定的曲面
( –a < x < a, -a < y <a )
空间曲面作图举例
数学实验
a=8 时的曲面图形 [X,Y]=meshgrid([-8:0.5:8]);
>> x=[-8:0.5:8]; >> y=[-8:0.5:8]; >> [X,Y]=meshgrid(x,y); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> mesh(X,Y,Z)
>> x=[0:0.2:2*pi];
红色、虚线、 离散点用加号
>> plot(x,cos(x));
>> plot(x,cos(x),’r+:’); 属性可以全部指定,也
>> plot(x,cos(x),’bd-.’); 可以只指定其中某几个 >> plot(x,cos(x),’k*-’); 排列顺序任意
相关文档
最新文档