当前位置:文档之家› 实验二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);
plot(x,y)
5
4.5
4
3.5
3
2.5
2
1.5
1
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
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分别为三维空间的坐标位置
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)
例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)
每行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个绘图区,即
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坐 轴 的名称.
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绘制的三维曲线图
绘制图形如下:
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)
容与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 画出一花瓣状图形
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 —— 控制坐标轴刻度
fplot函数调用格式: fplot(fname,lims,tol,选项) 其中fname为函数名,以字符串形式出现,lims为x,y 的取值范围,tol为相对允许误差,其系统默认值为 2e-3. 选项定义与plot函数相同.
例8 用fplot函数绘制f(x)=cos(tan(πx))的曲线.
程序如下:
-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
相关主题