Правила написания. Основные встроенные функции

· Правила написания. Основные встроенные функции - student2.ru В языке Математики малые и большие буквы различаются.

· Названия всех встроенных функций и констант начинаются с большой буквы; поэтому, во избежание недоразумений, рекомендуется вводимые пользователем идентификаторы начинать с малой буквы.

· Аргументы функций пишутся в квадратных скобках.

· Знак умножения (*) можно опускать, заменяя его в случае необходимости пробелом. Несколько примеров представления оператора умножения:

2a эквивалентно 2*a,

a b эквивалентно a*b,

a(x+y) эквивалентно a*(x+y),

Sin[x]2 эквивалентно 2 Sin[x], эквивалентно 2*Sin[x].

Однако, выражения "a2", "ab" воспринимаются Математикой как единые идентификаторы. Выражение "aSin[x]" воспринимается как идентификатор новой функции.

· Круглые скобки используются при записи строковых переменных, а также для указания последовательности действий, как это принято обычно в математических выражениях. При этом соблюдаются обычные соглашения о приоритетах математических операций, поэтому в ряде случаев скобки можно опускать. Например, Sin[x]^2/2 есть сокращенная запись более полного выражения ((Sin[x])^2)/2.

· Значения строковых переменных записываются в кавычках или в круглых скобках.

· Комментарии внутри активной ячейки выделяются знаками (* и *). Пример:

In[ ] := (* Определим константу: *) a=Log[10, 2.]Out[ ] =0.30103

· Фигурные скобки используются при описании списков, в частности, массивов, и для задания пределов изменения переменной величины. Пример списка приведен во второй строке таблицы 5.1.

· Как правило, допустимы пробелы в выражениях. Например, Sin [Pi / 2] воспринимается как Sin[p/2]. Однако, пробелы в служебных словах – недопустимы. Пробелы в словах воспринимаются как знак умножения. Например, P i воспринимается уже не как число p, а как результат перемножения символов P и i.

· Точка с запятой в конце выражения служит знаком запрета вывода результата на экран.

· Косая черта "\" в конце строки означает, что выражение продолжается в следующей строке. Этот знак можно опустить, если в строке помещено явно незаконченное выражение: отсутствует закрывающая скобка, отсутствует необходимый операнд и т.п.

Примеры выражений даны в таблице 5.1.

Основные константы:

E или <Esc>ee<Esc> – основание натуральных логарифмов; I – мнимая единица;

Infinityили <Esc>inf<Esc> – бесконечность; Piили <Esc>p<Esc> – число "пи".

Символы указанных констант также могут быть взяты из палитры Basic Input.

Приведем некоторые наиболее часто используемые функции.

Floor[x], Ceiling[x] –целыечисла, ближайшие к действительному числу x (меньшее и большее).

Round[x, eps]– округление числа x до ближайшего числа с точностью eps.

Пример 5.1 In[]:=Round[20/3, 4]Out[]=8,

In[]:=Round[20/3, 3]Out[]=6,

In[]:=Round[20/3, 0.02]Out[]=6.66,

In[]:=Round[20/3, 0.01]Out[]=6.67.

x^y – x в степени y.

Exp[x] или E^x – экспоненциальная функция аргумента x;

Sin[x], Cos[x], Tan[x], Cot[x], ArcSin[x], ArcCos[x] и т.д. - прямые и обратные тригонометрические функции.

Log[z] – натуральный логарифм числа z.

Log[b, z] – логарифм числа z по основанию b.

Sqrt[a] – квадратный корень числа a.

Вычисление пределов:

Limit[ expr, x –> x0] –предельное значение выражения expr при x стремящемся к x0. Более полный формат команды: Limit[ expr, x –> x0, Direction –> 1]– нахождение предела при x стремящемся к x0 слева. Соответственно, Direction –> -1– нахождение предела справа.

Пример 5.2 In[]:=f[t_]=Sin[t]/t; Limit[f[t], t->0]Out[]=1,

In[]:=Limit[ Tan[fi], fi –> Pi / 2, Direction –> -1]Out[]=-Infinity.

