一、实验目的和要求
- 了解Matlab的绘图功能;
- 掌握Matlab绘图命令。
二、实验内容和步骤(写出绘制下列图形所对应的命令)
1.将绘图窗口分成四个部分,分别绘制下列函数的图像:
(1)(2)(3)(4)
程序:
subplot(2,2,1);ezplot('x*sin(x)');title('(1)');
subplot(2,2,2);ezplot('exp(-(1/x))');title('(2)');
subplot(2,2,3);ezplot('12*sin(t)-3*sin(6*t)','12*cos(t)+3*cos(6*t)');title('(3)');
subplot(2,2,4);ezplot('x^2+y^2-1');title('(4)');
运行结果:
2.在同一坐标系下绘制、、
,其中y1的数据点用星号、线型为黑色虚线,y2的数据点用方块、线型为红色实线,y3的数据点用小圆圈、线型为蓝色点线。(要求采用一次绘出和逐次填加两种方式完成绘图)。
程序:
t=linspace(0,2*pi);y1=sin(t);y2=sin(2*t);y3=sin(3*t);
plot(t,y1,'k--*',t,y2,'r-s',t,y3,'b:o');
plot(t,y1,'k--*')
hold on
plot(t,y2,'r-s')
plot(t,y3,'b:o');
运行结果:
3.分别用plot和fplot函数绘制函数y=sin(1/x)的曲线,分析两曲线的差别。
程序:
clear;clc;
x=-2*(pi):0.01:2*pi;
y=sin((1./x));
subplot(1,2,1);plot(x,y);
subplot(1,2,2);fplot(@(x)sin((1./x)),[-2*(pi) 2*pi]);
运行结果:
4.依次运行下列命令,写出命令的功能,掌握特殊函数作图命令。
语句 | 功能 |
clf | 清除当前图像窗口 |
t=0:0.1:4*pi; | t是一个由0开始到4π结束,以步长0.1自增的行向量 |
y=exp(-0.1*t).*sin(t); | 求出各点的函数值,函数 |
figure(1) | 创建新的图形窗口1 |
subplot(2,2,1) | 将当前图形划分为一个2×2网格,并在第一行的第一列创建轴 |
stem(t,y) | 绘制杆图 |
subplot(2,2,2) | 将当前图形划分为一个2×2网格,并在第一行的第二列创建轴 |
stairs(t,y) | 绘制阶梯图 |
subplot(2,2,3) | 将当前图形划分为一个2×2网格,并在第二行的第一列创建轴 |
bar(t,y) | 绘制条形图 |
subplot(2,2,4) | 将当前图形划分为一个2×2网格,并在第二行的第二列创建轴 |
fill([0,t,4*pi],[0,y,0],’r’) | 绘制填充图,按向量元素下标渐增次序依次用直线段连接t、y对应元素定义的数据点,填充色的表示形式是短格式 |
5.绘制三维螺旋线:。要求给相应的坐标轴加标注“x”、“y”、“z”,并给图标加标题“三维螺旋线”。
程序:
ezplot3('2*(cos(t)+t*sin(t))','2*(sin(t)-t*cos(t))','1.5*t',[0,10*pi]);
xlabel('x');ylabel('y');zlabel('z');
title('三维螺旋线');
运行结果:
6.分别用mesh和ezmesh绘制曲面。
程序:
clear;clc;
x=(-1.5)*pi:0.01:1.5*pi;
y=(-1.5)*pi:0.01:1.5*pi;
y=y';
z=sin(sqrt((x.^2+y.^2)))./sqrt(1+x.^2+y.^2);
subplot(1,2,1);
mesh(x,y,z); %x:行向量,y:列向量,z:矩阵;用点运算
subplot(1,2,2);
ezmesh('sin(sqrt((x^2+y^2)))/sqrt(1+x^2+y^2)',[-1.5*pi 1.5*pi],[-1.5*pi 1.5*pi]);
%ezmesh(fun)中的fun为表达式,表达式内不要用点运算
运行结果:
7.已知曲面方程,用建立子窗口的方法在同一图形窗口中绘制出三维线图、网线图、曲面图.
程序:
x=linspace(-1.5*pi,1.5*pi,15);
y=linspace(-2.5*pi,2.5*pi,15);
fxy='sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2)';
[X,Y]=meshgrid(x,y);
Z=sin(sqrt(X.^2+Y.^2))./sqrt(1+X.^2+Y.^2);
subplot(1,3,1);plot3(X,Y,Z); %依据坐标绘制空间曲面的三维线图(plot3)
subplot(1,3,2);ezmesh(fxy); %依据表达式绘制空间曲面的网线图(ezmesh)
subplot(1,3,3);ezsurf(fxy); %依据表达式绘制空间曲面的曲面图(ezsurf)
运行结果:
8.绘制圆柱、圆锥和球面。
程序:
clear;clc;
subplot(1,3,1);cylinder(); %生成一个圆柱
subplot(1,3,2);cylinder([10,0]); %生成一个圆锥
subplot(1,3,3);sphere(); %生成一个球面
运行结果:
9.将peaks函数生成的最高峰削去,并用色图矩阵“cool”修饰。
程序:
clear;clc;
[x,y,z]=peaks(30);
z(z>5)=nan;
colormap(cool);
surf(x,y,z);
运行结果: