Иллюстрированный самоучитель по Mathematica 3

Mathematica как язык программирования

Mathematica – исключительно гибкий и интуитивно понятный язык программирования.

Система Mathematica включает в себя прогрессивные методы программирования современной информатики и вводит свои собственные новые концепции.

Mathematica объединяет в себе самые разные методы программирования, что позволяет Вам всегда применять в данный момент наиболее подходящие из них.

Процедурное программирование

z=a;
Do[Print[z*=z+i],{i,3}]
a (1+a)
a (1+a) (2+a (1+a))
a (1+a) (2+a (1+a)) (3+a (1+a) (2+a (1+a)))
Clear[z]

Программирование, ориентированное на работу со списками

Многие операции автоматически работают со списками.

1 + {a, b, c}2
{1 + a2, 1 + b2, 1 + c2}
Table[ij, {i, 4}, {j, i}]
{{1},{2,4},{3,9,27},{4,16,64,256}}

Объединение вложенных списков.

Flatten[%]
{1,2,4,3,9,27,4,16,64,256}

Разбиение предыдущего списка на подмножества длины 2.

Partition[%,2]
{{1,2},{4,3},{9,27},{4,16},{64,256}}

Программирование, ориентированное на работу с функциями

NestList[f,x,4]
{x,f[x],f[f[x]],f[f[f[x]]],f[f[f[f[x]]]]}

Здесь символ # является областью, замещаемой аргументом функции.

NestList[(1 + #)2 &, x, 3]

Иллюстрированный самоучитель по Mathematica 3 › Mathematica как язык программирования

Программирование, ориентированное на работу с правилами

p[x_+y_]:=p[x]+p[y]
p[a+b+c]
p[a]+p[b]+p[c]

Символ _ замещает одно единственное выражение; символ __ замещает любую последовательность выражений.

s[{x__,a_,y__},a_]:={a,x,x,y,y}
s[{1,2,3,4,5,6},4]
{4,1,2,3,1,2,3,5,6,5,6}
Clear[p, s]
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.