如何使用带有非矩形域的 surf() 命令绘制矩阵



我有一个矩阵Z,我想使用surf命令绘制它。 我可以使用 surf 命令很好地绘制它,但我希望 Z 的一部分不会出现在绘图中。 我假设我需要做的是使用符号

surf(X,Y,Z)

其中 X 和 Y 是定义相应 z 值的 (x,y) 坐标的矩阵。 我想知道的是我为Z中不应该绘制的点输入(x,y)坐标,即x和y应该什么都没有。

例如:

Z = 1 5 7
    2 6 0 
    3 0 0
    4 0 0
X = 1 1 1
    2 2 _
    3 _ _
    4 _ _
Y = 1 2 3
    1 2 _
    1 _ _
    1 _ _

空间里会有什么?我不能输入像 0 这样的数字,因为所有值都将转到原点。 如果有更好的方法可以使用,我不必使用 surf()。

将 Z 中您不想绘制的所有值设置为 NaN。例如,如果您不想绘制 Z 的零,则

Z(Z==0)=NaN;

会做这个伎俩。您不需要对 X 和 Y 执行此操作。如果你不想绘制的 Z 集更复杂,你应该以某种方式获取 Z(i,j) 并将其设置为 NaN。

最新更新