在MATLAB中绘制曲面时缺少行/列

时间:2018-03-08 11:41:52

标签: matlab matlab-figure

查看以下MATLAB代码和生成的曲面图。也许我犯了一个愚蠢的错误,但实际上有一行和一列缺失。变量z是10x10矩阵,但该图仅显示9x9个元素。如何绘制整个10x10矩阵?

z = randn(10,10);
t = 1:10;
x = 1:10;
figure;
surf(t,x,abs(z),'EdgeColor','none');   
axis xy; axis tight; colormap(jet); view(0,90);

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为这是对冲浪的误解,即表面情节是什么:

您似乎想要的是实际图像而不是曲面图,其中前者像素对应于基础值。你在冲浪中得到的是一定高度的线条(在你的情况下是abs(z))的图形表示,即在你想要的图像像素之间。请注意,9x9图中有10x10行。

您可以通过视觉实现所需的内容,例如由:

z = randn(10,10);
t = 1:10;
x = 1:10;

figure
imshow(abs(z),[]), 
axis on, colormap(gca,jet)
colorbar

希望这有帮助!