MATLAB实验三.docx
《MATLAB实验三.docx》由会员分享,可在线阅读,更多相关《MATLAB实验三.docx(22页珍藏版)》请在冰豆网上搜索。
MATLAB实验三
MATLAB实验三
实验课程名称:
《数学软件与数学实验》
实验项目名称
实验三:
Matlab的绘图功能
实验成绩
实验者
王宗德
专业班级
数学1504
组别
同组者
实验日期
16年4月
一、预习要求
1.实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的、要求;
2.复习与实验内容有关的理论知识。
二、实验目的
1.了解MATLAB的图形窗口及其基本操作。
2.掌握MATLAB绘制二维平面图形的命令。
3.掌握MATLAB绘制三维立体图形的命令。
4.了解一些常用绘图命令及绘图标注。
三、实验课时:
2课时
四、实验原理
加号
+
五角星
p
白色
w
2.符号函数(显函数、隐函数和参数方程)
(1)ezplot
调用格式:
ezplot(‘f(x)’,[a,b])
说明:
表示在a调用格式:
ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])
说明:
表示在区间xmin调用格式:
ezplot(‘x(t)’,‘y(t)’,[tmin,tmax])
说明:
表示在区间tmin(2)fplot
调用格式:
fplot(‘fun’,lims)
说明:
表示绘制字符串fun指定的函数在lims=[xmin,xmax]的图形.
注意:
[1]fun必须是M文件的函数名或是独立变量为x的字符串.
[2]fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。
3.极坐标系下的作图polar
调用格式:
polar(theta,r,s)
说明:
theata,r是向量,表示用于描绘曲线的点的极角和极径,s表示用于指定描绘黄线的线形及曲线的颜色。
4.空间曲线函数plot3
调用格式:
plot3(x,y,z,s)
说明:
x,y,z是向量,表示用于描绘曲线的点的在x上的坐标、y轴上的坐标及z上的坐标,s表示用于指定描绘黄线的线形及曲线的颜色。
plot3(x1,y1,z1,s,x2,y2,z2,s,…,xn,yn,zn,s)可以在同一个坐标系内画多条曲线。
5.空间曲面
(1)空间网线图mesh
调用格式:
mesh(X,Y,Z,C)
说明:
X,Y,Z,C是三个同维矩阵,分别表示网线图上样本点在三条坐标轴上的坐标,以及用以绘图的颜色,当缺省C时,C=Z.
(2)空间曲面图surf
调用格式:
surf(X,Y,Z,C)
说明:
X,Y,Z,C是三个同维矩阵,分别表示网线图上样本点在三条坐标轴上的坐标,以及用以绘图的颜色,当缺省C时,C=Z.
6.图形标注及控制
gridon显示栅格
gridoff取消栅格
xlabel在当前图形的x轴上加文字标注
ylabel在当前图形的y轴上加文字标注
zlabel在当前图形的z轴上加文字标注
holdon保持当前图形,以便继续画图到当前图上
holdoff释放当前图形
axis设置坐标属性
legend标注曲线
subplot设置在同一窗口画多幅图
view设置视角
title设置图形的标题
text在指定位置添加文字
colormap设置当前图形的色图
五、课堂演示
1.画正弦曲线
。
MATLAB代码:
x=0:
pi/100:
2*pi;
y=sin(x);
plot(x,y)
axis([02*pi-11])
其中axis([02*pi-11])的作用是设置x轴坐标范围是从0到
,y轴坐标是从-1到1。
效果图:
2.当k=1,2,3时,在同一幅图用同时画出函数
的图形。
MATLAB代码:
x=0:
pi/100:
2*pi;
y1=sin(x);
y2=sin(2*x);
y3=sin(3*x);
plot(x,y1,x,y2,x,y3)
axis([02*pi-11])
legend('y=sin(x)','y=sin(2x)','y=sin(3x)')
注:
legend的作用是对图中的不同曲线做标注
效果图:
以上画图的效果也可以用holdon实现:
x=0:
pi/100:
2*pi;
y1=sin(x);
y2=sin(2*x);
y3=sin(3*x);
plot(x,y1);
holdon;
plot(x,y2);
plot(x,y3);
holdoff
其中,holdon的作用是:
在保留原图的基础上,再画新图,holdoff的作用刚好相反,在默认的情况下,matlab是处于holdoff的状态。
请注意体会两种作图方式的区别。
3.当k=1,2,3,4时,在同一个图形窗口的不同子图里,画出函数
的图形。
MATLAB代码:
x=0:
pi/100:
2*pi;
%画第一幅子图
y=exp(x).*sin(x);
subplot(2,2,1);
plot(x,y)
title('y=exp(x)*sin(x)')
%画第二幅子图
y=exp(x).*sin(2*x);
subplot(2,2,2);
plot(x,y)
title('y=exp(x)*sin(2x)')
%画第三幅子图
y=exp(x).*sin(3*x);
subplot(2,2,3);
plot(x,y)
title('y=exp(x)*sin(3x)')
%画第四幅子图
y=exp(x).*sin(4*x);
subplot(2,2,4);
plot(x,y)
title('y=exp(x)*sin(4x)')
注:
title的作用是给图形写上标题
效果图:
4.作隐函数
(笛卡尔儿叶形线)的图形
MATLAB代码:
ezplot('x^3+y^3-3*x*y',[-22-22])
axisequal
注:
axisequal的作用是把纵横坐标的刻度比例一致
效果图:
5.在极坐标系下画出心形线
MATLAB代码:
theta=0:
pi/100:
2*pi;
r=2*(1+cos(theta));
polar(theta,r,'r')
注:
参数’r’是表示用红色作图,参数与颜色之间的关系如下表所示:
b蓝色
g绿色
r红色
c青绿色
m洋红色
y黄色
k黑色
效果图:
5.画出空间螺旋线
的图形
MATLAB代码:
t=0:
pi/100:
10*pi;
x=cos(t);
y=sin(t);
z=t;
plot3(x,y,z)
title('x=cos(t),y=sin(t)z=t')
效果图:
6.画曲面
的网线图
MATLAB代码:
x=-pi:
pi/50:
pi;
y=x;
[X,Y]=meshgrid(x,y);
Z=sin(2*(X.^2+Y.^2))./(X.^2+Y.^2+eps);
mesh(X,Y,Z)
注:
(1)meshgrid产生一个以向量x为行、向量y为列的矩阵
(2)分母加上eps是为了保证分母不为0
效果图:
7.画出MATLAB测试函数peaks的图形
MATLAB代码:
[X,Y,Z]=peaks;
surf(X,Y,Z)
shadinginterp
colormap(cool)
注:
shading可使用的参数及含义如下:
faceted网络修饰,这是缺省的方式
flat去掉黑色线条,根据小方格的值确定颜色
interp颜色整体改变,根据小方块四角的值差补过度点的值确定颜色
colormap为色图设定函数,其参数及含义如下:
hsv——饱和值色图
gray——线性灰度色图
hot——暖色色图
cool——冷色色图
bone——兰色调灰色图
copper——铜色色图
pink——粉红色图
prism——光谱色图
jet——饱和值色图II
flag——红、白、蓝交替色图
六、课堂练习
1.在同一坐标系中画出函数
,
的图形,且对于不以同的曲线使用不同的线型;
>>x=0:
pi/100:
2*pi;
y1=sin(2*x+3);
y2=sin(3*x+2);
plot(x,y1,'r-',x,y2,'g+')
legend('y1=sin(2*x+3)','y2=sin(3*x+2)')
>>
2.当k分别取1,2,3,4的时候,在同一个窗口的四个子图中分别画出函数
,
每个子图加上适当的标题;
>>t=0:
pi/100:
2*pi;
%画第一幅子图
y=t.*sin(1*t);
subplot(2,2,1);
plot(t,y)
title('y=t.*sin(1*t)')
%画第二幅子图
y=t.*sin(2*t);
subplot(2,2,2);
plot(t,y)
title('y=t.*sin(2*t)')
%画第三幅子图
y=t.*sin(3*t);
subplot(2,2,3);
plot(t,y)
title('y=t.*sin(3*t)')
%画第四幅子图
y=t.*sin(4*t);
subplot(2,2,4);
plot(t,y)
title('y=t.*sin(4*t)')
>>
3.画出三个两两相切的圆(假设这个三个圆的方程分别是:
,
);
>>ezplot('x^2+y^2=1',[-77-77]);
holdon
ezplot('(x-3)^2+y^2=4',[-77-77]);
holdon
ezplot('x^2+(y-4)^2=9',[-77-77]);
4.在极坐标系下画出三叶形曲线
,并尝试不同的线形和颜色;
theta=0:
pi/100:
2*pi;
>>r=3*sin(3*theta);
>>polar(theta,r,'r')
theta=0:
pi/100:
2*pi;
r=3*sin(3*theta);
polar(theta,r,'g+')
5.画出星形线
的图形;
>>t=0:
pi/100:
10*pi;
x=2*cos(t).^3;
>>y=2*sin(t).^3;
>>plot(x,y)
6.画出双纽线
的图形;
ezplot('(x^2+y^2)^2=3*(x^2-y^2)',[-33-33])
7.画出三维曲线图:
>>t=0:
pi/100:
2*pi;
>>x=t.*cos(t);
>>y=t.*sin(t);
>>z=t;
>>plot3(x,y,z)
8.分别用mesh和surf函数画出马鞍面
9
x=-pi:
pi/50:
pi;
y=x;
[X,Y]=meshgrid(x,y);
z=-X.^2./4+Y.^2./6.*9;
mesh(X,Y,z)
>>x=-pi:
pi/50:
pi;
y=x;
[X,Y]=meshgrid(x,y);
z=-X.^2./4+Y.^2./6.*9;
>>surf(X,Y,z)
9.画出球心在原点的球。
Phi=0:
pi/50:
pi;
Theta=0:
pi/50:
2*pi;
[theta,phi]=meshgrid(Phi,Theta);
x=sin(theta).*sin(phi);
y=sin(theta).*cos(phi);
z=cos(theta);surf(x,y,z);
axisequal;
七、实验报告要求
简述实验目的;写出实验内容中解答各个题目所需要的命令及实验结果;简写实验总结与心得体会。