- •1. Общие сведения. Ядро и интерфейс пакета Математика
- •2. Точные и приближенные вычисления. Численные и аналитические операции
- •3. Рабочий документ и ячейки. Основные команды
- •4. Сеанс работы в системе Математика. Глобальный характер данных
- •5. Правила написания. Основные встроенные функции
- •Примеры выражений
- •Формы обращений к функциям
- •Нескольких аргументов
- •6. Функции комплексного аргумента
- •Логические операторы
- •7. Циклические операции
- •7.1. Цикл For
- •7.2. Цикл While
- •7.3. Цикл Do
- •7.4. Функция If
- •7.5. Логические выражения
- •8. Функции пользователя. Составление программ
- •8.1. Функции пользователя. Описания типов аргументов
- •8.2. Немедленное и задержанное присваивание
- •8.3. Альтернативные определения функций
- •8.4. Составление программ. Глобальные и локальные переменные
- •8.5. Прерывание вычислений
- •9. Списки
- •9.1. Создание списков. Обращение к элементам списков
- •9.2. Преобразование списков
- •9.3. Матричные функции
- •10. Массивы
- •1 1. Основные типы графиков
- •11.1. Двумерные графики
- •11.2. Функции Show, GraphicsRow, GraphicsGrid. Графические примитивы.
- •11.3. Изображения трехмерных объектов
- •11.4. Анимация
- •12. Функция Manipulate
- •13. Аналитические операции. Интерполяция. Решение уравнений
- •13.1. Аналитические операции
- •13.2. Интерполяция
- •13.3. Решение алгебраических уравнений
- •13.4. Решение дифференциальных уравнений
- •14. Преобразование выражений
- •14.1. Стандартная форма выражений
- •Примеры выражений
- •14.2. Обращение к элементам выражений
- •14.3. Представление выражения в виде дерева
- •14.4. Операции преобразования выражений
- •14.5. Повторное выполнение операций
- •14.6. Анонимные функции
- •14.7. Функциональные операторы Outer и Inner
- •Вопросы для повторения
- •Массивы.
- •Функция Manipulate.
- •Упражнения
л
Таблица
5.2.
Входное
выражение
Название
формы
Значение
Sin[Pi/2]
standard
1
Sin@(Pi/2)
prefix
1
Pi/2//Sin
postfix
1
N@Sqrt@2
prefix
1.41421
Формы обращений к функциям
In[] := Fit[ data, {1., x}, x]
Out[] = 1.90909 +0.229091 x
Аппроксимируемая последовательность точек (для наглядности соединенных ломаной синей линией) и аппроксимирующая прямая линия (красного цвета) показаны на рис. 5.3.
Функция Print[expr1, expr2,…] – печатает выражения expri, соединяя их.
Пример 5.10
In[ ] := Print["Объем куба со стороной ",
v=4 ," равен ", v^3]
Out[] = Объем куба со стороной 4 равен 64
Функция Prime[n] – выдает простое число с порядковым номером n.
Пример 5.11
In[ ] := {Prime[4], Prime[10]}
Out[] = {7, 29}
Функция Expand[expr] – преобразует выражение expr: раскрывает скобки, производит перемножения и вычисляет степени.
Пример 5.12
In[ ] := Expand[ (x+1)^3 ]
Out[] = x3 + 3 x2 + 3 x + 1
In[ ] := Expand[ (x - 1) (x^3 + x^2 + x + 1) ]
Out[] = -1 + x4
Обращение к функциям в системе Математика может быть записано в разных формах:
f
Таблица 5. 3
Функции
Standard form
Infix form
Plus[x,y]
x+y
Times[x,y]
x y
Power[x,y]
xy
Нескольких аргументов
f@x - префиксная форма (prefix form),
x//f - постфиксная форма (postfix form).
Примеры обращений даны в таблице 5.2.
Отметим, что префиксная форма имеет наиболее высокий приоритет, а постфиксная – самый низкий, так что Sin@x+y = y+Sin[x], а x+y//Sin = Sin[x+y].
Для функций нескольких переменных кроме стандартной существует также инфиксная форма. Обычная запись суммы (x+y) и произведения (x*y) является инфиксной формой. Примеры функций двух аргументов даны в таблице 5.3.
Функции, вводимые пользователем, также могут быть записаны в разных формах.
Получить информацию о любой функции можно с помощью команды: ?заголовок функции.
Напомним полезную команду меню Edit – Complete Selection (Ctrl+K), позволяющую автоматически закончить начатое слово. Достаточно написать начало слова и нажать клавиши Ctrl+K – появится список слов, из которого можно выбрать нужное слово, просто щелкнув на нем мышкой.
6. Функции комплексного аргумента
Перечисленные в предыдущем разделе функции применимы также и к комплексному аргументу. Дополнительные функции комплексного аргумента:
Re[z], Im[z] - действительная и мнимая части числа z,
Arg[z] - аргумент числа z.
Пример 6.1
In[ ] := Abs[1+I] Out[] =
In[ ] := Cos[I] Out[] =
In[ ] := Sqrt[2I] Out[] = In[ ] := Log[I] Out[] =
In[ ] := E^(I ) Out[] = -1 In[ ] := Arg[1+I] Out[] =
Замечание 1. В ряде случаев Математика по умолчанию не упрощает выходные выражения. Например, входное выражение Математика просто переписывает в ином виде. Для упрощения выражений можно применить функцию ComplexExpand[expr] – вычисление всех степеней и произведений в выражении expr – либо где-нибудь в выражении expr поставить десятичную точку.
Пример 6.2. На языке пакета Математика напишем список из трех выражений для извлечения
корня третьей степени:
Получим следующий ответ:
.
Замечание 2. При извлечении корня из комплексного числа Математика по умолчанию выдает значение корня с наименьшим (по абсолютной величине) значением аргумента.
Пример 6.3.
Н айдем аргумент кубичного корня из –1 и –I. Запишем на языке пакета Математика:
Получим ответ:
Чтобы найти все n значений корня степени n можно воспользоваться функциями для решения уравнений Solve, FindRoot или Roots.
Пример 6.4. Найдем все значения корня третьей степени из –1 и –I:
In[] := Roots[x^3 == -1,x] //ComplexExpand,
Out [] = .
In[] := Roots[x^3 == -I,x] //ComplexExpand,