in, _inЧленство
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
x in set _in(x,set) for y in object do body end_for f(y) $ y in object
x in set является обозначением MuPAD® для оператора “x is a member of set”.
В сочетании с одним из ключевых слов for или $, значение изменяется, чтобы “выполнить итерации по всем операндам объекта”. Смотрите for и $ для деталей. Cf. Пример 6.
Кроме использования с for и $, оператор x in object эквивалентен вызову функции _in(x, object).
x in set только оценен к себе. expand(x in set) пытается возвратить эквивалентное выражение, не используя оператор in, как описано в следующих параграфах.
Для наборов типа DOM_SET, объединения набора, различия и пересечения, x in set расширен до эквивалентного Булевого выражения уравнений и выражений, включающих in. Cf. Пример 1.
Если set является набором решения одного уравнения в одном неизвестном, данный символьным вызовом solve, расширяя in возвращает булево условие, которое эквивалентно x, являющемуся решением. Cf. Пример 2.
Если set является выражением RootOf, расширение in возвращает булево условие, которое эквивалентно x, являющемуся корнем соответствующего уравнения. Cf. Пример 3.
Функциональный bool и каждая функция, которая использует булеву оценку, могут также обработать много логических выражений, включающих in. Cf. Пример 4.
Функциональный is обрабатывает различные логические операторы, включающие in, включая множество типов для параметра set, которые не обработаны самим in. Cf. Пример 5 для нескольких типичных случаев.
Кроме обычного механизма перегрузки первым аргументом вызова in, in может быть перегружен его вторым аргументом, также. Этот аргумент должен задать slot"set2expr" с этой целью. Слот будет вызван аргументами set, x.
x in {1, 2, 3} расширен в эквивалентный оператор, включающий = и or:
expand(x in {1, 2, 3})![]()
То же самое происходит, если вы заменяете x номером, потому что Булевы выражения только выполнены в определенных функциях, таких как bool или is:
expand(1 in {1, 2, 3}), bool(1 in {1, 2, 3}), is(1 in {1, 2, 3})![]()
Если только некоторая часть выражения может быть упрощена этот путь, возвращенное выражение может содержать неоцененные вызовы in:
expand(x in {1, 2, 3} union A)![]()
Для символьных вызовов solve, представляющего набор решения одного уравнения в одном неизвестном, in может использоваться, чтобы проверять, находится ли особое значение в наборе решения:
solve(cos(x) + x = cos(2) + 2, x); expand(2 in %), bool(2 in %)
![]()
![]()
in может использоваться, чтобы проверять, является ли значение членом набора решения, представленного выражением RootOf:
r := RootOf(x^2 - 1, x); expand(1 in r), bool(1 in r), expand(2 in r), bool(2 in r)
![]()
![]()
expand((y - 1) in RootOf(x^2 - 1 - y^2 + 2*y, x))
![]()
expand(%)
![]()
delete r:
Выражения с оператором in являются булевыми выражениями: они могут использоваться как уравнения или неравенства.
if 2 in {2, 3, 5} then "ok" end![]()
Функция MuPAD is может исследовать членство объектов в бесконечных множествах. Это уважает свойства идентификаторов:
is(123 in Q_), is(2/3 in Q_)
![]()
В сочетании с for и $, y in object выполняет итерации y по всем операндам объекта:
for y in [1, 2] do print(y) end_for:
![]()
![]()
y^2 + 1 $ y in a + b*c + d^2
![]()
delete y:
|
Произвольный объект MuPAD |
|
Набор или объект подобного набору типа |
|
Идентификатор или локальная переменная ( |
|
Произвольные объекты MuPAD |
x in set только возвращает вход.
set, x