Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инстр_Mathem_v8.doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
1.91 Mб
Скачать

12. Функция Manipulate

Ф ункция Manipulate[expr, {u, umin, umax}] позволяет ввести в выражение expr элемент управления, дающий возможность изменять это выражение в диалоговом режиме. Выражение может быть произвольным. Оно может включать вычислительные или аналитические операции, может также описывать графики.

Пример 12.1. Построим график колебаний с линейной частотной модуляцией, с возможностью изменения коэффициента модуляции. Для этого напишем команду:

In[ ]:= Manipulate[Plot[Sin[x (1 + a x)], {x, 0, 2Pi}],

{a, 0, 1.}]

В ыполнив команду, увидим график синусоиды и над ним полосу прокрутки с движком в начальном левом положении. С помощью полосы прокрутки можно изменять значение параметра а. Щелкнув на знаке “+” в конце полосы прокрутки, откроем дополнительные диалоговые элементы: окно с текущим значением параметра а и кнопки управления. Окончательный вид графика показан на рис. 12.1. Щелкнув мышкой на черном треугольнике, включим анимацию: значение папраметра будет автоматически меняться от 0 до1.

Команда Manipulate[expr, {u, umin, umax, du}] вводит в выражение expr элемент управления, который можно изменять в пределах от umin до umax с шагом du.

Пример 12.2. Напишем команду, позволяющую вывести на экран формулы бинома Ньютона степени от 0 до 10:

In[ ] := Manipulate[Expand[(x+y)^n], {n, 0, 10, 1}]

Результат работы команды показан на рис. 12.2. В окне видим степень бинома. Кнопки “+” и “–” позволяют увеличивать и уменьшать степень. Щелкнув на черном треугольнике, запустим анимацию – автоматическое изменение степени. Остальные три кнопки позволяют менять скорость и направление автоматического изменения степени.

К оманда Manipulate[expr, {u, {u1, u2, …}}] вводит элемент управления, который принимает заданные значения u1, u2, ….

Команда Manipulate[expr, {u, …}, {v, …}, …] вводит несколько элементов управления.

Пример 12.3. Напишем команду для построения фигур Лиссажу:

In[ ] := Manipulate[ParametricPlot[{Cos[m x], Sin[n x]},

{x, 0, 2Pi}], {m,{1, 3, 5}}, {n, {1, 2, 3, 4, 5}}]

Результат выполнения команды показан на рис.12.3. Выбрать нужное значение параметра можно, щелкнув на соответствующей кнопке. Можно также включить автоматический просмотр всех фигур, щелкнув на знаке “+” и запустив команду autorun.

13. Аналитические операции. Интерполяция. Решение уравнений

13.1. Аналитические операции

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

Разложение функции в степенной ряд:

Series[f, {x, x0, n}] – строит степенной ряд для функции f относительно точки x0 до слагаемого степени n.

Series[f, {x, x0, nx}, {y, y0, ny}] – разложение по двум переменным.

Функция Series позволяет строить ряд Тейлора, а также разложения, включающие отрицательные и дробные степени. Функция Series строит также разложения относительно бесконечной точки.

Пример 13.1:

In[ ] := Series[f[x], {x, a, 3}]

Out[ ] = f[a] + f’[a] (x-a) + 1/2 f’’[a] (x-a)2 + 1/6 f(3)[a] (x-a)3 + O[x-a]4

In[ ] := Series[Exp[Sqrt[x]], {x, 0, 2}]

Out[ ] = 1 + x1/2 + x/2 + (x3/2)/6 + x2/24 + O[x]5/2

In[ ] := Series[Exp[1/x], {x, Infinity, 3}]

Out[ ] = 1 + 1/x + 1/2 (1/x)2 + 1/6 (1/x)3 + O[1/x]4

Пакет Математика содержит ряд функций для преобразования выражений.

Функция Expand[expr] – производит все возведения в степень и перемножения в выражении expr.

Пример 13.2: In[ ] := Expand[(x + 1)(x - 1)] -1 + x2.

Функция Factor производит разложение на множители.

Пример 13.3: In[ ] := Factor[x^2-1] Out[ ] = (-1+x) (1+x)

Функция TrigExpand[expr] – преобразует тригонометрические и гиперболические функции в выражении expr.

Пример 13.4:

1). In[ ] := TrigExpand[Cosh[a + b]] Out[ ] = Cosh[a] Cosh[b] + Sinh[a] Sinh[b].

2). Определим многочлен Чебышева:

In[ ] := P[n_Integer, x_] = Cos[n ArcCos[x]];

С помощью функции TrigExpand можем найти явный вид многочленов Чебышева разной степени:

In[ ] := Table[TrigExpand[P[k, x]], {k,4}] Out[ ] = {x, -1 + 2 x2, -3 x + 4 x3, 1 – 8 x2 + 8 x4}

Функция Simplify[expr, assum] – осуществляет алгебраические преобразования для упрощения выражения expr, используя допущения assum (необязательный элемент).

Пример 13.5: In[ ] := Simplify[ Cos[a] Cos[b] – Sin[a] Sin[b] ] Out[ ] = Cos[a + b].

Функция FullSimplify[expr, assum] – упрощает выражение, используя элементарные и специальные функции.

Пример 13.6:

1). In[ ] := FullSimplify[ Log[8] / Log[2] ] Out[ ] = 3.

2). In[ ] := FullSimplify[ ArcCos[ Sqrt[ 1 – a^2 ]], a > 0 ] Out[ ] = ArcSin[a].