Замечание. Функция вычисления пределов не вызывается автоматически. Если, например, в ходе вычислений встречается выражение вида 0/0, то вычисления прекращаются. Например, Математика отказывается вычислять f[0]в примере 5.2.

Правило преобразованияRule:

lhs –> rhs – левая часть выражения заменяется на правую.

Функция замещенияReplaceAll[expr, rule] – применяет правило преобразования rule (lhs –> rhs) к выражению expr – каждое вхождение lhs заменяется на rhs. Та же функция может быть записана более коротко с помощью оператора замещения “/.” (произносится “slash-dot”):

expr /. lhs –> rhs

Может быть задана последовательность правил преобразования:

expr /. {lhs1 –> rhs1, lhs2 –> rhs2,…}

Может также быть задан список списков правил: expr /. {{lhs –> rhs1}, {lhs –> rhs2},…}, –

в этом случае на выходе мы получим список результатов.

Пример 5.3

Простая замена: In[]:= 1 + x + x^2 /. x –> Sin[x] Out[]=1 + Sin[x] + Sin[x]2.

Применение списка правил замены:

In[]:={a, b, c} /. {a –> b, b –> d}Out[]={b, d, c}.

Последовательное применение тех же правил замены дает другой результат:

In[]:={a, b, c} /. a –> b /. b –> dOut[]={d, d, c}.

Применение списка списков правил замены

In[]:=x + y /. {{x –> 2}, {y –> 5}}

дает список результатов: Out[]={2 + y, 5 + x}.

Дифференцирование:

D[f, x]– производная функции f по аргументу x.

D[f, {x, n}]– производная порядка n.

D[f, x1, x2, …] –смешанная производная функции f по аргументам x1, x2, и т.д.

Другое обращение к производной:

f’[x], f’’[x], f’’’[x] – соответственно, первая, вторая и третья производная функции f[x].

Для обращения к производной можно воспользоваться также “заготовкой”, имеющейся в палитре Basic Math Input.

Пример 5.4 In[]:= D[Sin[x], x] Out[]=Cos[x],

In[]:= D[Sin[x], x] /. x –> 0 Out[]=1,

In[]:=Sin'[x] Out[]=Cos[x],

In[]:=Sin'[0] Out[]=1.

Дифференцирование сложных функций:

In[]:=D[f[g[x]], x] Out[]= Правила написания. Основные встроенные функции - student2.ru ,

In[]:=D[f[x, y[x]], x] Out[]= Правила написания. Основные встроенные функции - student2.ru ,

In[]:=D[Sin[x^2], x] Out[]=2 x Cos[x2],

In[]:=D[x Log[x], x] Out[]=1 + Log[x].

Правила написания. Основные встроенные функции - student2.ru Вычисление смешанной производной:

In[]:=D[x^3 / y, {x, 2}, y] Out[]= - 6x / y2.

Интегрирование:

Integrate[f[x], x] –неопределенныйинтеграл.

Integrate[f[x], {x, xmin, xmax}] –определенный интеграл на отрезке от xmin до xmax.

Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] –кратный интеграл.

NIntegrate – численное интегрирование.

“Заготовка” для интеграла имеется в палитре Basic Math Input.

Пример 5.5

In[ ] := Integrate[ Exp[-x], {x, 0, Infinity}] Out[ ] = 1,

In[ ] := NIntegrate[ 2 / Sqrt[2 Pi] Exp[-x^2 / 2], {x, 0, 3}] Out[ ] = 0.9973,

In[ ] := Integrate[ 3 u Sin[v]^2 Cos[v]^2, {u, 0, a}, {v, 0, 2Pi}] Out[ ] = 3 a2 Pi / 8.

Нахождение экстремумов:

Функции FindMinimum[f, {x, x0}], FindMaximum[f, {x, x0}] позволяют найти локальный минимум или максимум функции f, ближайший к точке x0.

Функции возвращают список: {fmin, {x –> xmin}] – где xmin – точка экстремума, fmin – значение функции f в точке экстремума.

Пример 5.6

Нахождение экстремумов функции P[x_]=8x^4-8x^2+x+1 (рис. 5.1).

