matlab绘图基础

matlab绘图基础

%曲线图,描点连线:
x=linspace(0,2*pi,30);
y=sin(x);
z=cos(x);
plot(x,y,'r',x,z,'--')

%图形处理
%图形标注:
title('sin(x)和cos(x)的曲线')
xlabel('X轴')
ylabel('y轴')
%text(x,y,字符串)在xy处加注文本
gtext('y1=sin(x)')%使用鼠标指定位置加标注
gtext('y2=cos(x)')
legend('sin(x)','cos(x)')%添加样例标注
grid on %添加网格
hold on %保持当前图形 在其上继续绘图
%定制坐标axis([xmin xmax ymin ymax zmin zmax])
%绘制多个图形figure,在第二个图形之前加个figure(2),第三个图形加figure(3)
%subplot(m,n,p)讲作图区域划分成m*n块,p为在第几块工作
%缩放图形zoom on,zoom off关闭缩放模式
%改变视角view(a,b)

%符号函数(显函数,隐函数,参数方程)ezplot
%ezplot('f(x)',[xmin,xmax])
%ezplot('f(x,y)',[xmin,xmax,ymin,ymax])
%ezplot('x(t)','y(t)',[tmin,tmax])
ezplot('sin(x)',[0,pi])
ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])
ezplot('cos(t)^3','sin(t)^3',[0,2*pi])

%对数坐标图,分别画出y=x^3函数,对数,半对数坐标图
x=[0:1:100]

%函数图
subplot(231)  %subplot(mnp)在一个界面输出两行三列图形,p为第几个图
plot(x,x.^3)
grid on %加上网格线
title 'plot-y=x^3'

%两边取对数
subplot(232)
loglog(x,x.^3)
grid on
title 'loglog-logy=3logx'

%x轴对数转换
subplot(233)
semilogx(x,x.^3)
grid on %添加网格
title 'semilogx-y=3logx'

%y轴对数转换
subplot(234)
semilogy(x,x.^3)
grid on
title 'semilogy-logy=x^3'

%双坐标输出
subplot(235)
plotyy(x,x.^3,x,x)
grid on
title 'plotyy-y=x^3,y=x'

%一条曲线plot(x,y,z,s)xyz为n维向量,s为指定颜色
t=0:pi/50:10*pi
plot3(sin(t),cos(t),t)
rotate3d%旋%多条曲线,,,略

%空间曲面
%(1)surf(x,y,z)xyz横坐标纵坐标函数值
x=-3:0.1:3;
y=1:0.1:5;
[x,y]=meshgrid(x,y)%产生两个矩阵,一个以x为行,另一个以y为列
z=(x+y).^2
surf(x,y,z)
shading flat%使曲面平滑
%(2)画网格图,图形为网格,将surf换成mesh即可
x=-3:0.1:3
y=1:0.1:5
[x,y]=meshgrid(x,y)
z=(x+y).^2
mesh(x,y,z)
%带底座的网格图meshz
[x,y]=meshgrid(-3:.125:3)
z=peaks(x,y)%生成一个测试图形
meshz(x,y,z)


%特殊的二维图
%polar(thera,rho,s)thera表示弧度,rho为极半径,s为指定线型
theta=linspace(0,2*pi),                         
        rho=sin(2*theta).*cos(2*theta);
        polar(theta,rho,'g')
        title('Polar plot of sin(2*theta).*cos(2*theta)');
 %散点图scatter(X,Y)X和Y是数据向量,以X中数据为横坐标,以Y中数据位纵坐标描绘散点图,点的形状默认使用圈。       
 %等高线contour (x,y,z,n)  
%特殊三维图:等高线,散点图,,,,,,暂略      

你可能感兴趣的:(语言基础)