1

在 matlab 中,我需要创建一个函数的网格(冲浪)。然后我需要显示网格轮廓线。最后我需要用箭头显示轮廓线的方向。

到目前为止我有这个:

mesh(T); //T is the matrix [150x200] created by the function, this present me the mesh
contour(T);//this present me the contour lines
[px py]=gradient(T);//this for calculate gradient of T (px is[150x200] and also py)
contour(T), hold on, quiver(px,py), hold off //quiver is to make arrows

这项工作很好,我可以看到轮廓线,但我的问题是箭头太拥挤而且我看到的不是很清楚。我需要稀释 px 和 py 但我不知道怎么做。我不知道这是我需要在渐变函数之前还是之后做的事情。我需要 px 和 py 保持在 [150x200] 上,并且可能将它们中的一些值替换为零,谢谢大家!

4

1 回答 1

1

我会通过仅采样其中的一个子集来“稀释”箭头 (px,py)。例如:

N=25; % or usea different # of points if needed
range1=unique(round(linspace(1,size(T,1),N)));
range2=unique(round(linspace(1,size(T,1),N)));
[rx ry]=meshgrid(range1,range2);
quiver(rx,ry,px(range1,range2),py(range1,range2)); %, hold off
于 2013-01-08T15:53:09.127 回答