MATLAB二维平面绘图

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

-6
-4
-2
0
2
4
6
8
10
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
提示


一般情况下,MATLAB 将矩阵视为列向量的集 合 对只能处理向量的函数(Ex : max、min、 mean)

给定一个矩阵,函数会对矩阵的列向量一一进行 处理或运算
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
图轴控制范例-1 (II)
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
2
4
6
8
10
12

inf指令:

以数据点(上例: x 轴的数据点)的最小和最大值取代之
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
图轴控制范例-2 (I)

范例3-10:plotxy10.m
% 起始与结束元素为 0 及 4,0.1 为间隔步长
x = 0:0.1:4*pi; y = sin(x); plot(x, y); axis([-inf, inf, 0, 1]);
% 画出正弦波 y 轴介于 0 和 1 的部份
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-6 (I)

z 是一个复数向量或矩阵



plot(z) 将 z 的实部(即 real(z))和虚部(即 imag(z))当成 x 坐标和 y 坐标来作图, 其效果等于 plot(real(z), imag(z)) 范例3-6:plotxy06.m
x = randn(30);
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-8 (II)
1 1
0
0.5
Y1的刻度
-1 0 1 2 3 4 5 6 7 0
Y2的刻度

y1 的刻度是在左手边 y2 的刻度是在右手边 两边的刻度不同
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训

指定图轴上的网格线点(Ticks)

范例3-11:plotxy11.m
x = 0:0.1:4*pi; plot(x, sin(x)+sin(3*x)) set(gca, ‘ytick’, [-1 -0.3 0.1 1]); grid on % 在 y 轴加上网格线点 % 加上网格线
MATLAB 程序设计入门篇:二维平面绘图
x = linspace(0, 2*pi,100); % 在 0 到 2 间,等分取 100 个点
y = sin(x);
plot(x, y);
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-1
1 0.8 0.6 0.4


0.2 0 -0.2 -0.4 -0.6 -0.8 -1

范例3-5:plotxy05.m
% 求矩阵 x 的转置矩阵 x'
% 取用矩阵 y 的每一行向量,与对应矩阵 x % 的每一个行向量作图
x = peaks;
y = x';
plot(x, y);
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-5 (II)
10 8 6 4 2 0 -2 -4 -6 -8 -8
-4
-2
0
2
4
6

x 是一个 30×30 的随机数矩阵 z 则是 x 的特征值(Eigenvalue) z 是复数向量,且每一个复数都和其共轭复数同时出现,因此 画出的图是上下对称
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
基本二维绘图指令
指令 说明
Plot
loglog semilogx semilogy plotyy
NCU MCM 暑期培训
图形控制范例-1 (I)

用黑色点线画出正弦波 每一数据点画上一个小菱形 范例3-9:plotxy09.m
% x 向量的起始与结束元素为 0 及 4 , % 0.5为各元素相差值 % 其中「k」代表黑色,「:」代表点 % 线,而「diamond 」则指定菱形为曲 % 线的线标
m
r w
紫黑色(Magenta)
红色(Red) 白色
(1,0,1)
(1,0,0) (1,1,1)
y
黄色(Yellow)
(1,1,0)
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
plot 指令的曲线格式
plot 指令的曲线格式字符串 曲线格式
-: -.
实线(预设值)
虚线 点线 点虚线

使用语法:
axis([xmin, xmax, ymin, ymax])

xmin , xmax:指定 x 轴的最小和最大值 ymin , ymax:指定 y 轴的最小和最大值
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
图轴控制范例-1 (I)

画出正弦波在 y 轴介于 0 和 1 的部份
% 产生一个 49×49 的矩阵 % 对矩阵 y 的每一个行向量作图
y = peaks; plot(y);
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-4 (II)
10 8 6 4 2 0 -2 -4 -6 -8

peaks 指令产生一 个49×49的矩阵, 代表二维函数的值
z = eig(x); plot(z, 'o') grid on % 画出网格线
% 产生 30×30 的随机数(正态分布)矩阵
% 计算 x 的特征值
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-6 (II)
5 4 3 2 1 0 -1 -2 -3 -4 -5 -6
3-2 图形的控制

plot 指令,可以接受一个控制字符串输入

用以控制曲线的颜色、格式及线标 使用语法
plot(x, y,‘CLM‘)

C:曲线的颜色(Colors) L:曲线的格式(Line Styles) M:曲线所用的线标(Markers)
MATLAB 程序设计入门篇:二维平面绘图


plot(y) 直接画出 49 条直线 类似于从侧面观看 peaks 函数
0
5
10
15
20
25
30
35
40
45
50
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-5 (I)

