Материал: Matlab. Практический подход. Самоучитель

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 9. Символьные вычисления

Рис. 9.21. Определение функции

На рис. 9.22 приведен пример объявления и использования функции двух переменных.

Функция объявляется командой F:=(x,y)->sin(x)*sin(y)/sqrt(x^2+ y^2). Там же приведен пример вызова этой функции при создании двумерного графика. При этом функция передается с одним фиксированным аргументом. На рис. 9.23 приведены другие примеры использования функции двух переменных.

На заметку

Стоит отметить, что необходимости отдельно объявлять символьные переменные в среде MuPAD нет. Все переменные по умолчанию полагаются символьными, а операции выполняются в символьном виде.

371

Самоучитель Matlab

Рис. 9.22. Функция двух переменных

Рис. 9.23. Использование функции двух переменных

372

Глава 9. Символьные вычисления

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

Нас всех губит отсутствие дерзости в перспективном видении проблем. Мы не можем себе позволить фантазировать.

К/ф "Семнадцать мгновений весны"

Не будет большой новостью узнать, что производные в MuPAD вычисляются с помощью функции diff(). Дифференцируемое выражение указывается первым аргументом функции, а переменная дифференцирования – вторым. Примеры использования функции diff() для вычисления производной приведены в документе на рис. 9.24.

Рис. 9.24. Производная от функции одной переменной вычислена с помощью функции diff()

Дифференцируемое выражение может быть непосредственно указано аргументом функции diff(), как в команде diff(x^2*sin(x),x). Этой же функцией diff() вычисляются производные высоких порядков. В общем случае переменные, по которым вычисляются производные от выражения – первого аргумента функции diff(), указываются через запятую в соответствии с порядком вычисления производной. Поскольку переменная дифференцированиявданномслучаеодна,тоименнооначереззапятуюуказывается в списке аргументов функции diff(). Например, команда diff(f(x),x)

373

Самоучитель Matlab

означает первую производную, а команда diff(f(x),x,x) означает вторую производную. В обоих случаях дифференцируется выражение f(x), вычисленное на основе функции f(), определенной ранее.

На заметку

Результат вычисления производной очень часто представлен в неупрощенном виде. Для упрощения результата используют функцию simplify(), аргументом которой передается упрощаемое выражение. Бывает удобно в качестве ссылки на результат предыдущей команды использовать инструкцию %, как, например, в команде simplify(%).

Интерес представляет команда simplify(diff(f(x),x$100)). Вопервых, здесь команда дифференцирования "спрятана" аргументом функции simplify() – то есть производная вычисляется, и результат сразу упрощается. Но что же это за производная? Это 100-я производная по переменной x от выражения f(x). Чтобы понять это, необходимо учесть, что результатом инструкции x$100 является последовательность из 100 элементов, каждый из которых равен x.

На заметку

Последовательность – набор элементов, разделенных запятыми. Оператор последовательности $ имеет несколько форм вызова. В формате x$n формируется последовательность из n элементов x.

Что касается функции diff(), то она хороша всем, кроме одного – с ее помощью не получится вычислить производную для конкретного числового зна-

чения аргумента. В этом случае сначала придется получить общее символьное выражение, а уже затем подставить вместо аргумента нужное числовое значение. Благо, кроме функции diff(), есть и другие способы вычислить производную.

При работе с функциями одной переменной производные можно вычислять с помощью специального оператора производной – штриха. Штрих возле имени функции означает производную от этой функции. Также производная вычисляется с помощью функции D(). Аргументом этой функции указывается имя функции, для которой вычисляется производная. Обратимся к примерам в продолжении рассмотренного выше документа, представленном на рис. 9.25.

Если воспользоваться командой вида f', в результате получим формальное правило вычисления производной от функции одной переменной f().

На заметку

Чтобы понять результаты вычислений, в которых используются функции, удобно представлять функции как операторы. Команду определения функции вида

имя_функции:=аргументы->выражение можно интерпретировать следующим

374

Глава 9. Символьные вычисления

Рис. 9.25. Вычисление производной с помощью функции D() и символа производной

образом. Инструкция аргументы->выражение задает правило, определяющее, какие действия должны быть выполнены, в соответствии с этим правилом, над аргументами, чтобы получить выражение. Это правило в качестве значения присваивается переменной имя_функции. Эта переменная становится оператором, действие которого на аргументы сводится к применению соответствующего правила. Другими словами, если имеет место команда имя_функции(аргументы), то результат получается применением правила аргументы->выражение к аргументам.

Если используем команду f'(z), то получаем значение производной от функции f(z) по переменной z. Удобно и то, что при вычислении производной с помощью оператора "штрих" аргументом функции может быть указано число – например, как в команде f'(2). В этом случае сначала вычисляется производная, а затем в полученное выражение вместо символьной переменной, по которой вычислялась производная, подставляется значение 2.

375

Источник: https://studfile.net/preview/16433384/