![39e79bc503ec34b8aa4c4c3265ac7596.png](https://img-blog.csdnimg.cn/img_convert/39e79bc503ec34b8aa4c4c3265ac7596.png)
前言
说是前言,其实就是和大家简单唠唠。我也是学MATLAB踩过不少的坑,所以一路走来感触很深,至今我还记得我大学的老师说过的一句话:一切以你亲自操作的为准。其实,我的体会就是多用、多练,熟能生巧来形容再合适不过了,也祝对MATLAB感兴趣的朋友们,可以在操作MATLAB的过程中有更大的收获和进步!
一、目录
1.区域图
2.填充图
二维填充图
三维填充图
3.条形图
二维条形图
三维条形图
4.直方图
笛卡儿坐标系下的直方图
极坐标系下得直方图
5.圆体图
圆柱体
球体
椭圆体
6.饼图
二维饼图
三维饼图
7.排列图
8.离散图形
二维柄状图
三维柄状图
阶梯图
9.散点图
二维散点图
多边形区域内的散点
三维散点图
散点图矩阵
10.轮廓图
二维轮廓图
填充轮廓线
三维轮廓图
11.向量图
罗盘图
羽状图
箭头图
法线图
12.多边形面积图
二、图形示例
1.区域图
MATLAB程序如下:
Y=[1,5,3;
3,2,7;
1,5,3;
2,6,1];
area(Y)
grid on
set(gca,'Layer','top')
title('Stacked Area Plot')
![bd58e527fe112812fc97227b2329dc87.png](https://img-blog.csdnimg.cn/img_convert/bd58e527fe112812fc97227b2329dc87.png)
2.填充图
二维填充图
MATLAB程序如下:
t=(1/16:1/8:1)'*2*pi;%八边形顶点
x1=sin(t);
y1=cos(t);
t=(0:1/10:1)'*2*pi;%十边形顶点
x2=2+sin(t);
y2=cos(t);
fill(x1,y1,'y',x2,y2,'w')
title('二维填充图示例')
axis equal
axis off
text(-0.75,0,'fontname{隶书}fontsize{32}八边形')
text(1.25,0,'fontname{隶书}fontsize{32}十边形')
![7f793ab4d490f9615004b11a87955291.png](https://img-blog.csdnimg.cn/img_convert/7f793ab4d490f9615004b11a87955291.png)
三维填充图
MATLAB程序如下:
X=[0 1 1 2;1 1 2 2;0 0 1 1];%创建四个三角形
Y=[1 1 1 1;1 0 1 0;0 0 0 0];
Z=[1 1 1 1;1 0 1 0;0 0 0 0];
C=[0.5 1 1 0.5;
1 0.5 0.5 0.1667;
0.333 0.333 0.5 0.5];%色彩着色
fill3(X,Y,Z,C)
title('三维填充图')
![fe24ba7f80d73fb41724fed59944acdb.png](https://img-blog.csdnimg.cn/img_convert/fe24ba7f80d73fb41724fed59944acdb.png)
3.条形图
二维条形图
MATLAB程序如下:
Y=round(rand(5,3)*10);%随机函数产生5×3的数组,对产生的数据取整
subplot(2,2,1)
bar(Y,'group')
title('Group')
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)%设定条形的宽度为1.5
title('Width=1.5')
![8fcef025a116e225a28c1335f10126cf.png](https://img-blog.csdnimg.cn/img_convert/8fcef025a116e225a28c1335f10126cf.png)
三维条形图
MATLAB程序如下:
Y=[1 2 3 4 5 6 7;
1 2 3 4 3 2 1;
7 6 5 4 3 2 1];
subplot(2,3,1)
bar3(Y,'detached')
title('Detached')
subplot(2,3,4)
bar3(Y,0.25,'detached')
title('Width=0.25')
subplot(2,3,2)
bar3(Y,'grouped')
title('Grouped')
subplot(2,3,5)
bar3(Y,0.5,'grouped')
title('Width=0.5')
subplot(2,3,3)
bar3(Y,'stacked')
title('Stacked')
subplot(2,3,6)
bar3h(Y,0.3,'stacked')
title('Width=0.3')
![355af112296b0bb91e254732f08b6b24.png](https://img-blog.csdnimg.cn/img_convert/355af112296b0bb91e254732f08b6b24.png)
4.直方图
笛卡儿坐标系下的直方图
MATLAB程序如下:
x=-2.9:0.1:2.9;
y=randn(1000,1)
hist(y,x)
title('笛卡儿坐标系下的直方图')
![4a6a8c137b69640768e9847379fb5edf.png](https://img-blog.csdnimg.cn/img_convert/4a6a8c137b69640768e9847379fb5edf.png)
极坐标系下的直方图
MATLAB程序如下:
theta = 2*pi*rand(1,100);
rose(theta)
title('极坐标系下的直方图')
![9a274d441eae71795a79131be3d242b4.png](https://img-blog.csdnimg.cn/img_convert/9a274d441eae71795a79131be3d242b4.png)
5.圆体图
圆柱体
MATLAB程序如下:
t=0:pi/10:2*pi;
[x,y,z]=cylinder(2+cos(t),100);
surf(x,y,z)
axis square
title('圆柱形图示例')
![392f6433e03ec9a8745ffb7751c96080.png](https://img-blog.csdnimg.cn/img_convert/392f6433e03ec9a8745ffb7751c96080.png)
球体
MATLAB程序如下:
sphere
axis equal
![383503c1d7132b0bc53de173b0d2830b.png](https://img-blog.csdnimg.cn/img_convert/383503c1d7132b0bc53de173b0d2830b.png)
椭圆体
MATLAB程序如下:
[x y z]=ellipsoid(1,2,3,5,1,10);
view(3)
surface(x,y,z)
title('椭圆体:中心点(1,2,3),半径(5,1,10)')
![9f3354f16e72f9f38152eda5093ecd94.png](https://img-blog.csdnimg.cn/img_convert/9f3354f16e72f9f38152eda5093ecd94.png)
6.饼图
二维饼图
MATLAB程序如下:
x=[1 3 0.5 2.5 2];
subplot(221);
pie(x)%绘制饼图
subplot(222)
explode=[0 1 0 0 0];
pie(x,explode)%加上分离的切片
subplot(223)
label={'一班' '二班' '三班' '四班' '五班'};
pie(x,label);%给每个切片加上标注
subplot(224);
pie(x,explode,label);%具有分离和自定义标注的功能
![c3a6293beaa7e71a3f835da726804348.png](https://img-blog.csdnimg.cn/img_convert/c3a6293beaa7e71a3f835da726804348.png)
三维饼图
x=[5 10 7 8 1.3];
explode=[0 1 0 0 0];
pie3(x,explode)
title('三维饼图')
![605cae0a5e130be907be57e7a9d3f831.png](https://img-blog.csdnimg.cn/img_convert/605cae0a5e130be907be57e7a9d3f831.png)
7.排列图
MATLAB程序如下:
Y=[1 2 5 3.3 0.9 5.2];
names={'一队' '二队' '三队' '四队' '五队' '六队'};
X=[1 2 3 4 5 6];
subplot(211)
pareto(Y,names)%x轴的下标标识为names
title('排列图示例一')
subplot(212)
pareto(Y,X)
title('排列图示例二')%x轴下标有x指定
![d025139ea66d98584b3f37e6f6438c7d.png](https://img-blog.csdnimg.cn/img_convert/d025139ea66d98584b3f37e6f6438c7d.png)
8.离散图形
二维柄状图
MATLAB程序如下:
y=linspace(0,2*pi,10)
stem(cos(y),'fill','-.')%对离散图的末端进行了填充
title('二维柄状图示例');
![b04e5eab06aa14f62f477162cbd08487.png](https://img-blog.csdnimg.cn/img_convert/b04e5eab06aa14f62f477162cbd08487.png)
三维柄状图
MATLAB程序如下:
X=linspace(0,2*pi,50);
Y=X./2;
Z=sin(X)+cos(Y);
stem3(sin(X),cos(Y),Z,'fill')
xlabel('sin(X)');
ylabel('cos(Y)');
zlabel('sin(X)+cos(Y)');
title('三维柄状图示例');
![ac90084b450d9ded17ee4468671da7c5.png](https://img-blog.csdnimg.cn/img_convert/ac90084b450d9ded17ee4468671da7c5.png)
阶梯图
MATLAB程序如下:
x=0:.25:10;
subplot(211)
stairs(x,sin(x))
title('stairs函数应用示例')
subplot(212)
[xb,yb]=stairs(x,sin(x));%返回plot函数的两个参数
plot(xb,yb)
title('plot函数实现stairs函数应用示例')
![55036eabd915405f130655fe01928a47.png](https://img-blog.csdnimg.cn/img_convert/55036eabd915405f130655fe01928a47.png)
9.散点图
二维散点图
MATLAB程序如下:
x=rand(1,100)*100;%绘制图标的x,y轴的坐标
y=rand(1,100)*100;
s=rand(1,100)*100;%绘制图标的大小
c=rand(1,100)*255;%绘制图标的颜色
subplot(2,1,1)
scatter(x,y);%绘制具有默认大小与颜色的二维散点图
title('二维散点图指令scatter(x,y)');
subplot(2,1,2)
scatter(x,y,s,c);%绘制由参数s、c定义的二维散点图
title('二维散点图指令scatter(x,y,s,c)');
![bc0d542305030f6c329ba305b3d511bf.png](https://img-blog.csdnimg.cn/img_convert/bc0d542305030f6c329ba305b3d511bf.png)
多边形区域内的散点
L=linspace(0,2.*pi,6);
xv=cos(L)';
yv=sin(L)';
xv=[xv;xv(1)];
yv=[yv;yv(1)];%设定多边形
x=randn(250,1);
y=randn(250,1);%设定散点
in=inpolygon(x,y,xv,yv);%判断散点与多边形关系值
plot(xv,yv,x(in),y(in),'r+',x(~in),y(~in),'bo')
axis equal
![0bcac4b9a267aea80cd51867bbb559c6.png](https://img-blog.csdnimg.cn/img_convert/0bcac4b9a267aea80cd51867bbb559c6.png)
三维散点图
MATLAB程序如下:
[x,y,z]=sphere(16);%获取球体的坐标
X=x(:);
Y=y(:);
Z=z(:);%矩阵的转换
S=floor((abs(Z)+1)*50);
C=floor(abs(Z)*255);%定义图标大小和颜色与球体的纬度有关
scatter3(X,Y,Z,S,C,'filled')%绘制三维散点图,填充图标
title('三维散点图:球体示例')
![31a1553fe0437a1f712d921297ab5d59.png](https://img-blog.csdnimg.cn/img_convert/31a1553fe0437a1f712d921297ab5d59.png)
散点图矩阵
MATLAB程序如下:
x=randn(50,3);
y=x*[-1 2 1;2 0 1;1 -2 3];%定义绘制矩阵值
plotmatrix(y,'*b')
title('绘制3×3散点图矩阵')
![a5750bb10f378a9fd3d11c7e09dc9ace.png](https://img-blog.csdnimg.cn/img_convert/a5750bb10f378a9fd3d11c7e09dc9ace.png)
10.轮廓图
二维轮廓图
MATLAB程序如下:
[X,Y]=meshgrid(-2:.2:2,-2:.2:3);%表面网格函数
Z=X.*exp(-X.^2-Y.^2);
[C,h]=contour(X,Y,Z,10);%绘制轮廓线
clabel(C,h)%对轮廓线进行标注
title('二维轮廓图示例')
![aa94c223fdccbfab8697f49cf4d09ded.png](https://img-blog.csdnimg.cn/img_convert/aa94c223fdccbfab8697f49cf4d09ded.png)
填充轮廓线
MATLAB程序如下:
Z=peaks;
[C,h]=contourf(Z,10);%绘制二维轮廓线,并且填充
caxis([-20 20])%伪色彩,设置轴参数CLim和CLimMode
clabel(C,h)%标注轮廓线
title('Filled Contour Plot Using')
![ced2d4106768bb19c20ed124f8cb9ee1.png](https://img-blog.csdnimg.cn/img_convert/ced2d4106768bb19c20ed124f8cb9ee1.png)
三维轮廓图
MATLAB程序如下:
[X,Y]=meshgrid([-2:.25:2]);
Z=X.*exp(-X.^2-Y.^2);
[C,h]=contour3(X,Y,Z,30);%绘制三维轮廓图
grid off
%clabel(C,h)
title('三维轮廓图示例')
![4433741f1ec646d192f0243d57225260.png](https://img-blog.csdnimg.cn/img_convert/4433741f1ec646d192f0243d57225260.png)
11.向量图
罗盘图
MATLAB程序如下:
X=[0 30 90 45 145 270 330 225 150];
Y=[5 9 3 10 6 3 2.6 8 7.4];
X=X*pi/180;
[X,Y]=pol2cart(X,Y);%极坐标转化为直角坐标
compass(X,Y);
title('罗盘图示例')
![8cf4528153035209c313881bd2c81b7c.png](https://img-blog.csdnimg.cn/img_convert/8cf4528153035209c313881bd2c81b7c.png)
羽状图
theta=(-90:10:90)*pi/180;
r=2*ones(size(theta));
[u,v]=pol2cart(theta,r);
feather(u,v);
title('羽状图示例')
![35bd9df7a9a9e9bd9d4fa347a8647e01.png](https://img-blog.csdnimg.cn/img_convert/35bd9df7a9a9e9bd9d4fa347a8647e01.png)
箭头图
二维箭头图
MATLAB程序如下:
[X,Y]=meshgrid(-2:.2:2);
Z=X.*exp(-X.^2-Y.^2);
[DX,DY]=gradient(Z,.2,.2);%计算梯度,.2是DX方向距离
contour(X,Y,Z)
hold on
quiver(X,Y,DX,DY)
grid off
hold off
title('二维箭头图示例')
![26e1006a14f7a9ba1eb2af6accfc8598.png](https://img-blog.csdnimg.cn/img_convert/26e1006a14f7a9ba1eb2af6accfc8598.png)
三维箭头图
MATLAB程序如下:
[X,Y]=meshgrid(-2:0.25:2,-1:0.2:1);
Z=X.*exp(-X.^2-Y.^2);
[U,V,W]=surfnorm(X,Y,Z);%返回三维表面图的法线
quiver3(X,Y,Z,U,V,W,0.5);
hold on
surf(X,Y,Z);
axis([-2 2 -1 1 -.6 .6])
hold off
title('三维箭头图示例')
![4ced1f7b8875ffc3e8fa21177d4bcff7.png](https://img-blog.csdnimg.cn/img_convert/4ced1f7b8875ffc3e8fa21177d4bcff7.png)
法线图
MATLAB程序如下:
[x y z]=peaks(20);
surfnorm(x,y,z);
![d0cb5a5267c5b262fb6435b27bab82ac.png](https://img-blog.csdnimg.cn/img_convert/d0cb5a5267c5b262fb6435b27bab82ac.png)
12.多边形面积图
MATLAB程序如下:
L=Linspace(0,2.*pi,6);
xv=cos(L)';
yv=sin(L)';
xv=[xv;xv(1)];
yv=[yv;yv(1)];
A=polyarea(xv,yv);
plot(xv,yv);
title(['Area=' num2str(A)]);
axis image
![62f3200e0b87c69ea005cd12e910f9a1.png](https://img-blog.csdnimg.cn/img_convert/62f3200e0b87c69ea005cd12e910f9a1.png)
如果大家想看更多有关数学方面的趣闻,欢迎点击下方链接相互学习:
1、小编“墙裂”推荐【谈谈无穷小等价替换的理解及风华正茂的我们 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/23128692】
2、【谈线性代数里面的正交变换和复习线代的感悟 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/30542390】
3、【恋爱之中的野蛮女友——函数的间断点问题 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/44099721】
4、【聊聊那些烦人的微分中值定理和e^x的泰勒展式的八卦 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/44017677】
5、【谈谈那些让你头疼的实数基本定理 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/43692419】
6、【Mathematics student writing:看完这篇文章你会爱上数学! - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/38297140】