从彼此中减去两个trisurf图

时间:2010-10-17 23:07:30

标签: matlab

我有两组数据向量X,Y,Z和X2,Y2,Z2

我目前在不同的图表上使用trisurf绘制它们。即使X Y和X2 Y2不同,我也可以在同一图表上绘制它们。我可以减去表面图吗?

1 个答案:

答案 0 :(得分:2)

是的,您可以在同一个地块上绘制2个三轮草。只需在第一次通话后使用hold on,最后再使用hold off

要从另一个中减去一个trisurf图,我认为你需要将一组X / Y坐标插值到另一个。请尝试使用INTERP2

Z2i = interp2(X2,Y2,Z2,X,Y);
tri = delaunay(X,Y);
trisurf(tri,X,Y,Z) % first plot
hold on
trisurf(tri,X2,Y2,Z2) % second plot
trisurf(tri,X,Y,Z2-Z2i) % difference
hold off

希望如果两组中的x和y数据位于同一区域,它应该有效。

编辑:对meshgrid生成的X和Y使用INTERP2。对于向量以及如何使用TriScatteredInterp,请参阅其他SO问题:How Do I Generate a 3-D Surface From Isolines?