图形可以使数据更直观且容易理解,在数学建模中画图是不可少的。
平台
win7
matlab7.0
先介绍最常用的画图函数plot:
创建数据
X = 0:0.01:10
Y = sin(X)
画第一个图
plot(X,Y)
设置坐标轴
set(gca,'XTick',-pi:pi/2:4*pi)
并设置坐标轴标签
set(gca,'XTickLabel',{'0','pi/2','pi','3pi/2','2pi','5pi/2','3pi'})
增加xy轴标签及标题
xlabel('-\pi \leq \Theta \leq \pi')
ylabel('sin(\Theta)')
title('Plot of sin(\Theta)')
增加网格线
grid on
取消网格线
grid off
固定xy轴比例,使xy轴不会因缩减放大而改变形状
axis square
plot还有其他形式
plot(X,Y,'r*')
曲线以红色*方式显示
坐标轴按指数次数项作为间隔
x = logspace(-1,2);
loglog(x,exp(x),'-s')
双y坐标
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
画三维图
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on
axis square
在同一窗口显示多个图表
income = [3.2 4.1 5.0 5.6];
outgo = [2.5 4.0 3.35 4.9];
subplot(2,1,1); plot(income)
subplot(2,1,2); plot(outgo)
直方图
x = -2.9:0.2:2.9;
bar(x,exp(-x.*x),'b')
丰富的直方图
Y = round(rand(5,3)*10);
subplot(2,2,1)
bar(Y,'group')
title 'Group'
%将Y的行向量作为一组叠加到一条柱上
subplot(2,2,2)
bar(Y,'stack')
title 'Stack'
%水平显示
subplot(2,2,3)
barh(Y,'stack')
title 'Stack'
%固定宽度的柱
subplot(2,2,4)
bar(Y,1.5)
title 'Width = 1.5'
饼状图
pie([2 4 3 5],{'North','South','East','West'})
将某部分抽离显示
pie([2 4 3 5],[0 1 0 0],{'North','South','East','West'})
参考资料
《matlab官方手册》