MATLAB实验三.docx
- 文档编号:11004634
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:22
- 大小:391.90KB
MATLAB实验三.docx
《MATLAB实验三.docx》由会员分享,可在线阅读,更多相关《MATLAB实验三.docx(22页珍藏版)》请在冰豆网上搜索。
MATLAB实验三
MATLAB实验三
实验课程名称:
《数学软件与数学实验》
实验项目名称
实验三:
Matlab的绘图功能
实验成绩
实验者
王宗德
专业班级
数学1504
组别
同组者
实验日期
16年4月
一、预习要求
1.实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的、要求;
2.复习与实验内容有关的理论知识。
二、实验目的
1.了解MATLAB的图形窗口及其基本操作。
2.掌握MATLAB绘制二维平面图形的命令。
3.掌握MATLAB绘制三维立体图形的命令。
4.了解一些常用绘图命令及绘图标注。
三、实验课时:
2课时
四、实验原理
1.二维基本绘图函数plot
调用格式:
plot(x,y,s)
说明:
x,y是向量,表示用于描绘曲线的点的横坐标和纵坐标,s表示用于指定描绘黄线的线形及曲线的颜色。
plot(x1,y1,s,x2,y2,s,…,xn,yn,s)可以在同一个坐标系内画多条曲线。
s可以指定的线型及颜色可以由下表给出。
线型/颜色
标识符
线型/颜色
标识符
线型/颜色
标识符
实线
-
星号
*
六角星
h
点
:
方形
S
蓝色
b
点画线
-.
菱形
d
绿色
g
虚线
--
下三角
v
青色
r
点
.
上三角
^
洋红色
m
圆圈
o
左三角
<
黄色
y
x形状
x
右三角
>
黑色
k
加号
+
五角星
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——红、白、蓝交替色图 6、课堂练习 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; 七、实验报告要求 简述实验目的;写出实验内容中解答各个题目所需要的命令及实验结果;简写实验总结与心得体会。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验