完整word版Matlab图形绘制经典案例.docx
《完整word版Matlab图形绘制经典案例.docx》由会员分享,可在线阅读,更多相关《完整word版Matlab图形绘制经典案例.docx(33页珍藏版)》请在冰豆网上搜索。
完整word版Matlab图形绘制经典案例
1、
三维曲线
>>t=0:
pi/50:
10*pi;
>>plot3(sin(2*t),cos(2*t),t)
>>axissquare
>>gridon
2、一窗口多图形
>>t=-2*pi:
0.01:
2*pi;
>>subplot(3,2,1)
>>plot(t,sin(t))
>>subplot(3,2,2)
>>plot(t,cos(t))
>>subplot(3,2,3)
>>plot(t,tan(t))
>>axis([-pipi-100100])
>>subplot(3,2,4)
>>plot(t,cot(t))
>>axis([-pipi-100100])
>>subplot(3,2,5)
>>plot(t,atan(t))
>>subplot(3,2,6)
>>plot(t,acot(t))
3、图形样式、标注、题字
(也可以利用菜单直接Insert)
>>x=0:
pi/20:
2*pi;
>>plot(x,sin(x),'b-.')
>>holdon
>>plot(x,cos(x),'r--')
>>holdon
>>plot(x,sin(x)-1,'g:
')
>>holdon
>>plot(x,cos(x)-1)
>>xlabel('x');
>>xlabel('x轴');
>>ylabel('y轴');
>>title('图形样式、标注等');
>>text(pi,sin(pi),'x=\pi');
>>legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1');
>>[x1,y1]=ginput
(1)%利用鼠标定位查找线上某点的值
x1=
2.0893
y1=
-0.5000
>>gtext('x=2.5')%鼠标定位放置所需的值在线上
4、
>>fplot('[sin(x),cos(x),sqrt(x)-1]',[02*pi])
M文件:
myfun.m
内容如下:
functiony=myfun(x)
y(:
1)=sin(x);
y(:
2)=cos(x);
y(:
3)=x^(1/2)-1;
再运行:
>>fplot('myfun',[02*pi])
同样可以得到右图
5、
>>[x,y]=fplot('sin',[02*pi]);
>>[x1,y1]=fplot('cos',[02*pi]);
>>plot(x,y,'-r',x1,y1,'-.k')
>>legend('y=sinx','y=cosx')
6、
>>x=[-2:
0.2:
2];
>>y=exp(x)-sin(x);
>>plot(x,y,'-or','linewidth',2)
7、画出y1=6(sinx-cosx),y2=x2^x-1的图形
>>x=[-3:
0.1:
3];
>>y1=6*(sin(x)-cos(x));
>>y2=x.*2.^x-1;
>>plot(x,y1,'-r',x,y2,'-.k','linewidth',2)
8、绘制心形图r=2(1-cos
)的极坐标图形
>>theta=[0:
0.01:
2*pi];
>>polar(theta,2*(1-cos(theta)),'-k')
>>polar(theta,2*(1-cos(theta)),'-or')
9、用双轴对数坐标绘制y=x*3^x-30的图形
>>x=logspace(-3,3);
>>y=x.*3.^x-30;
>>loglog(y,'-or','linewidth',2);
>>gridon
10、绘制数据向量的单轴对数坐标图形
>>x=[1:
50];
>>y=[1:
50];
>>semilogx(x,y,'-*b')
%绘制横轴为对数坐标
%纵轴为线性坐标
>>gridon
>>semilogy(x,y,'-*b')
%绘制纵轴为对数坐标
%横轴为线性坐标
>>gridon
11、绘制矩阵
的条形图,
并求出句柄属性值向量。
>>A=[123;456;789];
>>h=bar(A)
h=
171.0031174.0026176.0026
12、绘制矩阵的水平条形图。
>>y=[32-221;-12371;72-352];
>>x=[1:
3];
>>barh(x,y)
13、绘制矩阵的面积图。
>>y=[32-221;-13372;-75593];
>>area(y)
14、绘制矩阵的二维饼图
>>x=[123;456;789];
>>explode=[010101010];
>>pie(x,explode)
15、自行确定数据向量,绘制其散点图。
>>x=rand(1,100);y=randn(1,100);scatter(x,y,20)
16、自行确定数据,绘制其柱形图。
>>x=[-2:
0.01:
4];
>>y=randn(1131,1);
>>hist(y,x)
17、绘制y=sinx在[0,2*pi]
上的误差图。
>>x=[0:
pi/20:
2*pi];
>>y=sin(x);
>>E=std(y)*ones(size(x));
%条形控制
>>errorbar(x,y,E)
18、绘制火柴杆图。
>>x=[11.52;33.54;55.56];
>>y=[432;489;273];
>>stem(x,y,'fill')
%fill意思是“实心点”
19、绘制羽列图。
>>U=[-90:
5:
90]*pi/180;
%建立等间距数据
>>V=2*ones(size(U));
%根据U建立数据
>>[U,V]=pol2cart(U,V);
转换数据为直角坐标形式
>>feather(U,V)
20、同一窗口绘制
和
在[0,30]上的图形。
>>x=[0:
0.01:
30];
>>y1=50*exp(-0.05*x).*sin(x);
>>y2=0.5*exp(-0.5*x).*cos(x);
>>plotyy(x,y1,x,y2,'plot')
%plotyy(x,y1,x,y2,'plot')表示:
用左侧y标度绘制(x,y1)
用右侧y标度绘制(x,y2)
21、绘制8阶魔方矩阵的等值线图和阶梯图。
23、绘制罗盘图。
>>x=rand(20,1);y=randn(20,1);
>>compass(x,y)
>>A=magic(8);contour(A)%绘制等值线图stairs(A)%绘制阶梯图
22、绘制玫瑰花图。
>>theta=rand(1,200)*2*pi;
>>rose(theta,25)
24、绘制函数
的梯度场矢量图。
>>[x,y]=meshgrid([-2:
0.1:
2]);%建立栅格点数据向量
>>z=3.*x.*y*exp(-x.^2-y.^2)-1;%计算函数值向量
>>[u,v]=gradient(z,0.2,0.2);%计算梯度值向量
>>quiver(x,y,u,v,2)%绘制梯度场矢量图
26、生成一个5阶高斯分布矩阵,并给出相应的x,y向量矩阵。
>>[X,Y,Z]=peaks(5)
X=
-3.0000-1.500001.50003.0000
-3.0000-1.500001.50003.0000
-3.0000-1.500001.50003.0000
-3.0000-1.500001.50003.0000
-3.0000-1.500001.50003.0000
Y=
-3.0000-3.0000-3.0000-3.0000-3.0000
-1.5000-1.5000-1.5000-1.5000-1.5000
00000
1.50001.50001.50001.50001.5000
3.00003.00003.00003.00003.0000
Z=
0.00010.0042-0.2450-0.0298-0.0000
-0.00050.3265-5.6803-0.44050.0036
-0.0365-2.77360.98103.26950.0331
-0.00310.47847.99661.18530.0044
0.00000.03120.29990.03200.0000
25、给定向量x,y生成网格矩阵。
>>x=[1234];
>>y=[1011121314];
>>[U,V]=meshgrid(x,y)
U=
1234
1234
1234
1234
1234
V=
10101010
11111111
12121212
13131313
14141414
27、在-4<=x<=4,-4<=y<=4区域上
绘制z=x^2+y^2的三维网格图。
>>[x,y]=meshgrid(-4:
0.125:
4);
>>z=x.^2+y.^2;
>>meshc(x,y,z)
28、绘制高斯分布函数的网格图。
>>[x,y]=meshgrid(-3:
0.125:
3);
>>z=peaks(x,y);
>>meshz(x,y,z)
29、用surf绘制高斯分布函数的曲面图。
>>[x,y]=meshgrid(-3:
0.125:
3);
>>z=peaks(x,y);
>>surf(x,y,z)
30、绘制曲线图。
>>t=[0:
pi/200:
10*pi];
>>x=2*cos(t);
>>y=3*sin(t);
>>z=t.^2;
>>plot3(x,y,z)
31、利用peaks函数产生的数据绘制其带形图。
>>[x,y]=meshgrid([-2*pi:
pi/5:
2*pi],[-2:
1/5:
2]);
>>z=peaks(x,y);
>>ribbon(y,z)
32、绘制三维饼图。
>>A=[123;456;789];
>>ex=[100;400;080];
>>pie3(A,ex)
33、在各种style参数的条件下绘制矩阵的三维条形图。
>>z=[123;456;789];
>>bar3(z,'detached')
>>title('bar3函数以detached参数绘制A=[123;456;789]的条形图')
>>bar3(z,'grouped')
>>title('bar3函数以grouped参数绘制A=[123;456;789]的条形图')
>>bar3(z,'stacked')
>>title('bar3函数以stacked参数绘制A=[123;456;789]的条形图')
34、绘制柱形图。
>>t=[0:
pi/50:
2*pi];
>>[x,y,z]=cylinder(t.*sin(t));
>>surf(x,y,z)
>>cylinder(t.^2)
36、绘制三维火柴杆图。
>>x=[1:
0.5:
20];
>>y=sqrt(x);
>>z=sqrt(x.^2+y.^2);
>>stem3(x,y,z,'filled')
>>title('cylinder(t^2)绘制的柱形图')
35、绘制三维散点图。
>>x=rand(500,1);
>>y=randn(500,1);
>>z=randn(500,1);
>>scatter3(x,y,z,'p','r')
37、绘制高斯分布函数的三维瀑布图。
>>[x,y]=meshgrid(-4:
0.05:
4);
>>z=peaks(x,y);
>>waterfall(x,y,z)
38、绘制等值线图。
>>[x,y]=meshgrid(-3:
0.1:
3);
>>z=2-x.^2-y.^2;
>>contour3(z,20)
39、绘制一个球面。
>>[x,y,z]=sphere(40);
>>surf(x,y,z)
40、绘制三角形网格图和三角形表面图。
>>[x,y]=meshgrid(-3:
0.5:
3);
>>z=x.*exp(-x.^2-y.^2);
>>tri=delaunay(x,y);
%建立三角形网格
>>trimesh(tri,x,y,z)
>>trisurf(tri,x,y,z)
41、绘制一个三维彗星图。
>>t=[-3*pi:
pi/100:
3*pi];
>>x=3.*cos(t);
>>y=2.*sin(t);
>>z=t.^2;
>>comet3(x,y,z)
42、绘制曲面z的表面法向量向量图。
>>[x,y]=meshgrid([-3:
0.2:
3],[-2:
0.5:
2]);
>>z=x.*exp(-x.^2-y.*2);
>>[u,v,w]=surfnorm(x,y,z);%计算表面法向向量
>>quiver3(x,y,z,u,v,w,1.2)%绘制三维向量图
>>holdon
>>surf(x,y,z)
>>holdoff
43、绘制空间立体
在-2<=x<=2,-2<=y<=2,-2<=z<=2上的切片图。
>>[x,y,z]=meshgrid(-2:
0.2:
2);
>>v=x.*exp(-x.^2-y.^2-z.^2);
>>xi=[-1.20.82];yi=2;zi=[-2-0.2];
>>slice(x,y,z,v,xi,yi,zi)
44、在【-pi,pi】上制作一个不断绘制正弦曲线的动画。
>>x=[-pi:
0.02:
pi];
>>y=sin(x);
>>h=plot(x,y,'r-')
h=
171.0011
>>axis([-44-11])
>>axissquare
>>gridoff
>>set(h,'erasemode','xor','markersize',10)
>>while1
drawnow
x=x+0.01;
y=sin(x)-0.01;
set(h,'xdata',x,'ydata',y)
if(x>pi)|(y<-1)
x=[-pi:
0.02:
pi];
y=sin(x);
end
end
45、创建一个三维曲面z=x^2+y^2的动画。
46、通过调整Z的数值来建立peaks函数的动画。
47、cool色图+faceted系统默认颜色阴影和默认色图jet+interp颜色阴影绘制peaks函数图。
>>z=peaks;
>>surf(z)
>>colormap(cool)
>>shadingfaceted
>>
>>z=peaks;
>>surf(z)
>>colormap(jet)
>>shadinginterp
48、创建一个三维表面图并设置不同的视点。
>>[x,y]=meshgrid([-3:
0.2:
3]);
>>z=x.*exp(-x.^2-y.^2);
>>surf(z)
>>[ax,el]=view
ax=
-37.5000
el=
30
>>view(30,-30)
49、绘图工具栏介绍。