Matlab imagesc绘图

Matlab imagesc绘图,matlab,Matlab,我有数据生成一个图像,如下图所示 我如何将其转换为图2中的一个-转换图像 请注意,第一个图像和第二个图像是两个完全不相关的不同数据集。我所拥有的是图1中的数据,我希望结果与第二幅图中的数据相似。您可以进行如下操作: N = 100 ; x = linspace(0,2*pi,N)' ; y = sin(x) ; xi = linspace(min(x),max(x),N) ; yi = linspace(min(y)-1,max(y)+1,N) ; [X,Y] = meshgri

我有数据生成一个图像,如下图所示

我如何将其转换为图2中的一个-转换图像


请注意,第一个图像和第二个图像是两个完全不相关的不同数据集。我所拥有的是图1中的数据,我希望结果与第二幅图中的数据相似。

您可以进行如下操作:

N = 100 ; 
x = linspace(0,2*pi,N)' ; 
y = sin(x) ; 

xi = linspace(min(x),max(x),N) ; 
yi = linspace(min(y)-1,max(y)+1,N) ; 
[X,Y] = meshgrid(xi,yi) ; 
Z = zeros(size(X)) ; 
idx = knnsearch([X(:) Y(:)],[x y]) ; 
Z(idx) = 1 ; 
Z(idx+1) = 1 ; 
Z(idx-1) = 1 ; 
pcolor(X,Y,Z)
shading interp
colorbar
colormap(jet)

这似乎不仅仅是改变图像“形状”的问题。您发布的两个图表表示两组不同的数据。第一个是多普勒m/s Vs帧,第二个是多普勒Hz Vs时间。真正的问题是什么?如何在给定数据的情况下制作图表,或者如何处理从第一组到第二组的数据?嗨,il_raffa,为了更好地理解我的问题,我对我的问题进行了编辑。从根本上说,这两个图显示了两种不同形状的数据。最上面的图是线图-数据是一对一维向量{例如y=f(x)}。底图是二维函数{例如z=f(x,y)}的pcolor或surf图。也许您可以将高斯分布(例如)与顶部图中的函数卷积,以生成与底部图类似的二维函数。如果只需要一条粗线条,可以在打印期间设置:plot(x,y,'LineWidth',12)。