* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
1104
Программирование в системах компьютерной алгебры
итераций. Затем полученное значение x=x1 вновь подставляется в (u(x)–x), вы полняется вторая итерация и т. д. Таким образом получается вектор значений x (x0, x1,...).
14.4.5. Примеры функционального программирования в Derive
Функции ITERATES и ITERATE можно использовать для реализации различных методов решения нелинейных уравнений. Так, следующий пример показывает задание функции, решающей систему нелинейных уравнений:
FIXED_POINT(g,x,x0,n) := ITERATES(LIM(g,x,xk),xk,x0,n)
Здесь g – вектор правых частей системы нелинейных уравнений вида f(x)=x, x – вектор переменных, x0 – вектор начальных значений переменных и n – число переменных. Однако во многих случаях желательно, чтобы созданная пользователем функ ция могла иметь в качестве параметра не просто вычисляемое тут же арифмети ческое выражение, а произвольно заданную функцию. Derive позволяет переда вать символическое значение функций, введенных в качестве параметров в лист параметров, если эти функции используются в составе встроенных функций Derive. Эта возможность становится ясной из следующего простого примера:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: "Ooieoey iieuciaaoaey n ia?aiao?ii – ooieoeae" F (y, x, a) := LOG (lim y) x->a 2 F (x , x, 2) 1.38629 "I?iaa?ea" 2 LOG (2 ) 1.38629 3 F (x , x, 2) 2.07944 "I?iaa?ea" 3 LOG (2 ) 2.07944
В этом отнюдь не тривиальном примере задана некоторая функция F(y,x,a). Однако здесь y и x – необычные параметры. Они позволяют передать в правую часть выражения #2 некоторую произвольную функцию y(x), указанную обоб щенным именем y и имеющую аргумент x. А вот a – обычный параметр. Данная функция вычисляет натуральный логарифм для любого значения y(x) при x=a.