在 2d 中转换等高线图 space

Translate the contourplot in 2d space

我使用存储在 3D 矩阵中的数据 D。为了可视化它,我绘制了一个切片:

figure
contourslice(D,[],[],[15],10);
view(3);
axis tight

我知道matrix中存储的数据是单周期的周期数据。在这里我需要一个技巧:有了那个切片,我如何将它转换为二维 space 最多几个周期以查看数据的周期性结构?

假设我有一片形状 [A],但我需要:

[A][A][A]
[A][A][A]
[A][A][A]

是否可以在绘图阶段不触及实际数据?

假设您有图像处理工具箱,以这种方式可视化数据的一种简单方法是使用 repmat and montage 函数。

假设您对平铺 D 的第 15 个切片感兴趣:

montage(repmat(D(:,:,15),[1 1 1 9]));

或者,您也可以这样做

imagesc(repmat(D(:,:,15),[3 3]));

这是另一种与使用轴对象复制的图形处理更相关的方法

T=48 % that is a period
[x,y,z] = meshgrid(1:T,1:T,1:T);

% create nine figures with shifted axes
for j1=1:3
    for j2=1:3
        figure;
        contourslice(x+(j1-1)*T,y+(j2-1)*T,z,D,[],[],[15],10);
        a(j1+(j2-1)*3)=copyobj(gca,gcf);
    end;
end;


% combine content of each figure into a single one
figure('name','COMBINED');
axes;
set(gca);

for j=1:length(a)
    copyobj(get(a(j),'children'),gca);    
end;

% close others
close([1:9])