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 0, такие как quiver(X,Y,U,V,0), затем автоматическое масштабирование отключено.

пример

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

По умолчанию, 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)

Постройте градиент и контуры функции 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

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

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

Создайте сетку 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')

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

[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 = '.';

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

свернуть все

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' красная пунктирная линия с круговыми маркерами

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

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

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

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

Задайте дополнительные разделенные запятой пары 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