Элементарное введение в Wolfram Language
(язык программирования системы Mathematica)
2. Знакомство с функциями
Когда вы набираете 2+2, Wolfram Language понимает это как Plus[2,2], где Plus - это функция. В Wolfram встроено более 5000 функций, среди которых арифметические составляют лишь малую часть.
| Пока под функцией можно понимать формулу, которая имеет уникальное имя (Plus в примере выше) и в которую надо подставить данные (2,2), чтобы она могла быть вычислена.
Вычислим 3+4 с помощью функции Plus:
ln[1]:=Plus[3,4]
Out[1]=7
Вычислим 1+2+3 с помощью Plus:
ln[1]:=Plus[1,2,3]
Out[1]=6
Функция Times выполняет умножение:
ln[1]:=Times[2,3]
Out[1]=6
Вы можете помещать вызов функций в другие функции:
ln[1]:=Times[2,Plus[2,3]]
Out[1]=10
В Wolfram все функции требуют квадратные скобки []. В именах функций первая буква должна быть заглавной.
Функция Max находит максимальное (наибольшее) число из данного набора чисел.
Наибольшее число среди 2, 7 и 3 равно 7.
ln[1]:=Max[2,7,3]
Out[1]=7
Функция RandomInteger выбирает случайное целое число от нуля до указанного вами числа.
Давайте получим случайное целое число от 0 до 100 включительно:
ln[1]:=RandomInteger[100]
Out[1]=4
При повторном вызове этой функции вы получаете случайное число, которое может не совпадать с числом из предыдущего вызова.
ln[1]:=RandomInteger[100]
Out[1]=83
| Придумайте задачу, для решения которой такая функция была бы полезной.
Справочник
Plus[2,2] | 2+2 | сложение |
Subtract[5,2] | 5-2 | вычитание |
Times[2,3] | 2*3 | умножение |
Divide[6,2] | 6/2 | деление |
Power[3,2] | 3^2 | возведение в степень |
Max[3,4] | максимум | |
Min[3,4] | минимум | |
RandomInteger[10] | случайное целое число |
Упражнения
| ответы к упражнениям приведены после условий
2.1 С помощью функции Plus вычислите 7+6+5.
2.2 Вычислите 2×(3+4) с помощью Plus и Times.
2.3 Вычислите наибольшее из чисел 6×8 и 5×9, используя функцию Max.
2.4 Получите случайное целое число от 0 до 1000 включительно.
2.5 Используйте Max и RandomInteger для генерации целого числа от 10 до 20 включительно.
х2.1 Вычислите 5×4×3×2 с помощью Times.
x2.2 Вычислите 2-3 с помощью Subtract.
x2.3 Вычислите (8+7)*(9+2), используя Times and Plus.
x2.4 Найдите значение (26-89)/9 с помощью Subtract и Divide.
x2.5 Вычислите с помощью Subtract и Power.
x2.6 Найдите наибольшее число из и
x2.7 Найдите произведение 3 и наибольшего числа из и .
x2.8 Найдите сумму двух случайных целых чисел, каждое из которых от 0 до 1000 включительно.
2.1) 18
2.2) 14
2.3) 48
х2.1) 120
х2.2) -1
х2.3) 165
х2.4) -7
х2.5) 75
х2.6) 243
х2.7) 243
Вопросы и ответы
1. Обязательно ли начинать название функций Plus, RandomInteger и др. с заглавной буквы?
Да. В Wolfram plus не то же самое, что и Plus. Заглавная буква означает, что вы обращаетесь к встроенной ("официальной") функции plus.
2. Обязательно ли в функции использовать именно квадратные скобки [...]?
Да. Квадратные скобки [...] предназначены для функций, а круглые (..) только для группировки в выражениях, например, 2*(3+4).
3. Как произносится запись Plus[2,3]?
Обычно говорят "plus двух и трех", "plus от двух и трех", иногда "plus два три". Символ "[" можно называть "открывающей скобкой", а "]" - "закрывающей скобкой".
4. Почему мы использовали Plus[2,3] вместо 2+3?
Именно для Plus это было необязательно. Но для большинства других функций - таких как Max или RandomInteger - таких вариантов записи как "+" для Plus нет, поэтому вы должны использовать их имена.
5. Могу я использовать Plus[] и "+" совместно?
Да. Например, Plus[4+5,2+3] или Plus[4,5]*5.
6. Что значит красный цвет, которым Wolfram выделяет введенный мной текст?
Значит, что набранный вами текст непонятен Wolfram. Первым делом проверьте открывающие и закрывающие скобки. Подробности смотрите в главе 47.
Примечания
- В Wolfram Language выражения (expressions) состоят из вложенных деревьев функций.
- Функция Plus может сложить любое количество чисел. Функция Subtract от данного числа вычитает только одно число (для исключения неоднозначности, например, (2-3)-4 и 2-(3-4) ) .
- В Wolfram Language понятие функции шире, чем в классических математических или компьютерных науках. Например, F[что-то] является функцией вне зависимости от того, какой возращается результат после выполнения: конечный или в символической форме.
предыдущая глава следующая глава
Перевод с дополнениями: И.Колемаев
источник http://www.wolfram.com/language/elementary-introduction/02-introducing-functions.html