Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. A. Различаем правила и стратегии.
  2. AT СТАЦИОНАРНАЯ И AT ОПЕРАТИВНАЯ. ПОЗЫ AT. ПРАВИЛА ВЫПОЛНЕНИЯ AT
  3. I. Основные сведения
  4. I. Основные сведения
  5. II. Основные задачи и функции
  6. II. Основные элементы гиалиновой хрящевой ткани
  7. II. Основные элементы ткани

· В языке Математики малые и большие буквы различаются.

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

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

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

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 –> d Out[]= {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],

I n[]:= 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[]= ,

In[]:= D[f[x, y[x]], x] Out[]= ,

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

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

Вычисление смешанной производной:

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.

Для всех типов псевдослучайных чисел диапазон 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)

– один из возможных ответов.

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

Циклические операции могут быть описаны также с помощью математических символов, имеющихся в палитре 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}}, –

линейной зависимостью. Решение:

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

 


Дата добавления: 2015-07-08; просмотров: 186 | Нарушение авторских прав


Читайте в этой же книге: Точные и приближенные вычисления. Численные и аналитические операции | Цикл Do | Немедленное и задержанное присваивание | Составление программ. Глобальные и локальные переменные | Прерывание вычислений | Матричные функции | Массивы | Двумерные графики | Изображения трехмерных объектов | Анимация |
<== предыдущая страница | следующая страница ==>
Рабочий документ и ячейки. Основные команды| Функции комплексного аргумента

mybiblioteka.su - 2015-2024 год. (0.017 сек.)