3函数绘图dWord文档下载推荐.docx
- 文档编号:21526477
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:26
- 大小:275.87KB
3函数绘图dWord文档下载推荐.docx
《3函数绘图dWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《3函数绘图dWord文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
m或m´
n矩阵时,plot(x,y)将在同一图中绘的m条不同颜色的连线。
例4:
x是向量,y是矩阵的绘图。
matlab命令:
x=-2*pi:
y=[sin(x);
cos(x)];
plot(x,y),gridon,gtext('
sin(x)'
)↙
图3.4例4的绘图结果
若x与y都是m´
n矩阵,plot(x,y)将在同一图中绘的n条不同颜色的连线。
其绘图规则为:
以矩阵x的第i列分量作为横坐标,矩阵的第i列分量作为纵坐标,绘的第i条连线。
●plot(x1,y1,x2,y2,x3,y3…)
在同一图形窗口画出多条曲线。
例5:
在同一图形窗口画出三个函数y=cos2x,y=x2,y=x的图形,自变量范围为:
-2£
2。
Matlab命令:
x=-2:
2;
plot(x,cos(2*x),x,x.^2,x,x)↙
legend('
cos(2x)'
'
x^2'
x'
图3.5例5的绘图结果
3.1.2基本绘图控制参数
●图形窗口figure
figure是所有Matlab的图形输出的专用窗口。
当Matlab没有打开图形窗口时,如果执行了一条绘图指令,该指令将自动创建一个图形窗口。
而figure命令可自己创建窗口,使用方法如下:
figure↙;
figure(n)↙;
打开第n个图形窗口
●清除图形窗口clf
●控制分隔线grid
grid在gridon与gridoff之间进行切换
gridon在图中使用分隔线
gridoff在图中消隐分隔线
●图形的重叠绘制hold
hold在holdon与holdoff之间进行切换
holdon保留当前图形和它的轴,使此后图形叠放在当前图形上
holdoff 返回Matlab的缺省状态。
此后图形指令运作将抹掉当前窗中的旧图形,然后画上新图形。
●取点指令ginput
该命令是plot命令的逆命令,它的作用是在二维图形中记录下鼠标所选点的坐标值。
使用格式为:
ginput可以无限制的选点,当选择完毕时,按Enter键结束命令
ginput(n)必须选择n个点才可以结束命令
●图形放大指令zoom
zoom在holdon与holdoff之间进行切换
zoomon 使系统处于可放大状态
zoomoff 使系统回到非放大状态,但前面放大的结果不会改变
zoomout 使系统回到非放大状态,并将图形恢复原状
zoomxon 对x轴有放大作用
zoomyon对y轴有放大作用
例6:
利用hold指令在同一坐标系中画出如下两条参数曲线,参数曲线方程为
x1=cost,y1=sint;
x2=sint,y2=sin2t;
t满足0£
t£
2p
解:
Matlab命令:
plot(cos(t),sin(t))↙
holdon,plot(sin(t),sin(2*t),'
r.'
)↙
图3.6两条参数曲线
3.1.3线型、定点标记、颜色
二维绘图指令还提供一组控制曲线线型、标记类型、颜色的开关。
该开关总跟在一元或二元对的后面,具体如下:
plot(x,’String’)
plot(x,y,’String’)
plot(x1,y1,’String1’,x2,y2,’String2’,…)
其中,string是字符串,该字符串由表3.1,3.2,3.3中的字符组成。
表3.1颜色控制字符表
色彩字符
色彩
RGB值
y/yellow
黄色
110
m/magenta
洋红
101
c/cyan
青色
011
r/red
红色
100
g/green
绿色
010
b/blue
蓝色
001
w/white
白色
111
k/black
黑色
000
表3.2线型控制字符表
绘图字符
数据点
.
黑点
d
钻石形
o
小圆圈
^
三角形(向上)
x
差号
<
三角形(向左)
+
十字标号
>
三角形(向右)
*
星号
p
五角星
s
小方块
h
六角星
表3.3数据点控制字符表
线 型 符 号
线 型
-
实线
:
点线
-.
点划线
--
虚线
3.1.4图形的标注
Matlab可以在画出的图形上加各种标注及文字说明,以丰富图形的表现力。
但请注意,用于标记文字的单引号应该是英文而不是中文的单引号。
加注的内容可以是中文也可以是英文。
●图名标注title
title(‘String’)在图形的顶端加注文字作为图名
title(‘String’,’Property’,…) 定义图名所用字体、大小、标注角度
●坐标轴标注xlabel,ylabel在当前图形的x轴旁边加入文字内容
xlabel(‘String’)
xlabel(‘String’,’Property’,…)定义轴名所用字体、大小、标注角度
ylabel(‘String’)在当前图形的y轴旁边加入文字内容
ylabel(‘String’,’Property’,…) 定义轴名所用字体、大小、标注角度
zlabel(‘String’)在当前图形的z轴旁边加入文字内容
zlabel(‘String’,’Property’,…) 定义轴名所用字体、大小、标注角度
●图形标注
Matlab还提供对所绘图形的文字标注功能:
指令text,在图形中指定的点上加注文字;
gtext指令,先利用鼠标定位,再在此位置加注文字,该指令不支持三维图形。
text(x,y,’String’)适用于二维图形,在点(x,y)上加注文字String
text(x,y,z,’String’)适用于三维图形,在点(x,y,z)上加注文字String
gtext(‘String’)在鼠标指定位置上标注
说明:
使用gtext指令后,会在当前图形上出现一个十字叉,等待用户选定位置进行标注。
移动鼠标到所需位置按下鼠标左键,Matlab就在选定位置标上文字。
●图例标注legend
当在一幅图中出现多种曲线时,结合在绘制时的不同线性与颜色等特点,用户可以用legend命令进行说明。
其使用格式为:
legend(‘String1’,’String2’,’String3’,…)
例7:
在同一坐标系中画出两个函数y=cos2x,y=x的图形,自变量范围为:
2,函数y=cos2x为红色实线,函数y=x为洋红色虚线。
并加注标题,坐标轴。
(1)建立命令文件exam7.m
clf;
y1=cos(2*x);
y2=x;
plot(x,y1,'
r-'
x,y2,'
m-.'
),gridon
title('
曲线y=cos(2x)与y=x及点图'
)
xlabel('
x轴'
),ylabel('
y轴'
x00=-2:
y00=[1.5,1,0,0.56,-1.5];
holdon,plot(x00,y00,'
bp'
y=cos(2x)'
y=x'
5点图'
(2)执行命令文件exam7.m
图3.7例7的结果
例8:
已知科学家在某海域观察到海平面的年平均高度表如下,由表的数据绘制出二位数据点图,并画出其折线图。
年份12345678910111213
海拔5.011.016.023.036.058.029.020.010.08.03.00.00.0
年份141516171819202122232425
海拔2.011.027.047.063.060.039.028.026.022.011.021.0
x=1:
25;
y=[5,11,16,23,36,58,29,20,10,8,3,0,0,2,11,27,47,63,...↙
60,39,28,26,22,11,21];
plot(x,y,'
h'
x,y,'
点图'
折线图'
ylabel('
海拔'
年份'
图3.8例8的结果
3.1.5一个图形窗口多个子图的绘制
subplot指令它不仅适用于二维图形而且也适用于三维图形。
其本质是将窗口分为几个区域,再在每个小曲域中画图形。
subplot(m,n,i)把图形窗口分为m´
n个子图,并在第i个子图中画图。
subplot(‘position’,[leftbottemwidthheight])在普通坐标系中创建新的坐标系。
并且各个参数在0到1之间取值。
例9:
演示subplot指令对图形窗的分割(图3.9)。
(1)建立命令文件exam37.m
%演示subplot指令对图形窗的分割
clf;
.2:
y1=x+sin(x);
y2=sin(x)./x;
y3=(1+x).^(1./x);
subplot(2,2,1),plot(x,y1,'
m.'
),gridon,title('
y=x+sinx'
subplot(2,2,2),plot(x,y2,'
rp'
y=sinx/x'
subplot('
position'
[0.2,0.05,0.6,0.45]),
plot(x,y3),gridon,text(0,exp
(1),'
**'
(2)执行命令文件exam37.m
图3.9subplot指令对图形窗的分割
3.1.6绘制数值函数二维曲线的指令fplot
plot(x,y)绘图指令在绘图时,必须先定义自变量的一组取值点,再求出这组数据点对应的函数值,然后根据这组数据点绘制出所需的曲线。
而指令fplot的特点是:
它的绘图数据点是自适应产生的。
在函数平坦处,它所取数据点比较稀疏;
在函数变化剧烈处,它将自动取较密的数据点。
因而对于导数变化比较大的函数,用fplot指令比用plot指令要更真实。
fplot的格式是:
fplot(fun,[xmin,xmax],tol,n,’linespec’…)
fun是函数名,可以时Matlab已有的函数,也可以是自定义的M函数;
[xmin,xmax]定义x的取值区间;
tol是相对误差,默认值为2e-3;
n+1是绘图的最少点数;
’linespec’是线型设置。
例10:
分别利用指令plot与fplot绘制曲线y=sin(1/x)在区间[-1,1]的图像,并作比较。
(1)plot指令画图(图3.8)
x=-1:
1;
y=sin(1./x);
plot(x,y)↙
图3.10横坐标等分取点绘图
(2)fplot指令画图(图3.9)
fplot('
sin(1./x)'
[-1,1])↙
图3.11横坐标自适应取点绘图
3.1.7绘制符号函数二维曲线的指令ezplot
ezplot(F,[xmin,xmax]),其中F是符号函数,只含有一个变量。
例11:
绘制
在
间的图形(图3.10)
Matlab命令:
symst ↙
ezplot('
2/3*exp(-t/2)*cos(3/2*t)'
[0,4*pi]) ↙
图3.12符号函数的图形
3.2Matlab二维特殊图形
除了plot指令外,Matlab还提供了许多其它的二维绘图指令,这些指令大大扩充了Matlab的曲线作图指令,可以满足用户的不同需要。
表3.4绘制二维图形的指令
函数名称
功能
bar
直方图
loglog
双对数曲线
barh
垂直的直方图
semilogx
x轴对数坐标曲线
bar3
三维直方图
semilogy
y轴对数坐标曲线
bar3h
垂直的三维直方图
polar
极坐标曲线
hist
统计直方图
stairs
阶梯图
pie
饼图
stem
火柴棍图
pie3
三维饼图
pcolor
伪彩图
fplot
数值函数二维曲线
area
面积图
ezplot
符号函数二维曲线
errorbar
误差棒棒图
gplot
绘拓扑图
quiver
矢量场图
fill
平面多边形填色
ribbon
代状图
例12:
练习指令bar,stairs,pie,pie3,stem,area.
x=1:
subplot(2,3,1),bar(x),title('
直方图'
subplot(2,3,2),stairs(x),title('
阶梯图'
subplot(2,3,3),stem(x,'
),title('
火柴棍图'
subplot(2,3,4),pie(x),title('
饼图'
subplot(2,3,5),pie3(x),title('
三维饼图'
subplot(2,3,6),area(x),title('
面积图'
图3.13二维特殊图形
3.3Matlab空间曲线绘图
空间参数曲线的方程为x=x(t),y=y(t),z=z(t),参数t连接了变量x,y,z的函数关系。
Matlab提供了空间参数曲线绘图功能。
其绘图指令是plot3.
3.3.1三维空间曲线命令plot3
指令plot3与指令plot相同,都是Matlab内部函数。
其使用格式是:
plot3(x,y,z)
plot3(x,y,z,’String’)
plot3(x1,y1,z1,’String1’,x2,y2,z2,’String2’,…)
当x,y,z为长度相同的向量时,plot3命令将绘得一条分别以向量x,y,z为x,y,z轴坐标值的空间曲线。
String用来控制曲线的颜色、线型和数据点。
例13:
画出螺旋线
与空间曲线
解
(1)建立命令文件exam41.m
%螺旋线
t1=0:
pi/25:
10*pi;
x1=sin(t1);
y1=cos(t1);
z1=t1;
subplot(1,2,1),plot3(x1,y1,z1,’r’)
title(‘螺旋线’),xlabel(‘x轴’),ylabel(‘y轴’),zlabel(‘z轴’)
%空间曲线
t2=0.1:
.01:
1.5;
x2=cos(t2);
y2=sin(t2);
z2=1./t2;
subplot(1,2,2),plot3(x2,y2,z2,’g.’),gridon
(3)执行命令文件exam41.m
图3.14两条空间曲线
3.3.2坐标轴的控制
在Matlab中可以利用指令axis来完成坐标轴的控制。
axis([xminxmaxyminymax])设定二维图形坐标轴的范围
axis([xminxmaxyminymaxzminzmax])设定三维图形坐标轴的范围
axisauto将坐标轴的取值范围设为默认值
axisij坐标原点设置在图形窗口的左上角,坐标轴i垂直向下,j水平向右
axisxy设定为笛卡尔坐标系
axisequal使坐标轴在三个方向上刻度增量相同
axissquare使坐标轴在三个方向上长度相同
axis在axison与axisoff之间进行切换
axison恢复消隐的坐标轴
axisoff使坐标轴消隐
3.4Matlab空间曲面绘图
二元函数z=f(x,y)的图形是三维空间曲面,空间曲面图形在了解二元函数特性上帮助更大。
画空间曲面图形比画平面曲线图形难,如果使用其他计算机语言编程来画出空间曲面图形要有较高编程能力,一般人员做不到。
Matlab给我们提供了非常方便的绘制空间曲面图形的命令。
3.4.1meshgrid命令
二元函数z=f(x,y)的图形是三维空间曲面,在Matlab中总是假设函数z=f(x,y)是定义在矩形区域D=[x0,xm]×
[y0,yn]上的。
为了绘制三维曲面,Matlab把[x0,xm]分成m份,把[y0,yn]分成n份,这时区域D就被分成m×
n个小矩形块。
每个小矩形块有4个顶点(顶点也叫格点)(xi,yi,f(xi,yi)).连接4个顶点得到一个空间中的四边形片。
所有这些四边形片就构成函数的空间网格曲面。
而函数meshgrid就用来生成x-y平面上的小矩形顶点坐标值的矩阵,也称为格点矩阵。
函数meshgrid也适用于三元函数u=f(x,y,z)。
meshgrid的调用形式是:
[X,Y]=meshgrid(x,y)绘制二维图形时生成小矩形的格点
[X,Y]=meshgrid(x)等价于[X,Y]=meshgrid(x,x)
[X,Y,Z]=meshgrid(x,y,z)绘制三维图形时生成空间曲面的格点
[X,Y,Z]=meshgrid(x)等价于[X,Y,Z]=meshgrid(x,x,x)
x是区间[x0,xm]上分划点组成的向量,而y是区间[y0,yn]上分划点组成的向量。
输出变量X与Y都是m×
n矩阵,而矩阵X的行向量都是向量x,矩阵Y的列向量都是向量y。
例14:
已知向量x=[123],y=[4,7,9,0],生成它们对应的格点矩阵。
解:
x=[123];
y=[4790];
[X,Y]=meshgrid(x,y)↙
输出结果为:
X=
123
Y=
444
777
999
000
利用函数meshgrid生成格点矩阵后,然后求出各格点对应的函数值,就可以利用三维网格命令mesh与三维表面命令surf画出空间曲面。
函数mesh用来生成函数的网格曲面,即各网格线段组成的曲面。
而函数surf用来生成函数的表面曲面,即网格曲面的网格块(四边形片)区域进行了着色。
3.4.2三维网格命令mesh
●函数mesh的使用格式是:
mesh(X,Y,Z)X,Y,Z是同维数的矩阵
mesh(x,y,Z)x,y是向量,而Z是矩阵。
等价于
mesh(Z)若提供参数x,y,等价于mesh(x,y,Z),否则默认x=1:
n,y=1:
m,其中
例15:
画出函数
在-3£
x,y£
3上的图形,以及函数
在-10£
x,y£
10上的图形
(1)建立命令文件exam42.m
%函数z=sin(x+siny)
t1=-3:
3;
[x1,y1]=meshgrid(t1);
z1=sin(x1+sin(y1));
subplot(1,2,1),mesh(x1,y1,z1),title('
sin(x+siny)'
%马鞍面z=x^2-2y^2
t2=-10:
.3:
10;
[x2,y2]=meshgrid(t2);
z2=x2.^2-2*y2.^2;
subplot(1,2,2),mesh(x2,y2,z2),title('
马鞍面'
(2)执行命令文件exam42.m
图3.15函数z=sin(x+siny)与马鞍面的网格图
●meshc和meshz
meshc与mashz的调用方式与mesh相同。
meshc除了生成网格曲面外,还在x-y平面上生成曲面的等高线图形,而函数meshz的作用除了生成与mesh相同的网格曲面之外,还在曲线下面加上一个长方形的台柱,使图形更加美观。
例16:
分别用指令mesh,meshc,meshz画出函数
在-8£
8上的图形,
(1)建立命令文件exam43.m
%函数z=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)
t=-8:
8;
[x,y]=meshgrid(t);
r=sqrt(x.^2+y.^2)+eps;
z=sin(r)./r;
subplot(1,3,1),meshc(x,y,z)
meshc'
),axis([-88-88-0.50.8])
subplot(1,3,2),meshz(x,y,z)
meshz'
subplot(1,3,3),mesh(x,y,z)
mesh'
(2)执行命令文件exam43.m
图3.16函数
的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 绘图