plot::VectorField2d

2D векторное поле

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

plot::VectorField2d([v1, v2], x = xmin .. xmax, y = ymin .. ymax, <a = amin .. amax>, options)
plot::VectorField2d(v1, v2, x = xmin .. xmax, y = ymin .. ymax, <a = amin .. amax>, options)

Описание

plot::VectorField2d([v_1, v_2], x = `x_{min}`..`x_{max}`, y = `y_{min}`..`y_{max}`) представляет график векторного поля, заданного с (x, y) ∈ [x m in, x m ax] × [y m in, y m ax].

Векторное поле задано функцией. plot::VectorField2d отображает векторное поле путем размещения стрел равномерно стрелкой в (x, y) указывающий в направлении f (x, y).

Длина стрел зависит от |f (x, y) | и установка атрибута ArrowLength: По умолчанию длины стрелы пропорциональны величине f, но могут собираться быть фиксированной длины или масштабироваться логарифмически.

Плотностью помещенных стрел можно управлять с атрибутами XMesh, YMesh, и Mesh. Смотрите примеры ниже.

Атрибуты

АтрибутЦельЗначение по умолчанию
AffectViewingBoxвлияние объектов на ViewingBox из сценыTRUE
AntiAliasedсглаженные линии и точки?TRUE
ArrowLengthмасштабирование стрелок в векторном полеProportional
Colorосновной цветRGB::Blue
Framesколичество систем координат в анимации50
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?FALSE
LineColorцвет линийRGB::Blue
LineWidthширина линий0.35
LineColor2цвет линийRGB::DeepPink
LineColorTypeтипы окраски линииFlat
LineColorFunctionфункциональная окраска линии 
LineColorDirectionнаправление цветовых переходов на линиях[0, 1]
LineColorDirectionXx-компонент направления цветовых переходов на линиях0
LineColorDirectionYy-компонент направления цветовых переходов на линиях1
Meshколичество точек выборки[11, 11]
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
TimeEndвремя окончания анимации10.0
TimeBeginвремя начала анимации0.0
TimeRangeоперативный промежуток анимации0.0.. 10.0
TipAngleвводный угол наконечников стрелки0.6283185307
TipStyleстиль презентации наконечников стрелкиOpen
TipLengthдлина наконечников стрелки1.5
Titleобъектный заголовок 
TitleFontшрифт объектных заголовков[" sans-serif ", 11]
TitlePositionположение объектных заголовков 
TitleAlignmentвыравнивание по горизонтали заголовков w.r.t. их координатыCenter
TitlePositionXположение объектных заголовков, x компонент 
TitlePositionYположение объектных заголовков, y компонент 
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE
XFunctionфункция для x значений 
XMaxокончательное значение параметра “x” 
XMeshколичество точек выборки для параметра “x”11
XMinначальное значение параметра “x” 
XNameимя параметра “x” 
XRangeобласть значений параметра “x” 
YFunctionфункция для y значений 
YMaxокончательное значение параметра “y” 
YMeshколичество точек выборки для параметра “y”11
YMinначальное значение параметра “y” 
YNameимя параметра “y” 
YRangeобласть значений параметра “y” 

Примеры

Пример 1

Мы демонстрируем график векторного поля v (x, y) = (1, sin (x) + cos (y)):

field := plot::VectorField2d([1, sin(x) + cos(y)], 
                             x = 0..6, y = 0..2.5,
                             Mesh = [31, 26]):

Это - поле направлений, сопоставленное с одой. Мы вставляем кривые, представляющие числовые решения этой оды в этот график. Мы используем numeric::odesolve2 вычислить числовые решения для начальных значений y (0) = 0.4, y (0.5) = 1.5, и y (1) = 1.2:

f := (x, y) -> [sin(x) + cos(y[1])]:
solution1 := numeric::odesolve2(f, 0, [0.4]):
curve1 := plot::Function2d(solution1(x)[1], x = 0 .. 6, 
                           LineColor = RGB::Blue):
solution2 := numeric::odesolve2(f, 0.5, [1.5]):
curve2 := plot::Function2d(solution2(x)[1], x = 0.5 .. 6, 
                           LineColor = RGB::Black):
solution3 := numeric::odesolve2(f, 1, [1.2]):
curve3 := plot::Function2d(solution3(x)[1], x = 1 .. 6, 
                           LineColor = RGB::GreenDark):

Мы строим три объекта в одной графической сцене:

plot(field, curve1, curve2, curve3, GridVisible = TRUE):

delete field, curve1, curve2, curve3:

Пример 2

Примите, что вы хотите построить электростатическое потенциальное поле. Следующая стандартная программа генерирует необходимую формулу в формате, принятом plot::VectorField2d:

potentialE := 
  proc(l)
    local p, x0, y0, f0, fx, fy, dist;
  begin
    fx := 0; fy := 0;
    for p in [args()] do
      [x0, y0, f0] := p;
      dist := sqrt((x-x0)^2 + (y-y0)^2);
      fx := fx + f0*(x-x0)/dist;
      fy := fy + f0*(y-y0)/dist;
    end_for;
    [fx, fy];
  end_proc:
plot(plot::VectorField2d(potentialE([-1, -2, -1 ], 
                                   [ 1,  3, 0.5], 
                                   [ 2, -1, 0.5]),
                         x = -3..3, y = -3..3, 
                         XMesh = 30, YMesh = 30)):

Пример 3

Как большинство других объектов, plot::VectorField2d может быть анимирован путем предоставления дополнительного параметра:

field := plot::VectorField2d([1, a*sin(x) + (a-1)*cos(y)],
                             x = 0..6, y = 0..2.5, a=-1..1):
text := plot::Text2d(a -> "a = ".stringlib::formatf(a, 2, 5), [2, -0.5], 
                     a = -1..1, HorizontalAlignment = Left):
plot(field, text)

delete field, text:

Параметры

v1, v2

x - и y - компонент векторного поля: арифметические выражения в xY, и, возможно, параметр анимации a.

v1, v2 эквивалентны атрибутам XFunctionYFunction .

xY

Идентификаторы.

xY эквивалентны атрибутам XName, YName.

xmin .. xmax, ymin .. ymax

Действительные численные значения.

xmin xmax ymin ymax эквивалентны атрибутам XRangeYRange xmin xmax ymin ymax .

a

Параметр анимации, заданный как a = amin..amax, где amin начальное значение параметров и amax итоговое значение параметров.

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

Функции MuPAD

MuPAD графические примитивы

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