如何在带有循环的matlab中制作网格

时间:2017-04-05 16:56:41

标签: matlab plot matlab-figure

我想在没有Meshgrid的matlab中制作一个网格(Uniform Mapping)。

我用meshgrid制作网格,但现在我只想用循环或任何第二种方法(没有网格)来制作它

这是我使用meshgrid的代码:

  figure(6)
  [X,Y] = meshgrid(-1:0.1:1, -1:0.1:1)
  plot(X,Y,'k-')
  hold on
  plot(Y,X,'k-');

1 个答案:

答案 0 :(得分:1)

使用repmat,或乘以ones向量,以获得更多基本功能:

x = -1:0.1:1;
y = -1:0.1:1;
% with repmat
X1 = repmat(x(:)',[numel(y),1]);
Y1 = repmat(y(:),[1,numel(x)]);
% multiply with ones
X2 = ones(numel(y),1)*x(:)';
Y2 = y(:)*ones(1,numel(x));
% meshgrid
[X3,Y3] = meshgrid(x, y);
isequal(X1,X2,X3) && isequal(Y1,Y2,Y3) % true

plot(X1,Y1,'k');
hold on
plot(Y1,X1,'k');