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. Например, 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 Properties. Задайте аргументы пары "имя-значение" после всех других входных параметров. Аргументы пары "имя-значение" применяются ко всем стрелкам в графике полей градиента.

пример

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 object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 objects. Axes object 1 with title Left Plot contains an object of type quiver. Axes object 2 with title Right Plot contains an object of type 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 object. The axes object 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 матрицы, затем XYU, и V должен быть одного размера.

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

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

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

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

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

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

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

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

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

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

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

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

Стиль линииОписаниеПолучившаяся линия
'-'Сплошная линия

Sample of solid line

'--'Пунктирная линия

Sample of dashed line

':'Пунктирная линия

Sample of dotted line

'-.'Штрих-пунктирная линия

Sample of dash-dotted line, with alternating dashes and dots

МаркерОписаниеПолучившийся маркер
'o'Круг

Sample of circle marker

'+'Знак «плюс»

Sample of plus sign marker

'*'Звездочка

Sample of asterisk marker

'.'Точка

Sample of point marker

'x'Крест

Sample of cross marker

'_'Горизонтальная линия

Sample of horizontal line marker

'|'Вертикальная линия

Sample of vertical line marker

's'Квадрат

Sample of square marker

'd'Ромб

Sample of diamond line marker

'^'Треугольник, направленный вверх

Sample of upward-pointing triangle marker

'v'Нисходящий треугольник

Sample of downward-pointing triangle marker

'>'Треугольник, указывающий вправо

Sample of right-pointing triangle marker

'<'Треугольник, указывающий влево

Sample of left-pointing triangle marker

'p'Пентаграмма

Sample of pentagram marker

'h'Гексаграмма

Sample of hexagram marker

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

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

Определение scale совпадает с установкой AutoScaleFactor свойство объекта дрожи. Например, определение scale как 2 удваивает длину стрел. Определение scale как 0.5 половины длина стрел.

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

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

Аргументы name-value

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

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

Примечание

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

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

Пример: 0.75

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

  • 'on' — Отобразите векторы с наконечниками стрелки.

  • 'off' — Отобразите векторы без наконечников стрелки.

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

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

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

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

Это свойство оказывает влияние только если AutoScale свойство установлено в 'on'.

Пример 2

Советы

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

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

Смотрите также

Функции

Свойства

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте