- 积分
- 19
- 注册时间
- 2009-12-25
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2009-12-25 14:37:47
|
显示全部楼层
来自 四川成都
对12#楼问题的分析:
pcolor(x,y,c)
要求:1)C必须是矩阵,不能是向量或标量。这是由于C在此函数中的作用是担当对当前计算机使用色的一个索引角色,即以C中的最大值对应当前计算机显示器所能显示的所有颜色中的最大ASCII码对应的颜色,以C中最小值对应最小ASCII码对应的颜色。然后采用线性插值的方法对位于C中最大值和最小值之间的值进行颜色平分。例如若C=[1,3;4,5],而当前显示器颜色为256色的话,那么1就代表最低色,5代表最高色,用1+i×(5-1)/256(i=1,2,3,…,256)的值代表第i色,这样3,4都有对应的颜色。根据Matlab中的帮助信息Remarks中的“Therefore, C(i,j) determines the color of the cell in the ith row and jth column. The last row and column of C are not used.”,可见,C中的最后一行和最后一列是不被用到的,因此,C只能是矩阵而不能是向量或者标量。
2)x,y:向量或者矩阵,决定了二维图形中的节点(或者网格划分)。当x(行向量),y(列向量)为向量时,它们的元素个数必须与C的列数和行数相对应;当x,y为矩阵时,二者和C必须同维(同形)。
根据Matlab的帮助信息,整个函数的作用是根据(x,y)值将平面进行划分:当x,y为矩阵时,矩阵完整写法中相邻的4个点被作为一个块域;当x,y为向量时,x决定了列划分的位置,而y决定了行划分的位置,这样平面图中的相邻4个点也被做为一个块域。因此整个图形的块域将形成一个行数比y行数小1,列数比x列数小1的块集,各个块就与C去除最后一行、最后一列后的子矩阵相对应,而去除最后一行、最后一列后的矩阵元素值将决定对块域的填充颜色。
从上面的分析可以看出,pcolor是不可能像plot函数一样用指定颜色的指定点型在图上标出一个点,因为pcolor只是对网格划分后的各个网格进行的一种差异填色操作。而且,pcolor函数也不像12楼所说的是以极坐标系统形式进行绘图,而是一种网格划分的方法,大家可以试一下用x=[1,2];y=[0,3]’;c=[1,2;3,4]来使用一下该函数,可以发现在图形窗口中出现的是一块用蓝色的矩形空间(当c=[2,1;3,4]时为青色),而非一个扇形空间。至于12#楼所说的画出一个极坐标样式的图形是由于在它的X,Y生成语句中已经包含了极坐标转化为直角坐标的观念。 |
评分
-
1
查看全部评分
-
|