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,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;
end
end
set(gca,'ydir','normal')
figure;
subplot(2,2,1);
%生成的图像的水平轴对应detalgy=-0.2:0.01:0.2;
%生成的图像的竖直轴对应detalgx=-0.1:0.01:0.1
imagesc(detalgy,detalgx,pho1_reduce1);
用image系列绘图的坐标和普通绘图命令得到的坐标在纵轴方向是相反的,可以用axis命令手动设置坐标格式。
axis xy就是普通的坐标格式。
axis ij就是image系列的坐标格式。
imagesc
缩放数据并显示图像对象。
使用方法编辑本段回目录 imagesc函数放大图像数据以覆盖当前色图的整个范围,并显示图片。
1.imagesc(C)
将输入变量C显示为图像。C中的每一个元素对应着图像中的一个矩形局域。C中的元素值的对应与色图中的索引,色图决定了每一个补片的颜色。
2.imagesc(x,y,C)
将输入变量C显示为图像,并且使用x和y变量确定x轴和y轴的边界。如果x(1) > x(2) 或 y(1) > y(2),图像是左右或上下反转的。 《Simulink与信号处理》
3.imagesc(...,clims)
归一化C的值在clims所确定的范围内,并将C显示为图片。clims是两元素的向量,用来限定C中的数据的范围,这些值映射到当前色图的整个范围。 book.iLoveMatlab.cn
4.h = imagesc(...)
返回图像对象的句柄。
【注】
x 和 y 对C中的元素没有影响,它们仅仅影响坐标轴的标注。如果length(x) > 2 或 length(y) > 2, imagesc函数会忽略向量中除第一个和最后一个元素之外的元素的值。