模 拟 人 生  数 字 天 下微控世界 https://bbs.21ic.com/?475938 [收藏] [复制] [RSS] 学习 学习 再学习

日志

matlab数据可视化(1)

已有 1813 次阅读2010-6-4 14:41 |系统分类:兴趣爱好| matlab, 数据, 可视化

matlab数据可视化(1)


 


一节符号函数的函数图
1.
平面分图位置函数 subplot(nmj) 其中:n mj编号
2.
二维直角坐标符号函数绘图
1ezplotf[x1,x2]
f:
含单变量的符号函数
x1
x2:自变量的取值范围,默认值为[-2pi,2pi]
2ezplot‘u(x,y)’,[x1,x2],[y1,y2]

 
两变量隐含数u(x,y)=0
   [x1,x2],[y1,y2]
表示两个变量的取值范围

3ezplotx,y,[t1,t2]
x=f(t),y=g(t)
是参数方程
t1,t2
:参变量的取值范围(exno25t)
exno25t:
f=sym('x^2+1')


subplot(221)


ezplot(f,[-2,+2])


subplot(222)


ezplot('y-x^2-1',[-2,+2],[0,10])


x=sym('cos(t)')


y=sym('sin(t)')


subplot(223)


ezplot(x,y)



3.
三维直角坐标符号函数图
ezplot3(x,y,z,[t1,t2])
x=f(t),y=g(t),z=h(t)
是参数方程
t1,t2
:参变量的取值范围(exno26t)
exno26t

x=sym('cos(t)')


y=sym('sin(t)')


z=sym('t^2')


subplot(224)


ezplot3(x,y,z,[0,8*pi])


 


 


4.二维平面极坐标符号函数绘图
ezpolar(r,[x1,x2])
函数r是幅值,自变量是极角,[x1,x2]是极角的取值范围(exno27t
exno27t:
r=sym('4*sin(3*x)')


ezpolar(r,[0,2*pi])



 


第二节 2D数据图
1.
二维数据的形式
1)两个元素同为n的行向量
2)一个二维(n*m)矩阵。(n:行,m:列)
2.
二维数据的图形
1)两个元素同为n的行向量,各对应的元素在平面上确定n个点连成一条曲线
2)二维(n*m)矩阵的每一列元素可构成n个点的曲线。曲线的横坐标为行数(12....,纵坐标为该对应的元素。此矩阵可表示为m条曲线(n:行,m:列)
3)两个同维的二维矩阵(x,y)可表示为m条曲线。每条曲线的横,纵坐标分别为xy对应的列向量的各个元素
3.
建立二维数据图形的函数
1)设x1y1x2y2.....为多组行向量,则plot(x1,y1,x2,y2...)绘出多条曲线,x1,x2....是横坐标行向量,y1,y2....是纵坐标行向量
2)设x为二维矩阵,则plot(x)绘出m条曲线。矩阵的行数为横坐标,各列的元素为纵坐标
3)设xy分别是二维矩阵,则plot(x,y)绘出m条曲线。每条曲线的横、纵坐标分别是xy对应的列向量的各元素(exno28t)
exno28t:
x=0:.1:8;


y1=sin(x);


y2=cos(x);


subplot(221)


plot(x,y1)


subplot(222)


plot(x,y1,x,y2)


w=[2 3;3 1;4 6]


subplot(223)


plot(w)


q=[4 6;3 5;1 2;]


subplot(224)


plot(w,q)



4)与plot对应的绘图函数还有以下一些,他们的调用格式相同,坐标刻度不同
   1
plot   双轴线性刻度
   2
Loglog  双轴对数刻度
   3
Semilogx  x轴对数刻度,y轴线性刻度
   4
Semilogy  y轴对数刻度,x轴线性刻度
   5) ployy    
y轴,适合两组数据相差大的数据组(exno29t)


4.二维数据图形的绘图控制
 
1)控制曲线的颜色color,线性line styles,标志markers,基本格式
plot(x,y,'clm')
 1)
颜色   2)线性    3)标志
例如:plot(x,y,'R-square')代表以红色的虚线,数据点上用方型符号的曲线
 
2)控制曲线的坐标轴axis可以参考帮助
      axis normal
正常     grid on(off) 网格
      axis square
长宽比例为1  box on(off) 外围矩形
      axis equal
长宽比例为不变,两刻度一致
      axis equal tight
长宽比例为不变,图紧贴轴
      axis([x1,y1,x2,y2])
控制坐标轴的范围
      axis off
取消坐标轴
(exno31)
exno31

x=0:.1:8


y1=sin(x)


y2=cos(x)


subplot(221)


plot(x,y1,'r-square',x,y2,'b-.*')


