不知道你要哪一种图,你这个函数生成三维图比较好,会有坐标显示变量名称的。如果生成灰度图将以点数为坐标,图中会没有变量名称的,因为灰度图像是没有x、y坐标变量名的,而且坐标原点也不在左下。
[c1,c2]=meshgrid(-4*pi:0.25:4*pi); %生成网格
I=cos(c1).^2+sin(2*c1).*sin(c2-c1);%计算I
figure(1)
mesh(c1,c2,I); %用mesh生成三维图
xlabel('\theta 1');ylabel('\theta 2');zlabel('\itI');
figure(2)
surf(c1,c2,I); %用surf生成三维图
%axis([0 4*pi 0 4*pi -2.5 1])
xlabel('\theta 1');ylabel('\theta 2');zlabel('\itI');
figure(3)
imagesc(I);%使用jet生成64阶灰度图
colormap(jet(64));colorbar;
figure(4)
imagesc(I);%使用gray生成64阶灰度图
colormap(gray(64));colorbar;
图像依次为:
如果硬要有坐标,可以把surf成的图用shading interp去除网格,用axis tight;铺满坐标轴,但得到的图会有漏色现象,那是matlab在作图方面本身不够强大的原因。(话说这图真像放鸡蛋的撑子,俺好多天没吃鸡蛋了,明天补个蛋先)
可以把第四个灰度图转换成圆形的吗
你的意思是立体图形象图1、2的?