quiver

График полей градиента или скоростей

Синтаксис

quiver(x,y,u,v)
quiver(u,v)
quiver(...,scale)
quiver(...,LineSpec)
quiver(...,LineSpec,'filled')
quiver(...,'PropertyName',PropertyValue,...)
quiver(ax,...)
h = quiver(...)

Описание

График полей градиента отображает векторы скорости как стрелы с компонентами (u,v) в точках (x,y).

Например, первый вектор задан компонентами u(1), v(1) и отображен в точке x(1), y(1).

quiver(x,y,u,v) векторы графиков как стрелы в координатах заданы в каждой соответствующей паре элементов в x и y. Матрицы xYU, и v должен все быть одного размера и содержать соответствующие компоненты положения и скорости. Однако x и y могут также быть векторы, как объяснено в следующем разделе. По умолчанию стрелы масштабируются к только не, перекрываются, но можно масштабировать их, чтобы быть более длинными или короче, если вы хотите.

quiver(u,v) чертит векторы, заданные u и v в равномерно распределенных точках в x-y плоскости.

quiver(...,scale) автоматически масштабирует стрелы, чтобы соответствовать в сетке и затем расширяет их факторным scaleшкала =2 удваивает их относительную длину и scale =0.5 половины длина. Используйте scale = 0 построить векторы скорости без автоматического масштабирования. Можно также настроить длину стрел после того, как они чертились путем выбора инструмента Plot Edit, выбора объекта дрожи, открытия Property Editor и корректировки ползунка Длины.

quiver(...,LineSpec) задает стиль линии, символ маркера и цвет с помощью любого допустимого LineSpecquiver чертит маркеры в начале координат векторов.

quiver(...,LineSpec,'filled') маркеры заливок заданы LineSpec.

quiver(...,'PropertyName',PropertyValue,...) указывает, что пары имени свойства и значения свойства для дрожи возражают, что функция создает.

quiver(ax,...) графики в оси ax вместо в текущую систему координат (gca).

h = quiver(...) возвращает Quiver объект.

Расширение x-и y-координаты

MATLAB® расширяет x и y если они не матрицы. Это расширение эквивалентно вызову meshgrid сгенерировать матрицы от векторов:

[x,y] = meshgrid(x,y);
quiver(x,y,u,v)

В этом случае следующее должно быть верным:

length(x) = n и length(y) = m, где [m,n] = size(u) = size(v).

Векторный x соответствует столбцам u и v, и векторный y соответствует строкам u и v.

Примеры

свернуть все

Используйте quiver отобразить стрелу в каждой точке данных в x и y таким образом, что направление стрелки и длина представляют соответствующие значения в u и v.

[x,y] = meshgrid(0:0.2:2,0:0.2:2);
u = cos(x).*y;
v = sin(x).*y;

figure
quiver(x,y,u,v)

Постройте градиент функции z=xe-x2-y2.

[X,Y] = meshgrid(-2:.2:2);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z,.2,.2);

figure
contour(X,Y,Z)
hold on
quiver(X,Y,DX,DY)
hold off

Расширенные возможности

Представлено до R2006a