MATLAB绘图Word格式文档下载.docx
- 文档编号:22460547
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:28
- 大小:122.22KB
MATLAB绘图Word格式文档下载.docx
《MATLAB绘图Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MATLAB绘图Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
)=pi/2:
2*pi+pi/2;
y(1,:
)=sin(x(1,:
));
y(2,:
)=0.6*sin(x(2,:
y(3,:
)=0.3*sin(x(3,:
x=x'
;
y=y'
figure
在这个例子中,x------3x101,y------3x101,所以第一个plot按列画出101条曲线,每条3个点;
而x'
------101x3,y'
------101x3,所以第二个plot按列画出3条曲线,每条101个点.
(3)plot(x,y,‘linespecifiers’)
Plot等画图命令(所有的高级画图函数,除了ezplot等以外)可以添加参数’linespecifiers’来确定以下属性:
Linestyle线条的类型.
Color线条的颜色
Markersymbol数据点的形状
LineStyleSpecifiers
Specifier
LineStyle
-
实线
--
虚线
:
点线
.-
点划线
MarkerSpecifiers
Markersymbol
+
加号
o
圆圈
*
星号
.
点
x
乘号
'
square'
ors
正方块
diamond'
ord
菱形
^
上三角
v
下三角
>
右三角
<
左三角
pentagram'
orp
五角星
hexagram'
orh
六角星
Color
Specifie
r
红色
g
绿色
b
蓝色
c
蓝绿色
m
品红色
y
黄色
k
黑色
w
白色
注:
1)这些选项可以连在一起用,如:
-.g'
表示绘制绿色的点划线,'
g+s'
表示用绿色的'
+'
号绘制曲线,数据点用方块标记。
2)表示属性的符号必须放在同一对单引号中,
3)与先后顺序无关;
4)指定的属性中,同一种属性不能有两个以上.
t=0:
0.5:
y1=sin(t);
plot(t,y1,'
s-r'
)
(4).plot(…,‘PropertyName'
’PropertyValue,...)
设置包括线的宽度(LineWidth)、标记点的边缘颜色(MarkerEdgeColor)、填充颜色(MarkerFaceColor)、标记点的大小(MarkerSize)等其它绘图属性.
pi/20:
pi;
y=sin(4*t).*sin(t)/2;
plot(t,y,'
-bs'
'
LineWidth'
2,...
'
MarkerEdgeColor'
k'
...
MarkerFaceColor'
y'
MarkerSize'
10)
以上画图命令设置线的宽度为2,设置标记点边缘颜色为黑色,设置标记点填充颜色为黄色,设置标记点的尺寸为10
(5).plot(x1,y1,选项1,x2,y2,选项2,……)
多条曲线画在同一个坐标轴下。
y2=cos(t);
y3=sin(t).*cos(t);
-r'
t,y2,'
:
g'
t,y3,'
*b'
2.ezplot,其基本使用格式如下:
(1)ezplot(‘fun’,[a,b])
表示在a<
x<
b范围内绘制fun(x)表示的函数的图形,如不指定[a,b],则默认为-2π<
2π.
fun可以是编写的函数式M文件的函数名(也为文件名),也可以是描述一元函数的字符串。
ezplot('
exp(x)*cos(x)’)%字符串表示的函数
在[-1,2]上画
的图形
编写函数式文件myfun.m
functiony=myfun(x)
y=exp(0.5*x)+sin(3*x^2);
然后调用ezplot画图
ezplot(’myfun’,[-1,2])
(2)ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])
表示在区间xmin<
xmax和ymin<
y<
ymax绘制隐函数f(x,y)=0的函数图,如不指定[xmin,xmax,ymin,ymax],则默认画图区域为:
-2π<
2π,-2π<
使用ezplot画由二元方程x^2-y^4=0所确定的隐函数的图像
x^2-y^4'
)
在传递给ezplot的表达式中,其中涉及到的数组或矩阵的乘除法以及指数运算可以不必顾及维数,系统自动转换。
例如,字符x^2在被ezplot使用时,自动处理为x.^2
例在[-2,0.5],[0,2]上画隐函数
的图
ezplot('
exp(x)+sin(x.*y)'
[-2,0.5,0,2])
字符串中的.*可以改为*,ezplot自动转成.*
(3)ezplot(‘x(t)’,’y(t)’,[tmin,tmax])
表示在区间tmin<
t<
tmax绘制参数方程x=x(t),y=y(t)的函数图.
在[0,2*pi]上画
,
星形图
ezplot(‘cos(t).^3’,’sin(t).^3’,[0,2*pi])
3.fplot
功能:
在指定的范围limits内画出一元函数y=f(x)的图形。
其中向量x的分量分布在指定的范围内,y是与x同型的向量,对应的分量有函数关系:
y(i)=f(x(i))。
若对应于一个x的值,y返回多个值,则y是一个矩阵,其中每列对应一个f(x)。
例如,f(x)返回向量[f1(x),f2(x),f3(x)],输入参量x=[x1;
x2;
x3],则函数f(x)返回矩阵
f1(x1)f2(x1)f3(x1)
f1(x2)f2(x2)f3(x2)
f1(x3)f2(x3)f3(x3)
fplot采用自适应步长控制来画出函数fun的示意图,在函数的变化激烈的区间,采用小的步长,否则采用大的步长。
总之,使计算量与时间最小,图形尽可能精确。
基本使用格式:
(1).fplot('
fun'
limits)
在指定的范围limits内画出函数名为fun的一元函数图形。
其中limits是一个指定x-轴范围的向量[xminxmax]或者是x轴和y轴的范围的向量[xminxmaxyminymax]。
注意:
函数fun必须是一个函数式m-文件的函数名或者是一个包含变量x,且能用函数eval计算的字符串。
例如:
’sin(x)*exp(2*x)’,’[sin(x),cos(x)]’。
在区间[-2,2]上画正弦函数的图像
fplot(‘tan(x)’,[-22])%使用字符串描述所要画的函数
创建一个函数式文件,myfun.m
functionY=myfun(x)
Y(:
1)=200*sin(x)./x;
%Y的第一列是200sin(x)/x
2)=x.^2;
%Y的第二列是x^2
然后调用fplot
fplot(‘myfun’,[-2020])
在区域[-
]x[-
]内,画函数tanh(x),sin(x),cos(x)的图形。
fplot('
[tanh(x),sin(x),cos(x)]'
2*pi*[-11-11])
(2).fplot('
limits,LineSpec)
功能:
用指定的线型LineSpec画出函数fun,LineSpec的使用方法同plot.
(3).fplot('
limits,tol)
画出函数fun,相对误差值为tol,相对误差的缺省值为2e-3,即百分之0.2的相对误差。
(4).fplot('
limits,tol,LineSpec)
用指定的相对误差值tol和指定的线型LineSpec画出函数fun的图形。
(5).fplot('
limits,n)
当n>
=1(默认值为1),则至少画出n+1个点(即至少把范围limits分成n个小区间),最大步长不超过(xmax-xmin)/n。
(6).fplot(‘fun’,lims,…)
允许可选参数tol,n和LineSpec以组合方式输入,顺序可以任意。
fplot('
sin(x)'
[0,2],100,2e-4,'
r'
)与
[0,2],2e-4,'
,100)
有完全相同的效果
(7).[X,Y]=fplot('
limits,…)
返回横坐标与纵坐标的值给变量X和Y,此时fplot不画出图形。
若想画出,可用命令plot(X,Y)。
(8).fplot('
limits,tol,n,LineSpec,P1,P2,…)
允许用户直接给函数fun输入参数P1,P2等,其中函数fun的定义形式为:
y=fun(x,P1,P2,…)
若想用缺省的tol,n或LineSpec值,只需将空矩阵[]传递给函数即可。
例如:
在区间[-2,2]上画函数f(x)=a*x^3+b*x^2+c*x
其中a=2,b=3,c=1
functiony=myfun(x,a,b,c)
y=a*x^3+b*x^2+c*x;
end
编写脚本式M文件(主程序)
a=2;
b=3;
c=1;
fplot(‘mufun’,[-2,2],[],[],’r’,a,b,c)
4.对数坐标图
在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog函数可以实现双对数坐标转换,用semilogx和semilogy函数可以实现单轴对数坐标转换(具体用法查看帮助文件)
loglog()表示x、y坐标都是对数坐标系
semilogx()表示x坐标轴是对数坐标系
semilogy(…)表示y坐标轴是对数坐标系
x=0:
.1:
10;
semilogy(x,10.^x)%所画曲线已将实际纵坐标做了对数变换
x=logspace(-1,2);
%
loglog(x,exp(x),’-s’)
5.具有两个纵坐标标度的图形
在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。
基本调用格式为:
plotyy(x1,y1,x2,y2)
其中x1,y1对应一条曲线,x2,y2对应另一条曲线。
横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。
用不同标度在同一坐标内绘制曲线y1=0.2e-0.5*x*cos(4πx)和y2=2e-0.5xcos(πx)。
程序如下:
x=0:
0.01:
20;
y1=200*exp(-0.05*x).*sin(x);
y2=0.8*exp(-0.5*x).*sin(10*x);
plotyy(x,y1,x,y2);
6.创建二维多边形:
fill
用颜色填充二维多边形。
t=(1/16:
1/8:
1)'
*2*pi;
x=sin(t);
y=cos(t);
fill(x,y,'
x=exp(t).*sin(t);
y=t.*cos(t);
7.极坐标图形
用polar函数可以画出极坐标图形,该函数有两种表达形式:
polar(theta,rho):
创建一个幅角theta相对于半径rho的极坐标图.
polar(theta,rho,LineSpec):
LineSpec为绘出的图形指定线型、颜色和标识.
0.01*pi:
4*pi;
y=sin(x/2)+x;
polar(x,y,'
k-'
8二维特殊函数图
下列函数可以绘制其它的二维特殊函数图形:
area填充绘图;
bar条形图;
barh水平条形图;
comet彗星图;
ezpolar简单绘制极坐标图;
feather矢量图;
hist直方图;
pie饼状图;
rose极坐标系下的柱状图等等,以上各函数均有不同的调用方法,详细内容同学们可以通过MATLAB在线帮助获得。
小整理:
其他各种二维绘图函数
bar
长条图
errorbar
图形加上误差范围
fplot
较精确的函数图形
polar
极座标图
hist
累计图
rose
极座标累计图
stairs
阶梯图
stem
针状图
fill
实心图
feather
羽毛图
compass
罗盘图
quiver
向量场图
2.2三维曲线绘图
基本命令:
plot3
使用方法:
plot3函数与plot函数用法十分相似,其基本调用格式为:
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同,可以指定所画曲线的线型和颜色等;
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。
当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
例在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t),z=t.
10*pi;
plot3(sin(t),cos(t),t,’k’,‘linewidth‘,5)
pi/100:
20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z);
x=[00000];
y=[00110];
z=[01100];
plot3(x,y,z)
2.3三维曲面绘图
命令1meshgrid
生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y,或者是三元函数u=f(x,y,z)中立方体定义域中的数据点矩阵X,Y和Z。
将由向量x,y(可以是不同方向的)指定的区域[min(x),max(x),min(y),max(y)]用直线x=x(i),y=y(j)(i=1,2,…,length(x),j=1,2,…,length(y))进行划分。
这样,得到了length(x)*length(y)个点所构成的点阵。
这些点的横坐标用矩阵X表示,X的每个行向量与向量x相同;
这些点的纵坐标用矩阵Y表示,Y的每个列向量与向量y相同。
用法a:
[X,Y]=meshgrid(x,y)
b:
[X,Y]=meshgrid(x)
c:
[X,Y,Z]=meshgrid(x,y,z)
说明:
对于形式a,输入向量x为x-y平面上矩形定义域的矩形分割线在x轴的值,向量y为x-y平面上矩形定义域的矩形分割线在y轴的值。
输出向量X为x-y平面上矩形定义域的矩形分割点的横坐标值矩阵,输出向量Y为x-y平面上矩形定义域的矩形分割点的纵坐标值矩阵。
对于形式b,等价于形式a:
[X,Y]=meshgrid(x)=meshgrid(x,x)。
对于形式c,输入向量x为立方体定义域的立方体分割平面在x轴上的值,输入向量y为立方体定义域的立方体分割平面在y轴上的值,输入向量z为立方体定义域的立方体分割平面在z轴上的值。
输出向量X为立方体定义域中分割点的x轴坐标值,Y为立方体定义域中分割点的y轴坐标值,Z为立方体定义域中分割点的z轴坐标值。
考察以下语句的作用
x=2:
4;
%在X轴上取了横坐标为2,3,4的三个点
y=6:
9;
%在Y轴上取了纵坐标为6,7,8,9的四个点。
[X,Y]=meshgrid(x,y);
Meshgird利用数组X和Y,生成XOY平面上的一个矩形网格点阵,该点阵
行数为length(y),列数为length(x)列。
X为该点阵的点的横坐标所
构成的矩阵,Y为该点阵的点的纵坐标所构成的矩阵。
X和Y的维数均
length(y)*length(x).
运行结果如下:
X=234
234
Y=666
777
888
999
命令2mesh
基本格式:
mesh(X,Y,Z),mesh(Z),meshc(…),meshz(…)
画出由X,YZ确定的三维网格图
1.若X与Y均为向量,length(X)=n,length(Y)=m,而[m,n]=size(Z),空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,分别地,X对应于z的列,Y对应于z的行。
2.若X与Y均为矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点。
3.mesh(Z):
由[n,m]=size(Z)得,X=1:
n与Y=1:
m,其中z为定义在矩形划分区域上的网格点阵上的单值函数。
4.meshc(…):
画出等高线的三维网格图.
5.meshz(…):
画出带有底座的三维网格图.
x=-3:
0.125:
3;
y=-3:
3
[X,Y]=meshgrid(x,y);
Z=peaks(X,Y);
%得到山峰函数的函数值矩阵Z,peaks
%称为山峰数函数,是matlab函数库的二元函数
mesh(X,Y,Z);
%山峰曲面图
或者meshc(X,Y,Z);
%带有等高线的山峰函数曲面
或者meshz(X,Y,Z);
%带有底座的山峰函数曲面
绘出带有等高线的马鞍面
解:
从命令窗口输入如下命令
x=-8:
8;
y=-8:
Z=X.^2/4^2-Y.^2/5^2;
Meshc(X,Y,Z)
命令2surf
surf(X,Y,Z),surf(Z),surfc(…),surfz(…)
surf同mesh命令的用法和格式相同,不同之处在于所得图形是一个彩色曲面而非彩色网格,其中色彩的添加由高度矩阵Z(函数值矩阵)确定,颜色与高度是对应的
使用surf绘出马鞍面
surf(X,Y,Z)
命令3contour
曲面的等高线图
格式一:
contour(x,y,z,n)
说明:
(x,y)是平面xoy平面上矩形网格点阵的坐标矩阵,z为相应点的高度值矩阵(函数值矩阵),等高曲线是一个平面曲线,n为等高线条数。
[X,Y]=meshgrid(-2:
.2:
2,-2:
3);
Z=X.*exp(-X.^2-Y.^2);
contour(X,Y,Z,4)
格式二:
contour(x,y,z,h)
h为一向量,向量的长度即为所画等高线的条数,向量每个元素的值为每条等高线的高度值。
注意,高度值必须在曲面的高度范围以内。
[X,Y]=meshgrid(-2:
contour(X,Y,Z,[0.1,0.3])%两条等高线,高度值分别为0.1,0.3
clabel(C,h)
在从命令contour生成的二维等高线结构C的位置上添加标签h。
例[X,Y]=meshgrid(-2:
[c,h]=contour(X,Y,Z,[0.1,0.3]);
clabel(c,h)
命令4..contour3
绘制三维曲面等高线。
格式:
contour3(x,y,z,n)
(x,y)是平面xoy平面上矩形网格点阵的坐标矩阵,z为相应点的高度值矩阵(函数值矩阵),该函数绘制n条等高线的三维图,用法与从头人contour相同
[c,h]=Contour3(X,Y,Z,4)
Clabel(c,h)
命令4cylinder
功能:
生成圆柱图形。
该命令生成一单位圆柱体的x,y,z轴的坐标值。
用户可以用命令surf或命令mesh画出圆柱形对象,或者用没有输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 绘图