MATLAB的images用法

来源:互联网 发布:新百伦淘宝店 编辑:程序博客网 时间:2024/05/18 13:41
imagesc(A) 将矩阵A中的元素数值按大小转化为不同颜色,并在坐标轴对应位置处以这种颜色染色
imagesc(x,y,A) x,y决定坐标范围,x,y应是两个二维向量,即x=[x1 x2],y=[y1 y2],matlab会在[x1,x2]*[y1,,y2]的范围内染色。 如果x或y超过两维,则坐标范围为[x(1),x(end)]*[y(1),y(end)]
 
 
 
matlab 中imagesc的用法
imagesc(x,y,R);如何找到R的值所对应的行值和列值,就是x和y所对应的值

这个命令其实是整个的矩阵按照imagesc(x,y,C) ,其中的xy(行和列)坐标系画出来的,至于坐标是如何标注的,这要看你如何定义你的矩阵了~

一般程序是有两个for循环做成的矩阵时,格式是内循环对应的是Y坐标,外循环生成的数据则是X坐标!



例如下面的程序:

detalgx=-0.1:0.01:0.1;detalgy=-0.2:0.01:0.2;for X=1:1:length(detalgx)Dx=detalgx(:,X); for Y=1:1:length(detalgy)Dy=detalgy(:,Y);% M=1*(1+Dy);g=1;N=3;M=100;v1=v*(1+Dx);v2=v*(1+Dy);v3=v;g1=gm;g2=gm;g3=gm;alpha=(v*sqrt(omega1^2-omega^2+N*omega^2))/sqrt(N*v^2+M*g^2);t=pi/alpha;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[pho_t]=Fidelityexpfig3(t,g1,g2,g3,omega1,omega2,omega3,v1,v2,v3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%C1_t=sqrt(pho_t(1,1));pho1_reduce1(X,Y)=(cos(theta/2))^4+pho_t(1,1)*(sin(theta/2))^4+...(C1_t+conj(C1_t)+pho_t(3,3)+pho_t(4,4)+pho_t(5,5)+...pho_t(6,6)+pho_t(7,7)+pho_t(8,8)+pho_t(9,9)+...pho_t(10,10))*cos(theta/2)^2*sin(theta/2)^2;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%C7_t=pho_t(7,1)/sqrt(pho_t(1,1));pho2_reduce1(X,Y)=(cos(theta/2))^4+pho_t(7,7)*(sin(theta/2))^4+...(C7_t+conj(C7_t)+pho_t(1,1)+pho_t(2,2)+pho_t(3,3)+...pho_t(4,4)+pho_t(5,5)+pho_t(8,8)+pho_t(9,9)+...pho_t(10,10))*cos(theta/2)^2*sin(theta/2)^2;endendset(gca,'ydir','normal')figure;subplot(2,2,1);%生成的图像的水平轴对应detalgy=-0.2:0.01:0.2;%生成的图像的竖直轴对应detalgx=-0.1:0.01:0.1imagesc(detalgy,detalgx,pho1_reduce1);




用image系列绘图的坐标和普通绘图命令得到的坐标在纵轴方向是相反的,可以用axis命令手动设置坐标格式。
axis xy就是普通的坐标格式。
axis ij就是image系列的坐标格式。

1.imagesc(C)
将输入变量C显示为图像。C中的每一个元素对应着图像中的一个矩形局域。C中的元素值的对应与色图中的索引,色图决定了每一个补片的颜色。 
2.imagesc(x,y,C) 
将输入变量C显示为图像,并且使用x和y变量确定x轴和y轴的边界。如果x(1) > x(2) 或 y(1) > y(2),图像是左右或上下反转的。
3.imagesc(...,clims)
归一化C的值在clims所确定的范围内,并将C显示为图片。clims是两元素的向量,用来限定C中的数据的范围,这些值映射到当前色图的整个范围。 book.iLoveMatlab.cn 
4.h = imagesc(...)
返回图像对象的句柄。
【注】
x 和 y 对C中的元素没有影响,它们仅仅影响坐标轴的标注。如果length(x) > 2 或 length(y) > 2, imagesc函数会忽略向量中除第一个和最后一个元素之外的元素的值。