x 和 y 都是矩阵 plot(x, y) 会取用 y 的每一个列向量和对 应的 x 列向量作图
CUMCM 暑期培训
MATLAB 程序设计入门篇 二维平面绘图
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
3-1 基本的绘图指令

Plot : 最基本的绘图指令 对 x 坐标及相对应的 y 坐标进行作图

范例3-1:plotxy01.m
% 计算 x 的正弦函数值
% 进行二维平面描点作图
0
1
2
3
4
5
6
7来自百度文库
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-3 (I)

若要以不同的线标(Marker)来作图

范例3-3:plotxy03.m
% 在 0 到 2 间,等分取 100 个点
x = linspace(0, 2*pi);
plot(x, sin(x), 'o', x, cos(x), 'x', x, sin(x)+cos(x), '*');
NCU MCM 暑期培训
Plot基本绘图-7 (II)
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1 10
10
0
10
1
10
2
X轴为对数刻度
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-8 (I)

plotyy 指令

x = 0:0.5:4*pi; y = sin(x); plot(x, y,‘k:diamond’)
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
图形控制范例-1 (II)
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
2
4
6
8
10
12
14
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-2 (II)
Plot(x,sin(x), x, cos(x), x, sin(x)+cos(x));
1.5 sinx cosx sinx+cosx
1
画出多条曲 线时,会自动 轮换曲线颜色
0.5
0
-0.5
-1
-1.5
NCU MCM 暑期培训
Plot基本绘图-2 (I)

一次画出多条曲线

将 x 及 y 坐标依次送入plot 指令 范例3-2:plotxy02.m
x = linspace(0, 2*pi,100); % 在 0 到 2 间,等分取 100 个点,100为系统的默认值 plot(x, sin(x), x, cos(x), x, sin(x)+cos(x)); % 进行多条曲线描点作图
x 轴和 y 轴均为线性刻度(Linear Scale)
x 轴和 y 轴均为对数刻度(Logarithmic Scale) x 轴为对数刻度,y 轴为线性刻度 x 轴为线性刻度,y 轴为对数刻度 画出两个刻度不同的y轴
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-7 (I)
画出两个刻度不同的 y 轴 范例3-8:plotxy08.m
% 在 0 到 2 间,等分取 100 个点
x = linspace(0, 2*pi); y1 = sin(x); y2 = exp(-x);
plotyy(x, y1, x, y2); % 画出两个刻度不同的 y 轴,分别是 y1, y2
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
plot 指令的曲线颜色
Plot指令的曲线颜色字符 串 b c g k 曲线颜色 蓝色(Blue) 青蓝色(Cyan) 绿色(Green) 黑色(Black) RGB值 (0,0,1) (0,1,1) (0,1,0) (0,0,0)

Semilogx指令

使 x 轴为对数刻度,对正弦函数作图 范例plotxy07.m
% 在 0 到 8 间,等分取 100 个点 % 使 x 轴为对数刻度,并对其正弦函数作图
x = linspace(0, 8*pi); semilogx(x, sin(x));
MATLAB 程序设计入门篇:二维平面绘图
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-3 (II)
1.5 1
0.5
0
-0.5
-1
-1.5
0
1
2
3
4
5
6
7
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
Plot基本绘图-4 (I)

只给定一个矩阵 y


对矩阵 y 的每一个列向量(Column Vector) 作图 范例3-4:plot04.m
plot 指令的曲线线标字符串 曲线符号符号
>
< square diamond pentagram hexagram None
朝右三角形
朝左三角形 方形 菱形 五角星形 六角星形 无符号(预设值)
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
3-3 图轴的控制

plot 指令会根据坐标点自动决定图轴范围 也可以使用 axis 指令指定图轴范围
NCU MCM 暑期培训
图轴控制范例-2 (II)
网使 格用 线者 字点加 和入 文的
1
0.1 -0.3
-1
0
2
4
6
8
10
12
14

grid on:加上网格线 gca: get current axis的简称 传回目前使用中的图轴 gca属Handle Graphics的指令,第七章会有更详细的说明
linspace(0, 2*pi) 产生从 0 到 2 且长度为 100 (预设值)的向量 x y 是对应的 y 坐标 该向量则对其索引值 (Index)作图

只给定一个向量


0 1 2 3 4 5 6 7
plot(y)和plot(1:length(y), y)
会得到相同的结果
MATLAB 程序设计入门篇:二维平面绘图
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
plot 指令的曲线线标 (I)
plot 指令的曲线线标字符串 曲线符号符号
O
+ X * . ^ V
圆形
加号 叉号 星号 点号 朝上三角形 朝下三角形
MATLAB 程序设计入门篇:二维平面绘图
NCU MCM 暑期培训
plot 指令的曲线线标 (II)
相关文档
最新文档