box on


grid on


subplot(222)


plot(x,y1,'k:pentagram',x,y2,'b-.*')


axis equal tight


box off


grid off


subplot(223)


plot(y1,y2,'k')


axis equal


axis off


subplot(224)


plot(y1,y2,'b>')


axis on


 


3)曲线图中加入文字标注
  1)Title
给曲线图加标题
  2)Xlable
给曲线图轴加标题
  3)Ylable
给曲线图轴加标题
  4)Zlable
给曲线图轴加标题
  5)Legend
对当前图加图注
  6)Text  
对指定位置加字符串
  7)Ctext 
在鼠标的位置加字符串
注:上述函数的引用中,由\引导的英文可表示不同的意义。如\alpha表示希腊字母a等。(exno32)
exno32:
clear


x=0:.1:8


plot(x,sin(x),x,cos(x))


title('Ö÷Ìâ')


xlabel('\alpha')


ylabel('h^2')


legend('sin','cos')


text(pi/4,sin(pi/4),'\leftarrow sin(pi/4)=0.707')


gtext('string')


 



第三节 3D数据图


1.x,y,z分别是向量
plot3(x,y,z)
绘制一条三维曲线
2.x,y,z
分别是同维矩阵
plot3(x,y,z)
绘制m条三维曲线(按列操作)
3.
三维网状图  mesh
1)一般 mesh      ezmesh(符号函数
)
2)带等高线 meshc  ezmeshc(符号函数)

3)加围裙  meshz
4.
三维曲面图
  surf
1)一般 surf      zsurf(符号函数
)
2)带等高线 surfc  ezsurfc(符号函数)

3)加围裙  surf1
5.
等高线
contour
1)平面上的等高线

  contour  ezcontour
(符号函数)
2)空间上的等高线
  contour3
6.
几个需要注意的问题
1mesh(x)mesh(x,y,z)的区别。前者按x矩阵的脚标作为x-y平面的坐标。后者按x,y,z矩阵的值,x,y,z可以向量或矩阵
2mesh(x,y,z)中和x,y,z分别是向量和矩阵的区别(exno36
exno36:
clear


t=0:pi/50:10*pi


subplot(231)


plot3(t.*sin(t),t.*cos(t),t.^2)


grid on


 


[x,y]=meshgrid([-2:.1:2])


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


subplot(232)


plot3(x,y,z)


box off


grid on


 


subplot(233)


meshz(x,y,z)%加围裙


 


subplot(234)


surf(x,y,z)


 


subplot(235)


contour(x,y,z)


box off


 


subplot(236)


contour3(x,y,z)


axis off


 



7.曲面图的颜色
 
matlab中,涉及到对一个对象作色,必须要有一个颜色映像表。这个表由函数colormap来实现。colormap是一个矩阵,有固定列数为3,行数为N。每行的3个元素分别由0-1的值实现,第一个元素表红色(R)的强度,第二个元素绿色(G)的强度,第三个元素表蓝色(B)的强度。如: 1 1 1表白色 000表黑色,0.50.50.5表橙色,任意组合。颜色矩阵colormap可以自己创造,也可以由MATLAB系统提供。matlab系统的颜色矩阵有(64*3).可以查看colorbar来查看。可以用colormap来设计
   
读一个对象作色时,需根据某一颜色信息数据矩阵中的元素值大小去确定颜色矩阵中的某一行(颜色)。如颜色矩阵有N行,则系统自动将颜色信息数据矩阵的元素从小到大分为N组每一组的元素代表一种颜色。在Surf(x,y,z)的绘图中,颜色矩阵默认为hsv
   
语句surf(x,y,z,c)中,c就是颜色信息数据矩阵,省略时系统默认该矩阵为Z,与该语句配合使用的还有颜色矩阵必须提供。格式:colormap[]

      (exno30t,exno31t,exno37,exno38)
 exno30t:
clear


[x,y,z]=peaks


subplot(221)


surf(x,y,z)


subplot(222)


surf(x,y,z,y)


colorbar



exno31t:
[x,y,z]=peaks
subplot(223)
surf(x,y,z)
subplot(224)
surf(x,y,z,x)
colormap([0 0 0;1 1 1])
colorbar


 



exno37:
k=6
n=2^k-1
theta=pi*(-n:2:n)/n
phi=(pi/2)*(-n:2:n)/n
[theta,phi]=meshgrid(theta,phi)
x=cos(phi).*cos(theta)
x=cos(phi).*sin(theta)
z=sin(phi)
colormap([0 0 0;1 1 1])
c=hadamard(2^k) %
产生随机的二值(1,-1)矩阵
surf(x,y,z)


 



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)