MATLAB绘图


1.辅助绘图

1).图形标注

title(‘图形名称’)

xlabel(‘x轴说明’)

ylabel(‘y轴说明’)

text(x,y,‘图形说明’)

legend(‘示例1’,‘示例2’,‘Location’,‘NorthEastOutside’)

x=0:pi/50:2*pi;
y1=sin(x);
y2=cos(x)
plot(x,y1,x,y2);
title('图形名称');
xlabel('x轴');
ylabel('y轴');
legend('y1','y2');

图形标注

注意要放在plot后面

2). 坐标控制

axis([xmin xmax ymin ymax zmin zmax]) % x,y轴坐标控制
axis off % 取消坐标轴
axis on % 显示坐标轴
grid off % 不画网格线
grig on % 画网格线
hold off % 不刷新页面
hold on % 刷新页面

2.二维绘图

1).简单绘制

a.普通形式

x=0:pi/50:2*pi;
y=sin(x);
plot(x,y)

普通.png

b.参数形式

t=0:pi/50:2*pi;
x=sin(t);
y=cos(t);
plot(x,y)

参数.png

c.多输出函数

x=0:pi/50:2*pi;
y=cos(x);
z=sin(x);
plot(x,y,x,z)

多输出.png

d.矩阵输出

A=pascal(5);
plot(A)

矩阵.png

2).自定义格式

自定义格式

举例:

x=0:pi/50:2*pi;
y1=sin(x);
y2=cos(x);
y3=tan(x);
% plot(x,y1,x,y2,x,y3)
plot(x,y1,'--',x,y2,'b',x,y3,'r.')
axis([0,2*pi,-10,10]);

自定义格式输出.png

3).双纵坐标

x=0:pi/50:2*pi;
y1=sin(x);
y2=cos(x);
plotyy(x,y1,x,y2)
axis([0,2*pi,-2,2]);

双纵坐标.png

4).直方图

条形图: bar(x,y,‘自定义格式’)

阶梯图: stairs(x,y,‘自定义格式’)

杆图: stem(x,y,‘自定义格式’)

填充图: fill(x,y,‘自定义格式’)

x=0:0.35:7;
y=(x+1).*(10-x);

subplot(2,2,1);
bar(x,y,'g');
title('bar(x,y,''g'')');
axis([0, 7, 0,40]);

subplot(2,2,2);
fill(x,y,'r');
title('fill(x,y,''r'')');
axis([0, 7, 0,40]);

subplot(2,2,3);
stairs(x,y,'b');
title('stairs(x,y,''b'')');
axis([0, 7, 0,40]);

subplot(2,2,4);
stem(x,y,'k');
title('stem(x,y,''k'')');
axis([0, 7, 0,40]);

直方图.png

其中subplot是多区域绘图,subplot(‘行数’,‘列数’,‘第几个区域’)

5).极坐标图形

theta=0:pi/50:2*pi;
r=sin(theta);
polarplot(theta,r,'r')

极坐标.png

6).饼图

x=[0.1,0.2,0.3,0.4];
pie(x)

饼图.png

7).对数绘图

subplot(2,3,1);
x=[1:1:100];
plot(x,x.^3);
grid on;
title 'plot y=x^3';

subplot(2,3,2);
loglog(x,x.^3);
grid on;
title 'loglog logy=3logx';

subplot(2,3,3);
plotyy(x,x.^3,x,x);
grid on;
title 'plotyy y=x^3,logy=3logx';

subplot(2,3,4);
semilogx(x,x.^3);
grid on;
title 'semilogx y=3logx';

subplot(2,3,5);
semilogy(x,x.^3);
grid on;
title 'semilogy logy=x^3';

对数.png

3.三维绘图

1).基本运用

t=0:pi/50:2*pi;
x=8*cos(t);
y=4*sqrt(2)*sin(t);
z=-4*sqrt(2)*sin(t);
plot3(x,y,z,'p');
title('Line in 3-D Space');
xlabel('X');
ylabel('Y');
zlabel('Z');
grid on;
axis([-8,8,-8,8,-8,8]);

普通三维.png

2).三维曲面的三种形式

a.mesh

绘制网格图

x=0:0.1:2*pi;
[x,y]=meshgrid(x);
z=sin(y).*cos(x);
mesh(x,y,z);
xlabel('x-axis');
ylabel('y-axis');
zlabel('z-axis');
title('mesh');

三维曲面mesh.png

b.surf

绘制曲面图

x=0:0.1:2*pi;
[x,y]=meshgrid(x);
z=sin(y).*cos(x);
surf(x,y,z);
xlabel('x-axis');
ylabel('y-axis');
zlabel('z-axis');
title('mesh');
三维曲面surf.png

c.plot3

简单MATLAB-plot,由线条组成

x=0:0.1:2*pi;
[x,y]=meshgrid(x);
z=sin(y).*cos(x);
plot3(x,y,z);
xlabel('x-axis');
ylabel('y-axis');
zlabel('z-axis');
title('plot3');

三维曲面plot3

3).三维曲面

[x,y,z]=sphere(100);
plot3(x,y,z)

三维球面

4).三维柱面

[x,y,z]=cylinder(100,100);
plot3(x,y,z)

三维柱面

5).多峰函数

[x,y,z]=peaks(30);
mesh(x,y,z)

多峰函数

6).三维直方图

在二维直方图函数后加3

subplot(2,2,1);
bar3(magic(4));

subplot(2,2,2);
y=2*sin(0:pi/10:2*pi);
stem3(y);

subplot(2,2,3);
pie3([2347,1827,2043,3025]);

subplot(2,2,4);
fill3(rand(3,5),rand(3,5),rand(3,5),'y');

三维直方图和饼图

7).多视角

view(az,el)

默认方位角az为37.5度,仰角el为30度。

subplot(2,2,1);
mesh(peaks);
view(-37.5,30);
title('1');
xlabel('x');
ylabel('y');
zlabel('z');

subplot(2,2,2);
mesh(peaks);
view(0,90);
title('2');
xlabel('x');
ylabel('y');
zlabel('z');

subplot(2,2,3);
mesh(peaks);
view(90,0);
title('3');
xlabel('x');
ylabel('y');
zlabel('z');

subplot(2,2,4);
mesh(peaks);
view(-7,-10);
title('4');
xlabel('x');
ylabel('y');
zlabel('z');

三维多视角

4.图形的裁剪

x=0:pi/50:4*pi;
y=sin(x);
i=find(abs(y)<0.5);
x(i)=NaN;
plot(x,y);
axis([0,4*pi,-1,1])

图形的裁剪

5.隐函数作图

subplot(2,2,1);
ezplot('x^2+y^2-9');

subplot(2,2,2);
ezplot('x^3+y^3-5*x*y+1/5');

subplot(2,2,3);
ezplot('cos(tan(pi*x))',[0,1]);

subplot(2,2,4);
ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi]);

隐函数作图


文章作者: 易安
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 易安 !
评论
  目录