【发布时间】:2017-04-22 17:40:45
【问题描述】:
我有一个由下面的代码创建的表面和另一个由完全相同的代码创建的表面。我想看看另一个图中的高度差异。我怎么能做到这一点?已经使用减号运算符进行操作,但这不起作用。
此外,矩阵的大小不同!
感谢您的帮助!
x1 = Cx1;
y1 = Cy1;
z1 = Cz1;
tri1 = delaunay(x1,y1);
fig1 = figure%('units','normalized','outerposition',[0 0 1 1]);
trisurf(tri1,x2,y2,z2)
xlabel('x [mm] ','FontSize',30)
ylabel('y [mm] ','FontSize',30)
zlabel('z [mm] ','FontSize',30)
【问题讨论】:
-
您首先需要定义您希望如何输出差异。例如,您想将一个表面映射到另一个表面,然后进行差异化吗?或者你想要一个保持两者全分辨率的多边形表面?或者,别的什么?
-
感谢您的回答。哦好的。你有什么建议?如果可能的话,我很想学习这两种方式。所以我们可以在这个线程中用一块石头杀死两只鸟:)
-
创建一个新的多边形表面并非易事。但无论您如何操作,您都需要在功能上定义值如何在您的三角形元素中变化。我相信
trisurf函数假设线性变化。然后,您可以计算三角形上任何给定点的值,从而在两个三角剖分之间进行插值。 -
你能举个例子吗?这就是我问的原因:) 我想在单独的图中看到高度的差异。那太棒了!