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

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

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

Оператор "штрих" можно использовать несколько раз подряд, чтобы вычислить производную более высокого порядка, чем первый. Так, производная второго порядка вычисляется командой f''(t). Правда, такой подход не очень удобен при вычислении производных очень высокого порядка. Намного легче это сделать с помощью функции D(). Аргументом функции указывается имя дифференцируемой функции. Результатом является оператор, определяющий функциональную зависимость для производной от исходной функции. Таким образом, этот оператор может быть применен к аргументу (или аргументам). Например, инструкцией D(f) вычисляется оператор для производной. Командой D(f)(z) вычисляется выражение для производной при значении символьной переменной z, а командой D(f)

(2) вычисляется значение производной при значении аргумента 2. Вычислить производную высокого порядка (например, 100-ю) можно с помощью оператора функциональной композиции @@, который полезен при многократном действии функционального оператора. Команда вычисления 100-й производной имеет вид (D@@100)(f)(t).

На заметку

По определению оператора @@ инструкция вида (f@@5)(x) означает вычисление выражения f(f(f(f(f(x))))). Соответственно, инструкция

(D@@100)(f)(x)означает вычисление выражения D(D(...(D(D(f)))))

(x) – символов D должно быть ровно 100.

Частные производные также вычисляются достаточно просто. В этом случае применяется функция diff() или функция D(). В документе на рис. 9.26 процесс вычисления частных производных иллюстрируется на примере функции F(x,y) = xn exp(−ay) двух переменных – задается командой

F:=(x,y)->x^n*exp(-a*y).

Частая производная

2F(x,y)

вычисляется командой diff(F(x,y),x,y).

xy

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

При вычислении частных производных с помощью функции D() первым ее аргументом указывается список с числами, определяющими номера аргументов функции, по которым вычисляются частные производные. Второй аргумент функции D() является именем функции, от которой вычисляются частные производные. Инструкция D([1],F) означает, что производная вычисляется по первому аргументу функции F(). Результатом является оператор, определяющий функциональную зависимость для соответствующей частной производной.

376

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

Рис. 9.26. Вычисление частных производных разными методами

Команда D([1,2],F)(x,y) означает частную производную

2F(x,y)

(то

xy

есть производная по первому x и второму y аргументам). Для вычисления

производной 6F(x,y)

(пятая производная по первому аргументу и пер-

5

x =2

x y

y=1

 

вая производная по второму аргументу, при значении первого аргумента 2 и значении второго аргумента 1) используем команду D([1$5,2],F)(2,1).

На заметку

Результат инструкции 1$5 есть последовательность из пяти единиц, то есть

1,1,1,1,1.

377

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

Вычисление интегралов

Если возражений нет, то форма принимается. Приступим к проверке содержания.

К/ф "Чародеи"

Интегралы вычисляются функцией int(). Первым аргументом указывается подынтегральное выражение. Второй аргумент – переменная интегрирования. Если интеграл определенный, то переменная интегрирования указывается вместе с диапазоном изменения.

На заметку

Бесконечность обозначается ключевым словом infinity.

Примеры вычисления интегралов приведены в документе на рис. 9.27.

Рис. 9.27. Вычисление интегралов

Неопределенный интеграл

exp(−ax)cos(bx)dx = b sin(bx) −a cos(bx) exp(−ax) a2 +b2

вычисляется командой int(exp(-a*x)*cos(b*x),x). Для вычисления

определенного интеграла exp(−x)cos(5x)dx = 1 используем коман-

26

0

378

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

ду int(exp(-x)*cos(5*x),x=0..infinity). Так же легко вычисля-

π2

ется интеграл cos(x)3 sin(x)7dx = 1 . В этом случае мы используем

40

0

команду int(cos(x)^3*sin(x)^7,x=0..PI/2). Здесь все достаточно просто. Тем не менее, нередко при вычислении интегралов, особенно несобственных, приходится задавать дополнительные условия относительно параметров, которые входят в интеграл. Например, интеграл Пуассона

π сходится при значениях параметра a > 0 . При вы-

exp(−ax2)dx =

1

 

 

2

 

a

0

 

 

 

числении соответствующего интеграла в среде MuPAD необходимо предварительно указать, что переменная a, входящая в подынтегральное выражение, положительна. Для этого перед вычислением интеграла командой assume(a>0) задаем нужное ограничение на переменную a. После этого интеграл вычисляется командой int(exp(-a*x^2),x=0..infinity).

К сожалению, далеко не любой интеграл можно вычислить в аналитическом виде. В этом случае в области вывода отображается символьное представление для интеграла, как это показано на рис. 9.28 при попытке вы-

1

 

числить интеграл sin(2πx)dx с помощью команды int(sin(2*PI*x)/

0

1 + x

 

sqrt(1+x),x=0..1).

 

Рис. 9.28. Вычисление определенного интеграла в числовом виде

379

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

В таком случае можно прибегнуть к вычислению интеграла в числовом виде. Для этого используем команду float(int(sin(2*PI*x)/sqrt(1+x), x=0..1)) или numeric::int(sin(2*PI*x)/sqrt(1+x),x=0..1). В первом случае выполняется попытка вычислить интеграл в символьном виде, и если не удается, то вычисления производятся с использованием числовых алгоритмов. Во втором случае числовые алгоритмы используются сразу.

Решение алгебраических уравнений

и неравенств

Работа у меня такая – думать дальше своего носа.

Дж. Буш (младший)

Для решения алгебраических уравнений и неравенств используется функция solve(). Аргументами функции solve() передаются уравнения или неравенства, которые необходимо решить. Если уравнений (неравенств) несколько, они оформляются в виде списка – заключаются в квадратные скобки. Кроме уравнений и неравенств, обычно указывают переменные, относительно которых решается уравнение, неравенство или система. Если таких переменных несколько, то они тоже заключаются в квадратные скобки. Пример решения алгебраического уравнения и системы из двух алгебраических уравнений приведен в документе на рис. 9.29.

Рис. 9.29. Решение алгебраических уравнений и систем

380

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