伪 4D 图

一个 (m x n) 基质可以是通过使用表面 representes 冲浪 ;

表面的颜色自动设置为 (m x n) 矩阵中值的函数。如果未指定色彩映射 ,则应用默认值。

一个彩条可以被添加到显示当前颜色映射和表示数据值的映射到的颜色表。

在以下示例中,z (m x n) 矩阵由函数生成:

z=x.*y.*sin(x).*cos(y);

超过间隔时间 4。可以使用 meshgrid 函数生成 xy 值,并且表面呈现如下:

% Create a Figure
figure
% Generate the `x` and `y` values in the interval `[-pi,pi]`
[x,y] = meshgrid([-pi:.2:pi],[-pi:.2:pi]);
% Evaluate the function over the selected interval
z=x.*y.*sin(x).*cos(y);
% Use surf to plot the surface
S=surf(x,y,z);
xlabel('X Axis');
ylabel('Y Axis');
zlabel('Z Axis');
grid minor
colormap('hot')
colorbar

https://i.stack.imgur.com/rB6p6.gif

图 1

现在情况可能是附加信息与 z 矩阵的值相关联,并且它们存储在另一个 (m x n) 矩阵中

可以通过修改曲面的着色方式在曲线上添加这些附加信息。

这将允许具有 4D 图:对于由第一 (m x n) 矩阵生成的表面的 3D 表示,第四维将由包含在第二 (m x n) 矩阵中的数据表示。

可以通过使用 4 输入调用 surf 来创建这样的情节:

surf(x,y,z,C)

其中 C 参数是第二个矩阵(必须与 z 的大小相同),并用于定义曲面的颜色。

在以下示例中,C 矩阵由函数生成:

C=10*sin(0.5*(x.^2.+y.^2))*33;

超过间隔时间 15

C 生成的表面是

https://i.stack.imgur.com/OVJPA.gif

图 2

现在我们可以通过四个输入调用 surf

figure
surf(x,y,z,C)
% shading interp
xlabel('X Axis');
ylabel('Y Axis');
zlabel('Z Axis');
grid minor
colormap('hot')
colorbar

https://i.stack.imgur.com/ncoNo.gif

图 3

比较图 1 和图 3,我们可以注意到:

  • 表面的形状对应于 z 值(第一个 (m x n) 矩阵)
  • 表面的颜色(及其范围,由颜色条给出)对应于 C 值(第一个 (m x n) 矩阵)

https://i.stack.imgur.com/Oklwt.gif

图 4

当然,可以在图中交换 zC,使其具有 C 矩阵给出的表面形状和 z 矩阵给出的颜色:

figure
surf(x,y,C,z)
% shading interp
xlabel('X Axis');
ylabel('Y Axis');
zlabel('Z Axis');
grid minor
colormap('hot')
colorbar

并将图 2 与图 4 进行比较

https://i.stack.imgur.com/9RmkF.gif