график::
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] |
LineColorDirectionX | x-компонент направления цветовых переходов на строках | 0 |
LineColorDirectionY | y-компонент направления цветовых переходов на строках | 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” |
Мы демонстрируем график векторного поля 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:
Примите, что вы хотите построить электростатическое потенциальное поле. Следующая стандартная программа генерирует необходимую формулу в формате, принятом 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)):
Как большинство других объектов, 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:
|
x - и y - компонент векторного поля: арифметические выражения в |
|
Идентификаторы. |
|
Действительные численные значения.
|
|
Параметр анимации, заданный как |