大家好,怎么样才能画出类似于上面这个图的三维图呢,我的x,y坐标都是不一样的,x轴是百分比10%—90%,y轴的取值是0,0.2,0.4,0.6,0.8,然后z坐标是对应的取值,也就是说每个x,y对应一个z值,如下表所示,z轴对应的是矩阵里面的值,不知道该怎么画,谢谢大家指点!!
我的程序如下:但是不知道哪里出问题了,出不来我想要的图。
x=(10:10:90);
y=(0:0.2:0.8);
z=xlsread('resultL3.xls','(四)U(Rt)', 'B3:J7');%矩阵中的数据
[xx yy]=meshgrid(linspace(min(x),max(x),50),linspace(min(y),max(y),50));
zz=interp2(x,y,z,xx,yy);
C=(zz(1:end-1,:)+zz(2:end,:))/2;
C=(C(:,1:end-1)+C(:,2:end))/2;
surfc(xx,yy,zz,C);
set(gca,'XTick',10:10:90,'YTick',0:0.2:0.8,'ZTick',0:0.2:1);
axis([10 90 0 0.8]);
给你举个例子吧,仿照下面把你的数据补充完整就可以了
x = [0.1, 0.2, 0.3, 0.4];
y = [0, 0.2, 0.4];
z = [0.3543, 0.3487, 0.3361, 0.3152;
0.3497, 0.3318, 0.3107, 0.3092;
0.3342, 0.3088, 0.2895, 0.2767 ];
surf(x,y,z);
set(gca,'XTick',x);
set(gca,'XTickLabel',{'10%', '20%', '30%', '40%'});
set(gca,'YTick',y);
结果如下图:
请采纳