In[ ] := FindMinimum[ P[x], {x, 2}]Out[ ] = {-0.309, {x –> 0.673}},

In[ ] := FindMinimum[ P[x], {x, -2}]Out[ ] = {-1.722, {x –> -0.736}}.

In[ ] := FindMaximum[ P[x], {x, 0}] Out[ ] = { 1.031, {x –> 0.063}}.

Функции FindMinimum[f, {x, x0}, {y, y0},…], FindMaximum[f, {x, x0}, {y, y0},…]позволяют найти локальные экстремумы функции нескольких аргументов.

Пример 5.7

Нахождение локальных экстремумов функции двух переменных:

P2[x_,y_]=Sin[2Pi(x+y)]+Sin[2Pi(x-y)], (Рис. 5.2).

In[ ] := FindMaximum[P2[x, y], {x, 0.5}, {y, 0.5}]Out[ ] = {2., {x®0.75,y®0.5}}

In[ ] := FindMinimum[P2[x, y], {x, 0.5}, {y, 0.5}] Out[ ] = {-2., {x®0.25,y®0.5}}

Генераторы случайных чисел:

RandomReal[range] – дает псевдослучайное число типа Real с равномерным распределением в диапазоне range.

RandomInteger[range] – дает псевдослучайное число типа Integer со значениями в диапазоне range.

RandomComplex[range] – дает псевдослучайное число типа Complex со значениями в диапазоне range.

Правила написания. Основные встроенные функции - student2.ru Для всех типов псевдослучайных чисел диапазон range задается списком, включающим минимальную и максимальную границы: {imin, imax}. Если диапазон не указан, то по умолчанию он равен {0, 1}.

Для комплексных псевдослучайных чисел диапазон range задается минимальным и максимальным комплексным числом. По умолчанию он равен {0+0 I, 1+1 I}.

Простейшие циклические операции:

Sum[f, {i, imin, imax, di}] – суммирование значений функции f по индексу i в пределах от imin до imax с шагом di;

Sum[f, {i, imin, imax}, {j, jmin, jmax}] – вычисление двойной суммы;

Product[f, {i, imin, imax}] – вычисление произведения.

В циклических операциях значения di и imin можно опускать, если эти значения равны единице; в тех случаях, когда значения функции f не зависят от индекса, индекс можно не указывать.

Пример 5.8

In[ ] := Sum[x^i/i!, {i, 0, 3}]Out[ ] = 1 + x + x2/2+x3/6

In[ ] := Product[x-i, {i, 0, 3}]Out[ ] = (-3+x) (-2+x) (-1+x) x

In[ ] := Product[ x - Random[Integer, {-9, 9}], {3}] Out[ ] = (-7+x) (-2+x) (8+x)

Правила написания. Основные встроенные функции - student2.ru – один из возможных ответов.

Обратим внимание, что Математика соблюдает определенный порядок при выводе результатов; в частности, сомножители сортируются в порядке возрастания их значений.

Циклические операции могут быть описаны также с помощью математических символов, имеющихся в палитре Basic Math Input.

ФункцияFit[data, funs, vars].Эта функция находит такую линейную комбинацию функций, заданных в списке funs, которая аппроксимирует данные data с наименьшей среднеквадратичной ошибкой. Vars – список аргументов функций funs. Данные data могут быть заданы в виде списка {{x1, y1,…,f1}, {x2, y2,…,f2},…}, где количество координат x,y,… должно быть равно количеству аргументов функций funs.

Пример 5.9 Требуется аппроксимировать последовательность точек: data=

{{0, 2.3}, {1, 2.0}, {2, 2.4}, {3, 2.3}, {4, 2.8}, {5, 2.7}, {6, 3.2}, {7, 3.8}, {8, 3.9}, {9, 4.2}, {10, 4}}, –

Правила написания. Основные встроенные функции - student2.ru линейной зависимостью. Решение:

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

Обращение к функциям в системе Математика может быть записано в разных формах:

Правила написания. Основные встроенные функции - student2.ru f[x] - стандартная форма (standard form),

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 – появится список слов, из которого можно выбрать нужное слово, просто щелкнув на нем мышкой.

Наши рекомендации