quiver

Квивер или векторный график

  • Cartesian grid with plotted arrows

Описание

пример

quiver(X,Y,U,V) графики со стрелами с направленными компонентами U и V в Декартовых координатах, заданных X и Y. Для примера первая стрела берёт начало от точки X(1) и Y(1), простирается горизонтально согласно U(1), и простирается вертикально согласно V(1). По умолчанию, quiver функция масштабирует длины стрел так, чтобы они не перекрывались.

quiver(U,V) графики со стрелами с направленными компонентами, заданными U и V в одинаковых точках.

  • Если U и V являются векторами, тогда x-координаты стрел варьируются от 1 до количества элементов в U и Vи все y-координаты равны 1.

  • Если U и V являются матрицами, тогда x-координаты стрел варьируются от 1 до количества столбцов в U и V, и y-координаты стрел варьируются от 1 до количества строк в U и V.

пример

quiver(___,scale) настраивает длину стрел:

  • Когда scale является положительным числом, quiver функция автоматически настраивает длины стрел так, чтобы они не перекрывались, затем растягивает их в множитель scale. Для примера, a scale 2 удваивает длину стрел, и scale 0,5 раза меньше длины стрел.

  • Когда scale является 'off' или 0, таких как quiver(X,Y,U,V,'off'), после чего автоматическое масштабирование отключается.

пример

quiver(___,LineSpec) задает стиль линии, цвет и маркер. Маркеры появляются в точках, заданных X и Y. Если вы задаете маркер используя LineSpec, затем quiver не отображает стрелки. Чтобы задать маркер и отобразить стрелки, установите Marker вместо этого свойство.

quiver(___,LineSpec,'filled') заполняет маркеры, заданные как LineSpec.

quiver(___,Name,Value) задает свойства quiver, используя один или несколько аргументы пары "имя-значение". Список свойств см. в разделе Свойства Quiver. Задайте аргументы пары "имя-значение" после всех других входных параметров. Аргументы пары "имя-значение" применяются ко всем стрелам на графике полей градиента.

пример

quiver(ax,___) создает график полей градиента в осях, заданной как ax вместо текущих систем координат (gca). Аргумент ax может предшествовать любой комбинации входных аргументов в предыдущих синтаксисах.

пример

q = quiver(___) возвращает Quiver объект. Этот объект полезен для управления свойствами графика полей градиента после его создания.

Примеры

свернуть все

Загрузка выборочных данных, которая представляет воздушные течения над Северной Америкой. В данном примере выберите подмножество данных.

load('wind','x','y','u','v')
X = x(11:22,11:22,1);
Y = y(11:22,11:22,1);
U = u(11:22,11:22,1);
V = v(11:22,11:22,1);

Создайте график полей градиента выбранного подмножества. Векторы X и Y представление местоположения основы каждой стрелы, и U и V представление направленных компонентов каждой стрелы. По умолчанию в quiver функция сокращает стрелы так, чтобы они не перекрывались. Функции axis equal для использования одинаковых длин модулей данных вдоль каждой оси. Это заставляет стрелы указывать в правильном направлении.

quiver(X,Y,U,V)
axis equal

Figure contains an axes. The axes contains an object of type quiver.

По умолчанию в quiver функция сокращает стрелы, чтобы они не перекрывались. Отключите автоматическое масштабирование, чтобы длины стрел определялись полностью U и V путем установки scale аргумент в 0.

Например, создайте сетку X и Y значения с использованием meshgrid функция. Задайте компоненты направления, используя эти значения. Затем создайте график полей градиента без автоматического масштабирования.

[X,Y] = meshgrid(0:6,0:6);
U = 0.25*X;
V = 0.5*Y;
quiver(X,Y,U,V,0)

Figure contains an axes. The axes contains an object of type quiver.

Постройте график градиента и контуров функции z=xe-x2-y2. Используйте quiver функция для построения графика градиента и contour функция для построения графика контуров.

Во-первых, создайте сетку значений x - и y - с равными интервалами. Используйте их, чтобы вычислить z. Затем найдите градиент z путем определения интервала между точками.

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

Отобразите векторы градиента как график полей градиента. Затем отобразите контурные линии в тех же осях. Отрегулируйте отображение так, чтобы векторы градиента отображались перпендикулярно контурным линиям путем вызова axis equal.

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

Figure contains an axes. The axes contains 2 objects of type quiver, contour.

Создайте график полей градиента и укажите цвет для стрел.

[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi);
U = sin(Y);
V = cos(X);
quiver(X,Y,U,V,'r')

Figure contains an axes. The axes contains an object of type quiver.

Создайте сетку X и Y значения и два набора U и V направленные компоненты.

[X,Y] = meshgrid(0:pi/8:pi,-pi:pi/8:pi);
U1 = sin(X);
V1 = cos(Y);
U2 = sin(Y);
V2 = cos(X); 

Создайте мозаичное размещение графиков с двумя осями, ax1 и ax2. Добавьте график полей градиента и заголовок к каждой оси. (Перед R2019b используйте subplot вместо tiledlayout и nexttile.)

