plot
::easy
Легкий графический вывод
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
plot::easy(<arg, …
>, options
)
plot::easy( arg , <options>, …)
преобразовывает данные и выражения в графические объекты.
plot::easy
принимает графические объекты и графические атрибуты, как введено и возвращает их неизменный.
plot::easy
поддерживает упомянутые выше опции. Кроме того, это принимает произвольные данные и выражения и пытается преобразовать их в допустимые графические объекты.
plot::easy
поддерживает опцию Colors
= [c1
C2
] для того, чтобы автоматически окрасить недавно сгенерированные графические объекты. Данный список используется вместо внутренне заданного списка цветов по умолчанию.
plot::easy
принимает опции Mesh
и Submesh
и использует их в каждом недавно сгенерированном графическом объекте.
Функциональный plot
вызовы plot::easy
для предварительной обработки его входа перед графическим выводом.
plot::easy
попытки обработать стандартные ситуации интуитивно для того, чтобы сделать графический вывод максимально легким. Однако это поддерживает только небольшое подмножество графических объектов, атрибутов и выражений, доступных в MuPAD®, и таким образом не утверждает, что было завершено.
Пользователи, которые хотят построить другие объекты или управлять определенными деталями их графики явным образом, все еще должны создать свои графические объекты вручную, например, использование plot::Function2d
и plot::Point2d
, и использовать графические атрибуты как LineStyle =Dashed
непосредственно.
plot::easy
выбирает новый цвет для каждого объекта, который он создает, если никакой цвет не предопределен в данном контексте.
plot::easy
принимает наборы {...} Как определение группы и преобразовывает их в графические объекты типа plot::Group2d(...)
или plot::Group3d(...)
, соответственно. Все элементы группы совместно используют тот же цвет, если цвета не были заданы явным образом для отдельных объектов. Обратите внимание на то, что регулярные графические объекты обычно имеют предопределенный цвет.
plot::easy
принимает вложенный набор {{...}} Как определение сцены и преобразовывает его в графический объект plot::Scene2d(...)
или plot::Scene3d(...)
, соответственно.
Создание графического объекта может потребовать спецификации диапазонов значений для переменных. Если они не заданы явным образом затем plot::easy
попытки используют диапазоны, указанные в других переменных и/или использовании область значений значения по умолчанию -5..5
.
plot::easy
попытки преобразовать все определенные данные и выражения в допустимые графические объекты и атрибуты:
plot::easy(sin(x), [PI/2,1])
Начиная с функционального plot
вызывает функциональный plot::easy
для предварительной обработки ее входных данных сцены как вышеупомянутое могут непосредственно быть построены с помощью plot
:
plot(sin(x), [PI/2,1], #x = PI/2, #y = 1)
Теперь это - только небольшой шаг, чтобы анимировать эту сцену:
plot(sin(x), {[x,sin(x)], #Points}, #x = x, #y = sin(x))
Примечание: Графические объекты и атрибуты, а также данные, что plot::easy
не может преобразовать, возвращены неизменные:
plot::easy(x, plot::Point2d(1,1), LineStyle=Dashed, "UnknownObject")
Это то, почему plot
возвращает следующее сообщение об ошибке, когда оно выполняется с вышеупомянутыми аргументами:
plot(x, plot::Point2d(1,1), LineStyle=Dashed, "UnknownObject");
Error: Invalid arguments '"UnknownObject"'. [plot::Canvas::new]
Точки могут быть введены как списки с двумя или тремя значениями. В качестве альтернативы соответствующий вектор-столбец в сочетании с опцией #Points
(исказите #P
, смотрите Пример 18) может использоваться.
Обратите внимание на то, что для графического вывода анимированных точек опция #Points
требуется. В противном случае кривая (когда вводится список) или стрела (когда вводится вектор) построена:
plot([0,1], [s,s^2], {[s,s^2], #Points}, s = -2.. 2, matrix([t,t^2]), {matrix([t,t^2]), #Points}, t = 2..-2 )
Смотрите также: plot::Point2d
, plot::Point3d
.
Стрелы могут быть заданы как вектор-столбцы с двумя или тремя элементами. В качестве альтернативы список в сочетании с опцией #Arrows
(исказите #A
, смотрите Пример 13) может использоваться:
plot(matrix([0,1]), matrix([s,s^2]), s = 2..-2, [t,t^2], {[t,t^2], #Arrows}, t = -2..2 )
Если стрела должна запуститься в координатах кроме (0,0) или (0,0,0), соответственно, то список двух вектор-столбцов или соответствующий список списков в сочетании с опцией #Arrows
(исказите #A
, смотрите Пример 13) может использоваться:
u := matrix([3,2]): v := matrix([1,4]): w := (1-a)*u + a*v: u, v, w;
plot(u, v, [u,w], a = 0.1..1, #Arrows)
delete u, v, w:
Смотрите также: plot::Arrow2d
, plot::Arrow3d
.
Многоугольники могут быть заданы как списки, таблицы или матрицы. В следующем примере многоугольники построены с помощью различных входных стилей. Опция #Origin
(исказите #O
, смотрите Пример 17) гарантирует, что источник системы координат отображается в сцене также:
plot([[1,3],[2,5],[3,3],[4,8]], table(1=4,2=6,3=4,4=9), [matrix([1,5]),matrix([2,7]),matrix([3,5]),matrix([4,10])], matrix([[1,6],[2,8],[3,6],[4,11]]), #Origin)
Обратите внимание на то, что многоугольники отображены как точки когда опция #Points
(исказите #P
, смотрите Пример 18) используется:
plot([[1,3],[2,5],[3,3],[4,8]], table(1 = 4,2 = 6,3 = 4,4 = 9), [matrix([1,5]),matrix([2,7]),matrix([3,5]),matrix([4,10])], matrix([[1,6],[2,8],[3,6],[4,11]]), #Points, #Origin)
Обратите внимание на то, что следующие многоугольники с двумя элементами отображены как стрелы когда опция #Arrows
(исказите #A
, смотрите Пример 13) используется:
plot([[1,4],[2,6]], [matrix([1,5]),matrix([2,7])], matrix([[1,6],[2,8]]), #Arrows, #Origin)
Смотрите также: plot::Polygon2d
, plot::Polygon3d
.
Укажите, что списки могут быть заданы как списки, таблицы или матрицы. Для каждой точки должен быть задан цвет RGBa. В следующем примере списки точек построены с помощью различных входных стилей. Опция #Origin
(исказите #O
, смотрите Пример 17) гарантирует, что источник системы координат отображается в сцене также:
plot([[1,2,RGB::Red], [2,4,[0,1,0]], [3,3,[0,0,1,0.5]]], [matrix([1,3,RGB::Red]), matrix([2,5,[0,1,0]]), matrix([3,4,[0,0,1,0.5]])], matrix([[1,4,RGB::Red], [2,6,[0,1,0]],[3,5,[0,0,1,0.5]]]), table(1=[5,RGB::Red], 2=[7,[0,1,0]], 3=[6,[0,0,1,0.5]]), #Origin)
Обратите внимание на то, что списки следующих моментов отображены как стрелы когда опция #Arrows
(исказите #A
, смотрите Пример 13) используется:
plot([[1,2,RGB::Red], [2,4,[0,1,0]] ,[3,3,[0,0,1,0.5]]], [matrix([1,3,RGB::Red]), matrix([2,5,[0,1,0]]), matrix([3,4,[0,0,1,0.5]])], matrix([[1,4,RGB::Red], [2,6,[0,1,0]], [3,5,[0,0,1,0.5]]]), table(1=[5,RGB::Red], 2=[7,[0,1,0]] ,3=[6,[0,0,1,0.5]]), #Arrows, #Origin)
Смотрите также: plot::PointList2d
, plot::PointList2d
.
Для проведения горизонтали и вертикальных бесконечных линий, короткий синтаксис #x = e
и #y = e
с e
действительное выражение, может использоваться:
plot(sin(x), [PI/2,1], #x=PI/2, #y=1, #Legend)
Для рисования горизонтали и вертикальных бесконечных плоскостей, короткого syntax#x = e
, #y = e
и #z = e
, с e
действительное выражение, может использоваться.
Оба, линии и плоскости могут также быть анимированы:
plot([t,0,t^2], {[t,0,t^2], #Points}, #x=t, #z=t^2, #Legend)
Смотрите также: plot::Line2d
, plot::Plane
.
Кривая может быть задана как список с двумя или тремя элементами, где по крайней мере один элемент зависит от свободной переменной. Если опция #Points
(исказите #P
, смотрите Пример 18) установлен, затем вместо кривой, анимированная точка построена, который проходит кривая.
plot([t,sin(t)], {[t,sin(t)], #Points}, t=0..2*PI)
Смотрите также: plot::Curve2d
, plot::Curve3d
.
plot::easy
попытки преобразовать выражения, которые не являются никакими списками, наборами, матрицами, уравнениями или неравенствами в графики 2D или 3D функций. Мы строим некоторые графики 2D функций:
plot(sin(x), tan(x), x)
Мы строим простую 3D функцию. Обратите внимание на то, что опция #3D
(исказите #3
, смотрите Пример 12) требуется в следующем примере для графического вывода 3D функции. В противном случае анимированная 2D функция создается.
plot(m*x, #3D)
Мы строим простую 2D анимацию: точка и соответствующая касательная синусоидальной функции проходят график синусоидальной функции:
f:= x -> sin(x): plot(f(x), x = -PI..PI, {[a, f(a)], #Points}, f'(a)*(x-a) + f(a), a = -PI/2..PI/2)
Мы строим кусочную заданную функцию:
plot(piecewise([x < 1, -x^2 + 1], [x >= 1, x + 5]), #x=1, #Legend)
Та же кусочная заданная функция теперь написана в более коротком синтаксисе. Отметьте различие между определением одной функции с двумя ветвями (слева) и определением двух функций (справа):
plot({{[[x < 1, -x^2 + 1], [x >= 1, x + 5]], #x=1}}, {{ [x < 1, -x^2 + 1], [x >= 1, x + 5] , #x=1}}, #Legend)
Смотрите также: plot::Function2d
, plot::Function3d
.
Неявная функция может быть задана как уравнение:
plot(u^5 + x^2 = 1 - u^3)
Обратите внимание на то, что опция #3D
(исказите #3
, смотрите Пример 12) может потребоваться, чтобы строить плоскости, данные как декартовы уравнения. В противном случае анимированный 2D график может быть создан. Это зависит от количества переменной уравнения.
E1:= 2*x + 30*y - 2*z = 5: E2:= -x + 7*y - z = 12: E3:= -4*x + 2*y + z = 0: plot(E1, E2, E3, #3D, #Legend)
delete E1, E2, E3:
Смотрите также: plot::Implicit2d
, plot::Implicit3d
.
Неравенство может быть отображено непосредственно:
plot(u^5+x^2 < 1-u^3)
То же самое верно для списка неравенств и уравнений:
plot([x < 3, x > 1, y < 4, y > -4])
Смотрите также: plot::Inequality
.
Чтобы отобразить 2D текст в определенном положении, уравнение координатного кортежа и символьной строки или процедуры может быть введено:
plot([t, t^2], {[t, t^2], #Points}, [t, t^2] = "moving text")
Мы отображаем 3D текст. Как в любом другом контексте plot::easy
, мы можем использовать регулярные графические атрибуты как TextFont =Center
также:
DIGITS := 2: plot([t, t^2, 1], {[t, t^2, 1], #Points}, [t, t^2, 1] = (t->" x = ".[t, t^2, 1.0]), TextFont=[Bold]): delete DIGITS:
Смотрите также: plot::Text2d
, plot::Text3d
.
Обычно plot::easy
создает 2D сцену, если один из аргументов не является 3D объектом или может только быть преобразован к 3D объекту или опции #3D
используется.
plot(sin(x), #3)
Однако опция #3D
только подсказка. Это проигнорировано, если текущая сцена может только быть 2D сценой. В следующем примере 2D точка определяет размерность сцены:
plot([PI/2,1], sin(x), #3)
В следующем примере 3D точка определяет размерность сцены. Нет никакой потребности использовать опцию #3D
для того, чтобы создать 3-ю сцену:
plot([PI/2,1,0], sin(x))
С опцией #Arrows
, стрелы вместо точек или кривых создаются. Когда используется в {...} - группа, это влияет на элементы этой группы или сцены только.
plot({{ [-5,25], [5,25], [x,x^2] }}, {{ [-5,25], [5,25], [x,x^2], #A }})
Опция #Constrained
создает систему координат с ограниченными масштабированными осями. Это - ярлык для Scaling = Constrained
.
plot({{ x^2 }}, {{ x^2, #C }})
Опция #Grid
создает систему координат с линиями сетки. Это - ярлык для GridVisible = TRUE
.
plot({{ x^2 }}, {{ x^2, #G }})
Опция #Legend
создает легенду. Это - ярлык для LegendVisible = TRUE
в сочетании с LegendEntry = TRUE
. Обратите внимание на то, что plot::easy
явным образом устанавливает текст легенды для каждого графического объекта, который он создает.
plot([0,-6], x^2-5, [t,t^2], #L)
Опция #Origin
включает координаты (0,0) или (0,0,0), соответственно, в поле просмотра текущей сцены.
plot({{[2,2], [3,3]}}, {{[2,2], [3,3], #O}})
Используя опцию #Points
, точки вместо стрел или кривых создаются. Кроме того, эта опция устанавливает атрибуты PointsVisible =TRUE
и LinesVisible =FALSE
. Когда используется в {...} - группа, это влияет на элементы этой группы или сцены только.
plot({[-5,25], [x,x^2], #Gray}, {matrix([5,25]), [x,x^2], #P})
#X
Y
/ #Z = a..b
устанавливает x-/y-/z-область-значений поля просмотра сцены к a..b
. Это - ярлык для ViewingBoxXRange
/ ViewingBoxYRange
/ ViewingBoxZRange = a..b
.
plot({{x^2, sin(x)}}, {{x^2, sin(x), #Y=0..4}})
Мы чертим 3D сцену с ограниченным полем просмотра. Поэтому только четверть доли отображается:
plot({{plot::Sphere(1)}}, {{plot::Sphere(1), #X=0..1, #Y=0..1, #Z=0..1}})
|
Любой объект |
|
Исказите |
|
Исказите |
|
Исказите |
|
Исказите |
|
Исказите |
|
Исказите |
|
Исказите |
|
Опция, заданная как Исказите |
|
Опция, заданная как Исказите |
|
Опция, заданная как Исказите |
|
Если |
|
Если Прозрачный |
Последовательность графических объектов и графических атрибутов, а также объектов, которые не могли быть преобразованы plot::easy
.
arg
Позвольте ci
будьте вещественными константами и f
и fi
будьте действительными функциями. plot::easy
автоматически выполняет следующие преобразования:
Графический объект | Данные или математическое выражение |
---|---|
plot::Point2d : | C1 C2 ], {[f1(x) , f2(x) 'points' }, {matrix ([f1(x) , f2(x) 'points' }. |
plot::Point3d : | C1 C2 , c3 ], {[f1(x) , f2(x) , f3(x) 'points' }, {matrix ([f1(x) , f2(x) , f3(x) 'points' }. |
plot::Arrow2d : | matrix C1 C2 C1 C2 Стрелки }, {[matrix ([f1(x) , f2(x) ]), matrix ([f3(x) , f4(x) Стрелки }, {matrix ([[f1(x) , f2(x) ], [f3(x) , f4(x) Стрелки }, {[[f1(x) , f2(x) ], [f3(x) , f4(x) Стрелки }. |
plot::Arrow3d : | matrix C1 C2 , c3 C1 C2 , c3 Стрелки }, {[matrix ([f1(x) , f2(x) , f3(x) ]), matrix ([f4(x) , f5(x) , f6(x) Стрелки }, {matrix ([[f1(x) , f2(x) , f3(x) ], [f4(x) , f5(x) , f6(x) Стрелки }, {[[f1(x) , f2(x) , f3(x) ], [f4(x) , f5(x) , f6(x) Стрелки }. |
plot::Polygon2d : | [[f1(x) , f2(x) ]...], [matrix ([f1(x) , f2(x) ])...], matrix ([[f1(x) , f2(x) Таблица (f1(x) =f2(x) ,...). |
plot::Polygon3d : | [[f1(x) , f2(x) , f3(x) ]...], [matrix ([f1(x) , f2(x) , f3(x) ])...], matrix ([[f1(x) , f2(x) , f3(x) ]...]). table (f1(x) = [f2(x) , f3(x) ],...). |
plot::PointList2d : | [[f1(x) , f2(x) , RGBa ]...], [matrix ([f1(x) , f2(x) , RGBa ])...], matrix ([[f1(x) , f2(x) , RGBa Таблица (f1(x) = [f2(x) , RGBa ],...). |
plot::PointList3d : | [[f1(x) , f2(x) , f3(x) , RGBa ]...], [matrix ([f1(x) , f2(x) , f3(x) , RGBa ])...], matrix ([[f1(x) , f2(x) , f3(x) , RGBa ]...]). table (f1(x) = [f2(x) , f3(x) , RGBa ],...). |
plot::Line2d : | #x= f(x) , #y= f(x) . |
plot::Plane : | #z= f(x) , {#x= f(x) , #3D} , {#y= f(x) , #3D} , {#z= f(x) , #3D} . |
plot::Curve2d : | [f1(x) , f2(x) ]. |
plot::Curve3d : | [f1(x) , f2(x) , f3(x) ]. |
plot::Function2d : | f(x) , f(x, a) , [cond1, f(x)] , [[cond1, f(x)] ,...]. |
plot::Function3d : | f(x, y, a) , [cond1, f(x, y, a)] , [[cond1, f(x, y, a)] ...], {f(x) , #3D }, {f(x, a) , #3D }. |
plot::Implicit2d : | f1(x, y, a) =f2(x, y, a) . |
plot::Implicit3d : | f1(x, y, z, a) =f2(x, y, z, a) , {f1(x, y, a) =f2(x, y, a) , #3D }. |
plot::Inequality : | f1(x, a) < f2(x, a) , f1(x, a) ≤ f2(x, a) , f1(x, a) > f2(x, a) , f1(x, a) ≥ f2(x, a) , [f1(x, a) <f2(x, a) , f3(x, a) > f4(x, a) , f5(x, a) =f6(x, a) ,...]. |
plot::Text2d : | [f1(x) , f2(x) ] =text , matrix ([f1(x) , f2(x) ]) =text , [f1(x) , f2(x) ] =procedure , matrix ([f1(x) , f2(x) ]) =procedure . |
plot::Text3d : | [f1(x) , f2(x) , f3(x) ] =text , matrix ([f1(x) , f2(x) , f3(x) ]) =text , [f1(x) , f2(x) , f3(x) ] =procedure , matrix ([f1(x) , f2(x) , f3(x) ]) =procedure . |