ВУЗ:
Составители:
двух элементов с именами x и y. Вот примеры работы с такими шабло-
нами:
In :x
2
t
3
r/. smth
_
∧
_
→ 2
x
2
t
3
r/.
_
∧
n
_
→ n
Out :4r
6r
Приведенные примеры демонстрируют использование имени шабло-
на.
Важно отметить, что Mathematica не проверяет эквивалентность
двух выражений с математической точки зрения. Так, шаблону (1+x
_
)
n
-
соответствуют выражения (1+a)
2
или (1+b
3
)
5
, а выражение 1+2a+a
2
–
нет. Чтобы узнать, какой шаб лон использует Mathematica при прове рке
шаблонов (pattern matching), можно воспользоват ься уже извест ной
функцией FullForm:
In :FullForm[1 + 2a + a
2
]
FullForm[(1 + a)
2
]
Out :Plus[1, Times[2, a], Power[a, 2]]
Power[Plus[1, a], 2]
Таким образом, несмотря на математическую эквивалентность двух
выражений, их внутреннее представление в Mathematica различно.
В Mathematica имее тся ряд функций, которые могут выбирать вы-
ражения, с о о т в етствующие шаблону: Select, Cases, Count, Position.
Пусть имеется список {
x
y
,
x
y
2
, x, x y} и нам надо выбрать все элем енты, в
которых x делится на y. Для эт ой цели воспольз уемся функцией Cases.
Функция Cases выбирает из исходного с писка эле м енты, которые соот-
ветствую заданному шаблону. Прежде чем использовать ее, следует вы-
яснить, какой шаблон необходимо применять для поиска. Во спользуемся
функцией FullForm:
In : FullForm[
x
y
]
Out : Times[x, Power[y, −1]]
Теперь, используя полученный шаблон, найдем искомые элементы
24
двух элементов с именами x и y. Вот примеры работы с такими шабло- нами: In :x2t3r/. smth_∧ _ → 2 x2t3r/. _∧ n_ → n Out :4r 6r Приведенные примеры демонстрируют использование имени шабло- на. Важно отметить, что Mathematica не проверяет эквивалентность двух выражений с математической точки зрения. Так, шаблону (1+x _)n- соответствуют выражения (1+a)2 или (1+b3)5, а выражение 1+2a+a2 – нет. Чтобы узнать, какой шаблон использует Mathematica при проверке шаблонов (pattern matching), можно воспользоваться уже известной функцией FullForm: In :FullForm[1 + 2a + a2] FullForm[(1 + a)2] Out :Plus[1, Times[2, a], Power[a, 2]] Power[Plus[1, a], 2] Таким образом, несмотря на математическую эквивалентность двух выражений, их внутреннее представление в Mathematica различно. В Mathematica имеется ряд функций, которые могут выбирать вы- ражения, соответствующие шаблону: Select, Cases, Count, Position. x x Пусть имеется список { , 2 , x, x y} и нам надо выбрать все элементы, в y y которых x делится на y. Для этой цели воспользуемся функцией Cases. Функция Cases выбирает из исходного списка элементы, которые соот- ветствую заданному шаблону. Прежде чем использовать ее, следует вы- яснить, какой шаблон необходимо применять для поиска. Воспользуемся функцией FullForm: x In : FullForm[ ] y Out : Times[x, Power[y, −1]] Теперь, используя полученный шаблон, найдем искомые элементы 24
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »