MatlabplotWord格式.docx
《MatlabplotWord格式.docx》由会员分享,可在线阅读,更多相关《MatlabplotWord格式.docx(19页珍藏版)》请在冰豆网上搜索。
figure;
%开新画图窗口
x10=linspace(0,2*pi,10);
%在0到2π间,等分取10个点
y10=sin(x10);
plot(x10,y10);
x100=linspace(0,2*pi,100);
%在0到2π间,等分取100个点
y1000=sin(x10);
plot(x100,y100);
plot(x,sin(x),x,cos(x))%进行多条曲线作图,输入依序为各曲线的x,
%y值
提示:
figure%开另一窗口绘图
5.2快速方程式画图(fplot,ezplot)
5.2.1fplot:
单纯画方程式图形,图形上之(x,y)坐标值会自动取,但必须输入x坐标的范围,其指令如下:
fplot(‘函式’,[xmin,xmax,ymin,ymax])%绘出函式图形,x轴的范围取xmin到%xmax,y轴的范围取ymin到ymax
绘出
图形
fplot('
x-cos(x^3)-sin(2*x^2)'
[-3,3])%绘出
5.2.2ezplot:
类似fplot,可以绘出y=f(x)显函数,也可绘出f(x,y)=0隐函数以及参数式。
指令如下:
ezplot(‘函式’)
ezplot(‘函式’,[xmin,xmax,ymin,ymax])%绘出函式图形,x轴的范围取xmin
%到xmax
ezplot(‘x参数式’,’y参数式’,[tmin,tmax])%绘出参数式图形,t范围取tmin
%到tmax
利用ezplot绘出f(x)=x2
ezplot('
x^2'
)
在’’内不需要写成先前x.^2元素对元素的形式,方程式直接像打计算器操作一样。
例2:
利用ezplot绘出f(x,y)=x2-y=0
x^2-y'
[-66-28])%绘出
,若不设x或y范围,则为预%设的
例3:
利用ezplot绘出参数式
,
,t取0~
范围的图形。
cos(2*t)'
'
sin(6*t)'
[0,pi])%绘
------------------------------------------------------------------------------------------------------------------
随堂考:
Q1.绘出f(x)=
,x范围为-10~10,并且标明x坐标、y坐标、网格。
Q2.绘出
,x范围为-10~10,并且标明x坐标、y坐标、
网格。
5.3绘图控制指令
基本二维绘图指令
指令
说明
plot
X轴和Y轴均为线性刻度
semilogx
X轴为对数刻度,Y轴为线性刻度
semilogy
X轴为线性刻度,Y轴为对数刻度
绘
,其中数据点在1~10之间,y坐标为对数刻度。
x=linspace(1,10);
y=exp(x);
semilogy(x,y);
%使y轴为对数刻度,并作图,y值为
Q1.绘出y=cos(x),利用linspace做出数据点x在-6~6,共50点。
Q2.承Q1.同上做法一起绘出y=cos(x)与y=e-x在同画图区。
5.4图形控制:
plot指令除了接受x及y坐标外,还可接受一个字符串输入,用以控制曲线的颜色、格式及线标,其使用语法如下:
plot(x,y,'
CLM'
其中C代表曲线的颜色(Colors),L代表曲线的格式(LineStyles),
M代表曲线所用的线标(Markers)。
’颜格标’
solidline
dashline
dotline
dash-dotline
绘y=sin(x),其中资料点x在0~4π间,间格为0.5,并且取线为黑色虚线,数据点用x标明。
x=0:
0.5:
4*pi;
%x向量的起始与结束元素为0及4π,0.5
%为各元素相差值
y=sin(x);
plot(x,y,'
k:
x'
)%其中「k」代表黑色,「:
」代表点线,而
%「x」则指定菱形为曲线的线标
5.5建立子图形(subplot):
若要在同一个窗口画出多个子图形即用subplot(m,n,a)和plot,表示将窗口划分为mxn个区域,plot(x,y)即画所给图形在第a个区域。
一窗口多张图,利用subplot依序绘出
。
四个函式。
0.1:
subplot(2,2,1);
plot(x,sin(x));
%一个窗口分割成4个图形,此为左上角图形
subplot(2,2,2);
plot(x,sin(2*x));
%此为右上角图形
subplot(2,2,3);
plot(x,sin(4*x));
%为左下角图形
subplot(2,2,4);
plot(x,sin(8*x));
%此为右下角图形
subplot(2,2,2)
subplot(2,2,1)
subplot(2,2,3)
subplot(2,2,4)
Q1.利用subplot依序绘出y=sin(x),y=cos(x),y=sin(x)-cos(x),y=cos(x)-sin(x),其中所有图的x点坐标皆为-3π~3π(间格为0.1)。
5.6加入说明文字,网格
利用subplot只要一画图区域,并在此画图区绘上两函式,分别
,并写上x轴、y轴,并在图上方标示’两个Function’。
subplot(1,1,1);
2*pi;
y1=sin(x);
y2=exp(-x);
plot(x,y1,'
--*'
x,y2,'
:
o'
);
xlabel('
radian'
%写出x坐标标示
ylabel('
sinevalue'
%写出y坐标标示
title('
y=sinxandy=e^{-x}'
%写出此图形代表标题
legend('
sin(x)'
e^{-x}'
gridon%绘上网格
若要标示上标,要用{}框起,例ex‘e{-x}’
5.7极坐标与三度空间画图:
polar(theta,r)%输入theta、r值,绘出极坐标
plot3(x,y,z)%输入x,y,z数据,绘出3D曲线图
surf(x,y,z)%输入x,y,z数据,绘出3D曲面图
极坐标图
theta=linspace(0,2*pi);
r=cos(4*theta);
polar(theta,r);
%极坐标绘图
,x,y范围在-2~2之间,试用plot3与surf比较两者差异。
meshgrid(x,y)%做出x,y坐标所交集的网格点坐标
[x,y]=meshgrid(-2:
2);
z=y.*exp(-x.^2-y.^2);
plot3(x,y,z);
figure
surf(x,y,z);
3D曲线图
这边教的是如何绘制空间中曲线。
ezplot3(x,y,z)%绘x=x(t),y=y(t),andz=z(t)0<
t<
2*pi
ezplot3(x,y,z,[tmin,tmax])
plot3(x,y,z)%输入x,y,z数据,绘出3D曲线图
t=0:
pi/50:
10*pi;
plot3(sin(t),cos(t),t)
ezplot3('
cos(2*pi*t)'
'
sin(2*pi*t)'
t'
[0,6])
3D网格图和曲面图
mesh(x,y,z)%x:
函数图形上x坐标y:
函数图形上y坐标z:
函数图形上z坐标
surf(x,y,z)%x:
函数图形上x坐标y:
函数图形上y坐标z:
函数图形上z坐标
设
绘此图
[xxyy]=meshgrid(-2:
0.25:
2,-3:
3);
%meshgrid(x坐标点,y坐标点)做网格语法
%xx:
x坐标yy:
y坐标
plot(xx,yy,'
b.'
%显示网格点之分布
z=((36-9*xx.^2-4*yy.^2).^0.5)/3;
%计算每个网格点之Z值,切记要加.为矩
%阵计算
mesh(xx,yy,z)
surf(xx,yy,z)%另一3D画图
[xxyy]=meshgrid(-4:
4,-4:
4);
z=yy.^2-xx.^2;
surf(xx,yy,z)
绘此f(x,y)以及计算图形体积(体积下一章说明)。
[xxyy]=meshgrid(0:
4,0:
8);
z=(64-8*xx+yy.^2)/16;
(可在窗口调整)
5.8其它表示三维之图形展现
ezsurf(‘方程式’)%快速绘出
之图形
ezsurfc(‘方程式’,n)%快速绘出
之图形,并含等值线
%n:
表示所取之网格数(
contour(X,Y,Z)%必须先有网格点之X,Y,Z坐标,才能绘等值线
图形利用ezsurf,并用ezsurfc与contour绘出等值线。
ezsurf('
x*exp(-x^2-y^2)'
ezsurfc('
50)
[xxyy]=meshgrid(-3:
3,-3:
z=xx.*exp(-x.^2-y.^2);
contour(xx,yy,z)%轮廓图
--------------------------------------------------------------------------------------------------------------
Q1.绘出
,x与y坐标之间格都取0.2。
(利用surf)
Q2.绘出