• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Matlab图形绘制经典案例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
1、三维曲线

>> t=0:pi/50:10*pi;

>> plot3(sin(2*t),cos(2*t),t)

>> axis square

>> grid on


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([-pi pi -100 100])

>> subplot(3,2,4)

>> plot(t,cot(t))

>> axis([-pi pi -100 100])

>> 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-.\')

>> hold on

>> plot(x,cos(x),\'r--\')

>> hold on

>> plot(x,sin(x)-1,\'g:\')

>> hold on

>> 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]\',[0 2*pi])

M文件:myfun.m

内容如下:

function y=myfun(x)

y(:,1)=sin(x);

y(:,2)=cos(x);

y(:,3)=x^(1/2)-1;

再运行:>> fplot(\'myfun\',[0 2*pi]) 

同样可以得到下图



5、

>> [x,y]=fplot(\'sin\',[0 2*pi]);

>> [x1,y1]=fplot(\'cos\',[0 2*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);

>> grid on

 

10、绘制数据向量的单轴对数坐标图形

>> x=[1:50];

>> y=[1:50];

>> semilogx(x,y,\'-*b\')

%绘制横轴为对数坐标

%纵轴为线性坐标

>> grid on

>> semilogy(x,y,\'-*b\')

%绘制纵轴为对数坐标

%横轴为线性坐标

>> grid on



11、绘制矩阵的条形图,

并求出句柄属性值向量。

>> A=[1 2 3;4 5 6;7 8 9];

>> h=bar(A)

h =

  171.0031  174.0026  176.0026

 


12、绘制矩阵的水平条形图。

>> y=[3 2 -2 2 1;-1 2 3 7 1;7 2 -3 5 2];

>> x=[1:3];

>> barh(x,y)



13、绘制矩阵的面积图。

>> y=[3 2 -2 2 1;-1 3 3 7 2;-7 5 5 9 3];

>> area(y)

 

14、绘制矩阵的二维饼图

>> x=[1 2 3;4 5 6;7 8 9];

>> explode=[0 1 0 1 0 1 0 1 0];

>> 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=[1 1.5 2;3 3.5 4;5 5.5 6];

>> y=[4 3 2;4 8 9;2 7 3];

>> 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阶魔方矩阵的等值线图和阶梯图。

>> A=magic(8);contour(A) %绘制等值线图stairs(A) %绘制阶梯图



22、绘制玫瑰花图。

>> theta=rand(1,200)*2*pi;

>> rose(theta,25)

 


23、绘制罗盘图。

>> x=rand(20,1);y=randn(20,1);

>> compass(x,y)
 


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) %绘制梯度场矢量图

 


25、给定向量x,y生成网格矩阵。

>> x=[1 2 3 4];

>> y=[10 11 12 13 14];

>> [U,V]=meshgrid(x,y)

U =

     1     2     3     4

     1     2     3     4

     1     2     3     4

     1     2     3     4

     1     2     3     4

V =

    10    10    10    10

    11    11    11    11

    12    12    12    12

    13    13    13    13

    14    14    14    14



26、生成一个5阶高斯分布矩阵,并给出相应的x,y向量矩阵。

>> [X,Y,Z]=peaks(5)

X =

   -3.0000   -1.5000         0    1.5000    3.0000

   -3.0000   -1.5000         0    1.5000    3.0000

   -3.0000   -1.5000         0    1.5000    3.0000

   -3.0000   -1.5000         0    1.5000    3.0000

   -3.0000   -1.5000         0    1.5000    3.0000

Y =

   -3.0000   -3.0000   -3.0000   -3.0000   -3.0000

   -1.5000   -1.5000   -1.5000   -1.5000   -1.5000

         0         0         0         0         0

    1.5000    1.5000    1.5000    1.5000    1.5000

    3.0000    3.0000    3.0000    3.0000    3.0000

Z =

    0.0001    0.0042   -0.2450   -0.0298   -0.0000

   -0.0005    0.3265   -5.6803   -0.4405    0.0036

   -0.0365   -2.7736    0.9810    3.2695    0.0331

   -0.0031    0.4784    7.9966    1.1853    0.0044

    0.0000    0.0312    0.2999    0.0320    0.0000

 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=[1 2 3;4 5 6;7 8 9];

>> ex=[1 0 0;4 0 0;0 8 0];

>> pie3(A,ex)



33、在各种style参数的条件下绘制矩阵的三维条形图。

>> z=[1 2 3;4 5 6;7 8 9];

>>bar3(z,\'detached\')

>>title(\'bar3函数以detached参数绘制A=[1 2 3;4 5 6;7 8 9]的条形图\')

>> bar3(z,\'grouped\')

>> title(\'bar3函数以grouped参数绘制A=[1 2 3;4 5 6;7 8 9]的条形图\')

>> bar3(z,\'stacked\')

>> title(\'bar3函数以stacked参数绘制A=[1 2 3;4 5 6;7 8 9]的条形图\')



34、绘制柱形图。

>> t=[0:pi/50:2*pi];

>> [x,y,z]=cylinder(t.*sin(t));

>> surf(x,y,z)

>> cylinder(t.^2)

>> title(\'cylinder(t^2)绘制的柱形图\')



35、绘制三维散点图。

>> x=rand(500,1);

>> y=randn(500,1);

>> z=randn(500,1);

>> scatter3(x,y,z,\'p\',\'r\')



36、绘制三维火柴杆图。

>> x=[1:0.5:20];

>> y=sqrt(x);

>> z=sqrt(x.^2+y.^2);

>> stem3(x,y,z,\'filled\')



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) %绘制三维向量图

>> hold on

>> surf(x,y,z)

>> hold off



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.2 0.8 2];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([-4 4 -1 1])

>> axis square

>> grid off

>> set(h,\'erasemode\',\'xor\',\'markersize\',10)

>> while 1

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的动画。

>> x=[-2:0.2:2];

>> [x1,y1]=meshgrid(x);

>> z=x1.^2+y1.^2+eps;

>> surf(z);

>> ta=axis;

>> ft=moviein(40);

>> for i=1:40

surf(sin(2*pi*i/20)*z,z)

axis(ta)

ft(:,i)=getframe;

end

>> movie(ft,20)



46、通过调整Z的数值来建立peaks函数的动画。

>> z=peaks;

>> surf(z);

>> axis tight

>>set(gca,\'nextplot\',

\'replacechildren\');

>> for i=1:20

surf(sin(2*pi*i/20)*z,z)

f(i)=getframe;

end

>> movie(f,30)



47、cool色图+faceted系统默认颜色阴影和默认色图jet+interp颜色阴影绘制peaks函数图。

>> z=peaks;

>> surf(z)

>> colormap(cool)

>> shading faceted

>>

>> z=peaks;

>> surf(z)

>> colormap(jet)

>> shading interp





48、创建一个三维表面图并设置不同的视点。


>> [x,y]=meshgrid([-3:0.2:3]);

>> z=x.*exp(-x.^2-y.^2);

>> surf(z)

>> [ax,el]=view

ax =


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi与DirectX之DelphiX(28):TDIB.Emboss;发布时间:2022-07-18
下一篇:
理解Delphi的类(十)-深入方法[12]-implementation区中的方法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap