使用Matlab函数`trisurf`来显示结果

时间:2013-02-27 22:43:53

标签: debugging matlab plot numerical-methods

我从Gauss-Siedel(求解2D泊松方程)得到了一个解,u,我想用trisurf绘制它。但是,我不能理解trisurf是如何工作的(我试过玩它,但没有运气)。我还看了一下Matlab文档,但我不明白它是什么峰。目前,我有类似的东西(但它不起作用):

ss = a:h:b; %subspace
[X,Y] = meshgrid(ss,ss);
tri = delaunay(X,Y);
Z = peaks(ss);
trisurf(tri,X,Y,Z);

我插入解决方案值(向量u)?在此上下文中peaks必须采用哪些类型的值?

详细说明:

  • a =下限
  • b =上限
  • h =步长
  • u =解决方案 来自Gauss-Siedel。它的大小取决于我的点数 评估网格。解决方案应该收敛,因为它是通过运行i多次迭代获得的。

1 个答案:

答案 0 :(得分:1)

首先,让我告诉你whos

的输出
  triangle_obj       1x1               540  TriScatteredInterp              
  u                 15x1               120  double                          
  X                 15x1               120  double                          
  Y                 15x1               120  double   

尝试以下方法。我想你可能会发现这适合你(假设你的所有点都没有共线)。由于TriScatteredInterp中的[X,Y]参数混淆,您可能会感到困惑。

triangle_obj = TriScatteredInterp([X, Y], u);
figure
trisurf(triangle_obj, X, Y, u);