![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iN5UzNjFWN2IzMjRzY0EWY4IGNzMWZzATNjJWO3UWOz8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.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')
pic 1
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}十边形')
pic 2
三维填充图 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('三维填充图')
pic 3
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')
pic 4
三维条形图 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')
pic 5
4.直方图 笛卡儿坐标系下的直方图 MATLAB程序如下:x=-2.9:0.1:2.9;
y=randn(1000,1)
hist(y,x)
title('笛卡儿坐标系下的直方图')
pic 6
极坐标系下的直方图 MATLAB程序如下:theta = 2*pi*rand(1,100);
rose(theta)
title('极坐标系下的直方图')
pic 7
5.圆体图 圆柱体 MATLAB程序如下:t=0:pi/10:2*pi;
[x,y,z]=cylinder(2+cos(t),100);
surf(x,y,z)
axis square
title('圆柱形图示例')
pic 8
球体 MATLAB程序如下:sphere
axis equal
pic 9
椭圆体 MATLAB程序如下:[x y z]=ellipsoid(1,2,3,5,1,10);
view(3)
surface(x,y,z)
title('椭圆体:中心点(1,2,3),半径(5,1,10)')
pic 10
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);%具有分离和自定义标注的功能
pic 11
三维饼图x=[5 10 7 8 1.3];
explode=[0 1 0 0 0];
pie3(x,explode)
title('三维饼图')
pic 12
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指定
pic 13
8.离散图形 二维柄状图 MATLAB程序如下:y=linspace(0,2*pi,10)
stem(cos(y),'fill','-.')%对离散图的末端进行了填充
title('二维柄状图示例');
pic 14
三维柄状图 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('三维柄状图示例');
pic 15
阶梯图 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函数应用示例')
pic 16
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)');
pic 17
多边形区域内的散点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
pic 18
三维散点图 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('三维散点图:球体示例')
pic 19
散点图矩阵 MATLAB程序如下:x=randn(50,3);
y=x*[-1 2 1;2 0 1;1 -2 3];%定义绘制矩阵值
plotmatrix(y,'*b')
title('绘制3×3散点图矩阵')
pic 20
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('二维轮廓图示例')
pic 21
填充轮廓线 MATLAB程序如下:Z=peaks;
[C,h]=contourf(Z,10);%绘制二维轮廓线,并且填充
caxis([-20 20])%伪色彩,设置轴参数CLim和CLimMode
clabel(C,h)%标注轮廓线
title('Filled Contour Plot Using')
pic 22
三维轮廓图 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('三维轮廓图示例')
pic 23
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('罗盘图示例')
pic 24
羽状图theta=(-90:10:90)*pi/180;
r=2*ones(size(theta));
[u,v]=pol2cart(theta,r);
feather(u,v);
title('羽状图示例')
pic 25
箭头图 二维箭头图 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('二维箭头图示例')
pic 26
三维箭头图 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('三维箭头图示例')
pic 27
法线图 MATLAB程序如下:[x y z]=peaks(20);
surfnorm(x,y,z);
pic 28
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
pic 29
如果大家想看更多有关数学方面的趣闻,欢迎点击下方链接相互学习:
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】