实验二MATLAB绘制图形

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
横坐标绘图. 当x为实矩阵时,按列绘制曲线,每列的元素值为纵坐
标,相应元素下标为横坐标. 当x为m×n矩阵时,就有 n条曲线.
例1 x为向量时, plot(x) clear x=[3 5 7 6 12 24 15 33 6 9 7 2]; plot(x)
35
30
25
20
15
10
5
0
0
2
4
6
8
10
12
绘制图形如下:
1050
1
0.8
1040
0.6
0.4
1030
0.2
0
20
10
-0.2
-0.4
10
10
-0.6
-0.8
0
10
-1
10-2
100
102
10-2
100
102
2)极坐标图 polar函数用来绘制极坐标图, 其调用格式: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标半径,选项的内
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
例6 分析下列程序绘制的曲线. x1=linspace(0,2*pi); x2=linspace(0,3*pi); x3=linspace(0,4*pi); 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)
例12 绘制正弦和余弦曲线,并加入网格和标注
t=(0:0.1:10); y1=sin(t);
正弦和余弦曲线 1
0.8 cos(t)
0.6
正弦 余弦
0.4
y2=cos(t);
0.2
正 弦 &余 弦
plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi];
0
-0.2 sin(t)
-0.4
y=[-0.3; 0.7]; s=['sin(t)';'cos(t)']; text(x, y, s);
-0.6
-0.8
-1
0
2
4
6
8
10
%指定位置加标注
时间
title('正弦和余弦曲线');
%标题
legend('正弦','余弦') %添加图例注解
xlabel('时间')
%x坐标名
ylabel('正弦&余弦')
fplot函数调用格式: fplot(fname,lims,tol,选项) 其中fname为函数名,以字符串形式出现,lims为x,y 的取值范围,tol为相对允许误差,其系统默认值为 2e-3. 选项定义与plot函数相同.
例8 用fplot函数绘制f(x)=cos(tan(πx))的曲线.
程序如下:
polar(theta,rho(i,:)) 180
pause
end
210
240
90 2 60
1.5
1
0.5
30 0
330
300 270
3)设定轴的范围axis([xmin xmax ymin ymax])
4)文字标示
text(x, y, s); %指定位置加标注
gtext(‘字符串’) %利用鼠标在图形的某一位置标示 t字itl符e(串‘字.符串’) %在所画图形的最上端显示说明该 图 形标题的字符串. xlabel(‘字符串’),ylabel(‘字符串’) %设置x,y坐 轴 的名称.
%y坐标名
grid on
%添加网格
axis square
%将图形设置为正方形
6、采用hold函数对图形进行比较显示
clear
1.5
t=0:pi/10:2*pi;
1
y1=sin(t); 0.5
y2=cos(t);
0
y3= sin(t)-cos(t);
-0.5
-1
plot(t,y1);
-1.5
0
1
2
3
0.5
0
-6
-4
-2
0
2
4
6
2、多条曲线绘图格式
plot(x1, y1, x2, y2,…):.在同一坐标系中绘制多个图形,以x1,x2…元素为横 坐标值,
对应的y1,y2…元素为纵坐标绘图。
注; x=linspace(0,7) %在0到7之间等分取100个分点
例5 程序如下: clear %可不写 x=linspace(0,7); y1=sin(2*x); y2=sin(x.^2); y3=(sin(x)).^2; plot(x,y1,x,y2,x,y3)
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))
容与plot函数相似
例10 绘制r=sin(t)cos(t)的极坐标图,并标记数据点.
程序如下:
t=0:pi/50:2*pi;
r=sin(t).*cos(t);
polar(t,r,'-*');
120 150
90 0.5 60
0.4
0.3 30
0.2
0.1
180
0
210
330
240
300
270
例11 画出一花瓣状图形
(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);
plot(x,y)
5
4.5
4
3.5
3
2.5
2
1.5
1
例9 在对数坐标系中绘图.
clear
x=logspace(-1,2); %在10^(-1)到10^2之间产生50个对数等分 的行向量
subplot(1,2,1);
loglog(x,10*exp(x),'-p')
grid on
%在所画出的图形坐标中加入栅格
subplot(1,2,2);
semilogx(x,cos(10.^x))
3
2.5
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10
12
14
3、 函数plot(x,y,’s’) plot(x,y,’s’) ---开关格式,开关量字符串s设定曲线颜色、
线型及标示符号,由一对单引号括起来. plot(x1,y1,’s1’,x2,y2,’s2’,…)
图形颜色、标记和线形参数表
每行n个,共m行,区号按行优先编号,且选定第p个 区为当前活动区. 在每一个绘图区允许以不同的坐 标系单独绘制图形.
采用图形窗口分割方法进行比较显示
clear t=0:pi/10:2*pi; y1=sin(t);y2=cos(t);y3=cos(t+pi/2);y4=cos(t+pi); subplot(2,2,1); plot(t,y1); %将图形窗口分割成两行两列,y1为第1行第1列 subplot(2,2,2); plot(t,y2); %将图形窗口分割成两行两列,y2为第1行第2列 subplot(2,2,3); plot(t,y3); %将图形窗口分割成两行两列,y3为第2行第1列 subplot(2,2,4); plot(t,y4); %将图形窗口分割成两行两列,y4为第2行第2列
fplot('cos(tan(pi*x))',[ 0,1],1e-4)
1 0.8 0.6 0.4 0.2
0 -0.2 -0.4 -0.6 -0.8
-1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
3、图形窗口的分割
subplot函数调用格式: subplot(m,n,p) 该函数将当前图形窗口分成m×n个绘图区,即
菱形 五角星 六角星
例7
>> x=linspace(0,7); >> y1=sin(2*x); >> y2=sin(x.^2); >> y3=(sin(x)).^2;
%曲线1:红色实线,+号显示数据点 %曲线2:黑色点线,*号显示数据点 %曲线3:蓝色虚线,上三角形显示数据点
>> plot(x, y1, 'r+-', x, y2, 'k*:', x, y3, 'b--^')
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
2、对函数自适应采样的绘图函数
fplot指令 用来自动画一个已定义的函数分布图,而无须 产生绘图所要的一组数据做为变量.采用自适应 步长控制来画出函数的示意图,在函数变化激 烈的区间,采用小的步长,否则采用大的步长. 总之,使计算量与时间最小,图形尽可能精确.
theta = (-pi:0.01:pi);
rho(1,:) = 2*sin(5*theta).^2;
rho(2,:) = cos(10*theta).^3;
rho(3,:) = sin(theta).^2;
rho(4,:) = 5*cos(3.5*theta).^3;
120
for i = 1:4
% 极坐标图形输出函数 150
axis square %将图形设置为正方形
5)legend(‘字符串1’,‘字符串2’,…,‘字符串n’) 在屏幕上开启一个小视窗,然后依据绘图命令 的先后次序,用对应的字符串区分图形上的线.
6)surf(x,y.z.c)绘制表面图和亮度
5、 图形修饰与控制
title —— 给图形加标题 xlable —— 给x轴加标注 ylable —— 给y轴加标注 text —— 在图形指定的任意位置加标注 gtext —— 利用鼠标将标注加到图形任意位置 grid on —— 打开坐标网格线 grid off——关闭坐标网格线 legend —— 添加图例 axis —— 控制坐标轴刻度
实验二 MATLAB绘制图形
(一) 实验类型:验证性 (二) 实验类别:基础实验 (三) 实验学时数:2学时
.
实验内容
一、二维图形 二、三维图形
一、二维图形 1、 基本二维绘图命令
(1) plot函数
plot(x):缺省自变量的绘图格式,x可为向量或矩阵. 当x为向量时,以x元素值为纵坐标,以相应元素下标为
clear t=0:pi/50:10*pi; plot3(t,sin(t),cos(t),'r:')
grid on %添加网格
1
0.5
0
-0.5
-1 1
0.5
0 -0.5
-1 0
40 30 20 10
三维网格图
mesh函数为数据点绘制网格线: mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标 位置 mesh(x, y, z) —— x, y, z分别为三维空间的坐标位置
绘制图形如下
1
1
0.5
0.5
0
0
-0.5
-0.5
-1
-1
0
2
4
6
8
0
2
4
6
8
1
1
0.5
0.5
0
0
-0.5
-0.5
-1
-1
0
2
4
6
8
0
2
4
6
8
4、特殊的二维函数命令
其它坐标系下的二维数据曲线图 1)对数坐标
绘制对数和半对数坐标曲线的函数, 其调用格式为: semilogx(x1,y1,选项1,x2,y2,选项2,…) semilogy(x1,y1,选项1,x2,y2,选项2,…) loglog(x1,y1,选项1,x2,y2,选项2,…)
例2 x,y是同维向量时, plot(x,y)
clear x=(0:pi/10:2*pi); y=sin(x); plot(x,y)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
例3 在0≤x≤2区间内,绘制曲线
y=2e-0.5xcos(4πx).
x=(0:pi/100:2*pi);
4
5
6
7
hold on;
%后续图形叠加显示
plot(t,y2);
hold on;
plot(t,y3);
二、三维图形
1、 基本的三维绘图命令
三维曲线图
plot3函数可以绘制三维曲线:
plot3(x1, y1, z1, 's1', x2, y2, z2, 's2'…)
例13 函数plot3绘制的三维曲线图
色彩字符 所定颜 线型字 线型格式 标记符号 数据点形式 标记符 数据点形式



y

-
实线(默认
.


<
左三角形
m

:
点线
o

s
方形
c

Βιβλιοθήκη Baidu
-.
点划线
x
叉号
d
菱形
r

--
虚线
+
加号
h
六角星
g
绿
*
星号
p
五角星
b

v
下三角形
w

^
上三角形
k

>
右三角形
数据点形式
square
方形
diamond pentagram hexagram
相关文档
最新文档