首先,内容中有基本作图方法,也夹杂了一些不常用的高级操作,以二维画图为主。其次,学MATLAB的最好办法是打开MATLAB将命令输入,然后输出(无论是图还是数字矩阵等),一点一点修改,领悟!最后,MATLAB是英文缩写,必须所有字母大写,像Matlab或matlab的写法都是错的。
开始
补充1:format longg 可以让数字显示不是科学记数法。方便识别 (14-09-19)
1.plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10)
颜色: b 蓝色;g 绿色;r 红色;c 青色;m
紫红;y 黄色;k 黑色;w 白色
Marker: . 点;o 圆圈;x 叉号;+
加号;* 星号;s 方块;d 菱形;v 下三角;^ 上三角;< 左三角;
> 右三角;p 五角星;h 六边形
线型: -
实线;:点线;-.实点线;--虚线;
同类型有:loglog;semilogx;semilogy;
注意: plotyy
可以画双y轴标注的图
2.title('x from 0 to 2{\pi}');
%加图形标题
xlabel('Variable X');
%加X轴说明
ylabel('Variable Y');
%加Y轴说明
text(0.8,1.5,'曲线y1=2e^{-0.5x}');
%在指定位置添加图形说明
text(2.5,1.1,'曲线y2=cos(4{\pi}x)');
legend('y1','y2')
%加图例
x轴或y轴说明向弄成多行的:xlabel({'line1';
'line2'});
3.axis([xmin xmax ymin ymax zmin
zmax])
xlim([xmin xmax])
设置x轴范围
ylim([ymin ymax])
设置y轴范围
axis equal:
纵、横坐标轴采用等长刻度。
axis square:
产生正方形坐标系(缺省为矩形)。
axis off:
取消坐标轴。
axis on:
显示坐标轴。
set(gca,'xtick',[],'xticklabel',[]);
隐藏x轴
set(gca,'ytick',[],'yticklabel',[]);
隐藏x轴
box on:
显示坐标轴的外框
grid on
显示网格
set(gca,'xdir','reverse')
让x轴反向显示
set(gca,'YAxisLocation','right');
让y轴坐标显示在右边
set(gca,'xtick',[1,2,3,4,5]);
让x轴显示这几个数字,也可以写成 [1:5]的形式
set(gca,'GridLineStyle','-','MinorGridLineStyle','-')
将网格线变为实线,而不是虚线
4. set(gcf,'position',[100 150 500 500]);
设置图片出现的位置。100 150 是离
屏幕左下角点的距离,500 500是宽高
set(gca,'FontSize',10);
设置坐标轴数字的字体大小
set(get(gca,'XLabel'),'FontSize',10);
设置x轴说明的字体大小
set(get(gca,'YLabel'),'FontSize',10);
设置y轴说明的字体大小
用MATLAB画图完,如果不在屏幕上调整图片的大小,直接copy到word中,图片会变大,我们需要将图片拖小,但这时候字体也随之变小。因此,我们需要用上面三句话来不断的调整字体大小,来达到word里的最好效果。第一句话是用来控制你的图片成为你理想的长宽,同时,有些图画的小了图线会有锯齿,画大了又不好调整在word中的大小,所以这句话可以用来调整最优大小。
5.等值线的画法
坐标向量 x,y 高度值 z
xmin=min(x); xmax=max(x); ymin=min(y);
ymax=max(y);
%确定坐标范围
[xx,yy]=meshgrid(linspace(xmin,xmax,100),linspace(ymin,ymax,100));
% 再坐标最小和最大值插入100个
点,这里可以自行调整个数
F=TriScatteredInterp(x,y,z,'natural');
% 定义了一个用natural的方法二
维插值的函数,其他还有
linear 和 nearest 方法
zz=F(xx,yy);
%用上面定义的函数插值
[c,h]=contour(xx,yy,zz,'k','LevelList',[50
100 150]);
% 画等值线为 50 100 150 3条
clabel(c,h,'FontSize',10);
%标注等值线
6.三维柱状图
A =
randn(M,N);
bar3(A);
% 即画出三维柱状图
加载中,请稍候......