tiledlayout(1,2)

ax1 = nexttile;
quiver(ax1,X,Y,U1,V1)
axis equal
title(ax1,'Left Plot')

ax2 = nexttile;
quiver(ax2,X,Y,U2,V2)
axis equal
title(ax2,'Right Plot')

Figure contains 2 axes. Axes 1 with title Left Plot contains an object of type quiver. Axes 2 with title Right Plot contains an object of type quiver.

Создайте график полей градиента и верните объект quiver. Затем удалите стрелки и добавьте маркеры точек в основу каждой стрелы.

[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi);
U = sin(Y);
V = cos(X);

q = quiver(X,Y,U,V);
q.ShowArrowHead = 'off';
q.Marker = '.';

Figure contains an axes. The axes contains an object of type quiver.

Входные параметры

свернуть все

x-координаты основ стрел, заданные как скаляр, вектор или матрица.

Если X и Y являются векторами и U и V являются матрицами, тогда quiver расширяет X и Y в матрицы. В этом случае size(U) и size(V) должен равняться [length(Y) length(X)]. Для получения дополнительной информации о расширении векторов в матрицы, см. meshgrid.

Если X и Y матрицы, тогда X, Y, U, и V должен быть одинаковым размером.

y-координаты основ стрел, заданные как скаляр, вектор или матрица.

Если X и Y являются векторами и U и V являются матрицами, тогда quiver расширяет X и Y в матрицы. В этом случае size(U) и size(V) должен равняться [length(Y) length(X)]. Для получения дополнительной информации о расширении векторов в матрицы, см. meshgrid.

Если X и Y матрицы, тогда X, Y, U, и V должен быть одинаковым размером.

x-компоненты стрел, заданные как скаляр, вектор или матрица.

Если X и Y являются векторами, тогда size(U) и size(V) должен равняться [length(Y) length(X)].

Если X и Y матрицы, тогда X, Y, U, и V должен быть одинаковым размером.

y-компоненты стрел, заданные как скаляр, вектор или матрица.

Если X и Y являются векторами, тогда size(U) и size(V) должен равняться [length(Y) length(X)].

Если X и Y матрицы, тогда X, Y, U, и V должен быть одинаковым размером.

Стиль линии, цвет и маркер задается как вектор символов или строка , содержащая символы. Символы могут появиться в любом порядке. Вам не нужно задавать все три характеристики (стиль линии, маркер и цвет).

Если вы задаете маркер используя LineSpec, затем quiver не отображает стрелки. Чтобы задать маркер и отобразить стрелки, установите Marker вместо этого свойство.

Пример: '--or' - красная штриховая линия с маркерами кругов

Стиль линииОписание
-Сплошная линия
--Штриховая линия
:Пунктирная линия
-.Штрих-точка линия
МаркерОписание
'o'Круг
'+'Плюс знак
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
's'Квадрат
'd'Алмаз
'^'Направленный вверх треугольник
'v'Нисходящий треугольник
'>'Треугольник , указывающий вправо
'<'Треугольник , указывающий влево
'p'Пентаграмма
'h'Hexagram
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Коэффициент масштабирования стрелы, заданный как положительное число или 'off'. По умолчанию, quiver функция автоматически масштабирует стрелы так, чтобы они не перекрывались. quiver функция применяет коэффициент масштабирования после автоматического масштабирования стрел.

Определение scale то же самое, что и установка AutoScaleFactor свойство объекта quiver. Для примера укажите scale как 2 удваивает длину стрел. Определение scale как 0.5 в два раза меньше длины стрел.

Чтобы отключить автоматическое масштабирование, задайте scale как 'off' или 0. Когда вы задаете одно из этих значений, AutoScale свойство объекта quiver установлено в 'off' и длина стрелы определяется полностью U и V.

Целевые оси, заданные как Axes объект. Если вы не задаете оси, то quiver функция использует текущие системы координат.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Color','r','LineWidth',1

Примечание

Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства Quiver.

Ширина стрелы и головы, заданная как скаляр числовое значение, больше нуля в модули точек. Одна точка равна 1/72 дюйм. Значение по умолчанию 0.5 точка.

Пример: 0.75

Отображение стрелки, заданное как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • 'on' - отображение векторов со стрелками.

  • 'off' - Отображать векторы без стрелок.

Автоматическое масштабирование длины стрелы, заданное как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • 'on' - Масштабируйте длину стрелки так, чтобы она совпадала с данными координат, заданными сеткой, и стрелами шкалы, чтобы они не перекрывались. The quiver или quiver3 затем функция применяет AutoScaleFactor к длине стрелы.

  • 'off' - Не масштабируйте длины стрелок.

Масштабный коэффициент, заданный как скаляр. Значение 2 удваивает длину стрел. Значение 0.5 в два раза меньше длины стрел.

Это свойство имеет эффект только, если AutoScale для свойства задано значение 'on'.

Пример: 2

Совет

Чтобы создать график полей градиента с помощью полярных координат, сначала преобразуйте их в Декартовы координаты с помощью pol2cart функция.

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

См. также

Функции

Свойства

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