дХОКНЛМШЕ ПЮАНРШ, ЙСПЯНБШЕ ОПНЕЙРШ МЮ ГЮЙЮГ, ЙНМРПНКЭМШЕ ПЮАНРШ МЮ ГЮЙЮГ

 

мЮВЕПРЮРЕКЭМЮЪ ЦЕНЛЕРПХЪ оПЮЙРХЙСЛ ОН ПЕЬЕМХЧ ГЮДЮВ цЕНЛЕРПХВЕЯЙНЕ ВЕПВЕМХЕ хМФЕМЕПМЮЪ ЦПЮТХЙЮ еяйд йПЮРМШЕ ХМРЕЦПЮКШ лЮРЕЛЮРХВЕЯЙХИ ЮМЮКХГ лЮРПХЖШ оПЕДЕКШ оПНХГБНДМШЕ бЕЙРНПМЮЪ ЮКЦЕАПЮ хМРЕЦПЮКЭМНЕ ХЯВХЯКЕМХЕ ртйо ъДЕПМЮЪ ТХГХЙЮ щКЕЙРПНЯРЮРХЙЮ лЮЦМЕРХГЛ нОРХЙЮ хМТНПЛЮЖХНММШЕ РЕУМНКНЦХХ

Предыдущий разделУровень вышеСледующий раздел

Программирование в системе Maxima

До сих пор мы использовали систему Maxima в интерактивном режиме, подобно калькулятору. Если часто приходится выполнять определенную последовательность вычислений, то лучше оформить ее в виде программы, которая затем вызывается в случае надобности. Ниже приводится небольшая программа для нахождения критических точек функции f(x). Пользователю предлагается ввести функцию f, после чего вычисляется производная введенной функции и при помощи функции solve решается уравнение fx = 0. Программа записывается в текстовый файл и затем загружается в систему Maxima при помощи функции batch. Приведем текст программы:

 /* ----------------------------------------------------- Это 
файл critpoints.max: (Maxima использует комментарии в стиле C) -------------------------------------------------- 
*/ critpts():=( print("Программа нахождения критических точек"), /* Запрос на 
ввод функции */ print("Введите функцию f(x):"), f:read(), /* Печать введенной 
функции (для контроля) */ print("f = ",f), /* В переменную eq помещаем значение 
производной */ eq:diff(f,x), /* Решаем уравнение */ solve(eq, x) )$ 
Программа состоит из единственной функции (без аргументов), которая называется critpts. Команды отделяются друг от друга запятыми. Вот пример выполнения программы:
 
(C1) batch("critpoints.max"); batching #p/home/test/critpoints.max (C2) critpts() 
:= (PRINT("Программа # нахождения критических точек"), PRINT("Введите функцию 
f(x):"), f : READ(), PRINT("f = ", f), eq : DIFF(f, x), SOLVE(eq, x)) (C3) critpts() 
; Программа нахождения критических точек Введите функцию f(x): (x+2)/(x^2+1); 
x + 2 f = ------ 2 x + 1 (D3) [x = - SQRT(5) - 2, x = SQRT(5) - 2] 

Предыдущий разделУровень вышеСледующий раздел