绘制有限元法结果的三维图

时间:2017-10-25 08:16:31

标签: matlab matlab-figure

我在2D中使用有限元方法并获得以下函数

P(x,y,k),其中x = 1:101,y = 1:101,k = 1:2001。

对于每个离散时间k,我想绘制一个3D图形(x,y,P),所以我使用以下代码:

例如,对于k = 3

  P = zeros(numx,numy,numt);

  for k=1:numt
  for i=2:numx-1
      for j=2:numy-1
          P(i,j,k+1) = P(i,j,k) + 1*(dt/dx^2)*( P(i+1,j,k) - 2*P(i,j,k) + P   (i-1,j,k) ) + 1*(dt/dy^2)*( P(i,j+1,k) - 2*P(i,j,k) + P(i,j-1,k) ); 
      end
  end
  end

  figure(1)
  xx = 1:100;
  yy = 1:100;
  [XX,YY] = meshgrid(xx,yy)
  PP = eval(P(XX,YY,3));
  surf(XX,YY,PP) 

然而,matlab说:“输入参数的未定义函数'eval' 输入'double'。“

如何修复它并绘制3D图形?

0 个答案:

没有答案