Главная Обратная связь

Дисциплины:






Построение графиков функций



Функции в Maxima употребляются в двух смыслах: в математическом и «программистском». Для определения функции в математическом смысле достаточно написать, например, y:x^2+2. Maxima понимает, что переменная y есть функция переменной x. Для построения ее графика можно использовать функцию plot2d:

plot2d(y,[x,-5,5]).

Здесь первый аргумент y — функция, график которой строим, второй аргумент — список из трёх элементов: х — переменная, -5 и 5 — границы отрезка построения по оси абсцисс. При необходимости построить несколько графиков вместо первого аргумента функции plot2d нужно указать список функций, например

plot2d([y,z],[x,-5,5]).

Если функция имеет параметр, например, , где a — параметр, то её нужно определять как функцию в программистском смысле, зависящую от основного аргумента х и от параметра а:

y(a,x):=a*x^2.

Здесь для присваивания использован оператор «:=».

При построении нужно указывать конкретные значения параметра, например

plot2d([y(2,x),y(4,x)],[x,-5,5]).

График функции можно строить также по точкам, то есть по заранее вычисленным значениям переменных х и у. Для этого необходимо задать интервал изменения аргумента в виде списка:

x:makelist(k*0.2, k, 0, 100);

Затем нужно определить функцию в «программистском» смысле

f(x):=x*sin(x);

вычислить значения функции для каждого элемента списка, например, так

y:map(f,x),numer;

и построить график по точкам

plot2d([discrete,x,y]);

В результате получим график, изображенный на рис. 3.

Рис. 3 Пример графика функции

Построение графиков двух переменных рассмотрим на простом примере. Определим фунуцию двух переменных

ff(x,y):=exp((-x^2-y^2)/20);

строим 3d график

plot3d(ff(x,y),[x,-5,5],[y,-5,5]);

получаем график, изображённый на рис. 4

 

Рис. 3 Трехмерный график

 

Решение уравнений.

Процесс решения уравнений в любой математической программе зависит от сложности и типа уравнения. Некоторые из них можно решить аналитически, другие решаются только численно. Maxima обладает возможностью как аналитического, так и численного решения уравнений. Сначала необходимо ввести уравнение в строке ввода Maxima, например:

(%i1) 3*x^3-2*x^2+5*x-8=0;

(%o1)

или

(%i1) eq1:3*x^3-2*x^2+5*x-8=0;

(%o1) .

 

Для решения уравнений предусмотрено довольно много функций. Перечислим некоторые из них.

1) realroots(Уравнение) — ищет действительные корни полиномиального уравнения с действительными коэффициентами (Меню «Уравнения -> Корни полинома (вещественные)»):

(%i4) realroots(eq1);

(%o4)

 

2) nroots(Уравнение,min,max) — находит количество корней полиномиального уравнения с действительными коэффициентами на отрезке [min,max]:



(%i5) nroots(eq1,0,inf);

(%o5) 1.

 

3) allroots(Уравнение) — ищет все корни полиномиального уравнения (Меню «Уравнения -> Корни полинома»):

(%i6) allroots(eq1);

(%o6) [x=1.176534437353076,

x=1.483762909456726*%i-0.2549338853432,

x=-1.483762909456726*%i-0.2549338853432]

 

4) solve([Список уравнений], [Список переменных]) (Меню «Уравнения -> Решить...»):

(%i10) solve([eq1],[x]);

 

5) find_root(Уравнение, Переменная, Левая граница,Правая граница) — выполняет поиск корня на указанном отрезке методом деления отрезка пополам (Меню «Уравнения -> Решить численно...»):

(%i26) find_root(x^2-1=sin(x),x,0,2);

(%o26) 1.409624004002596

 

Вычисление пределов, производных, интегралов доступно в Меню «Анализ». Например, вычислим первый замечательный предел («Анализ -> Найти предел»):

 

(%i28) limit(sin(x)/x, x, 0);

(%o28) 1

Для вычисления производной достаточно использовать пункт меню «Анализ -> Дифференцировать», который скрывает в себе функцию

diff(Выражение, Переменная), например:

(%i1) f:(x^2)*exp(-x^2);

(%o1)

(%i2) diff(f, x);

(%o2) .

 

Для вычисления интеграла нужно использовать пункт меню «Анализ -> Интегрировать». Например, вычислим интеграл :

(%i4) y:a*x^2;

(%o4)

(%i5) integrate(%, x, 0, 1);

(%o5) .

 





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...