НОУ ІНТУЇТ | лекція | основи Maxima
- 2.8 Рішення задач елементарної математики 2.8.1 Знаходження коренів рівнянь і систем рівнянь алгебри
- 2.9 Побудова графіків і поверхонь
- 2.9.1 Побудова графіка явною функції y = f (x)
- 2.9.2 Побудова графіків функцій, заданих параметрично
- 2.9.3 Побудова кривих у полярній системі координат
- 2.9.4 Побудова тривимірних графіків
2.8 Рішення задач елементарної математики 2.8.1 Знаходження коренів рівнянь і систем рівнянь алгебри
Рішення алгебраїчних рівнянь і їх систем здійснюється за допомогою функції , В якості параметрів. У перших квадратних дужках вказується список рівнянь через кому, по-друге - список змінних, через кому (або кілька спрощені форми запису):
приклади:
Рішення одного рівняння з одним невідомим
Рішення одного рівняння в символьному вигляді:
(% I2) solve ([xa / x + b], [x]);
Рішення системи рівнянь у символьному вигляді:
(% I10) solve ([x * y / (x + y) = a, x * z / (x + z) = b, y * z / (y + z) = c], [x, y, z ]);
В останньому прикладі рішень кілька, і Maxima видає результат у вигляді списку.
функція застосовна і для вирішення тригонометричних рівнянь. При цьому в разі безлічі рішень у тригонометричних рівнянь видається відповідне повідомлення тільки і одне з рішень.
приклад:
(% I13) solve ([sin (x) = 0], [x]); solve: using arc-trig functions to get a solution. Some solutions will be lost.
Також Maxima дозволяє знаходити комплексні корені
(% I18) solve ([x ^ 2 + x + 1], [x]);
2.9 Побудова графіків і поверхонь
Для виведення графіків на екран або на друк за допомогою Maxima існують кілька варіантів форматів і, відповідно, програм виведення графіки, а саме:
Всі варіанти інтерфейсу (крім wxMaxima) для побудови графіків використовують дві базові функції: (Побудова двовимірних графіків) і (Побудова тривимірних графіків).
При використанні wxMaxima крім них використовуються ще дві аналогічні команди: і . Всі команди дозволяють або вивести графік на екран, або (в залежності від параметрів функції) в файл.
2.9.1 Побудова графіка явною функції y = f (x)
Графік функції на відрізку можна побудувати за допомогою функції ) або ). Опції не обов'язкові, проте, для зміни властивостей графіка їх потрібно ставити. параметр можна не ставити, тоді висота графіка вибирається за замовчуванням. Побудуємо графік функції на відрізку .
(% I2) plot2d (sin (x), [x, 4 *% pi, 4 *% pi]); (% I3) plot2d (sin (x), [x, 4 *% pi, 4 *% pi], [y, -2,2]);
Результати наведені на Мал. 2.1 , Мал. 2.2
2.9.2 Побудова графіків функцій, заданих параметрично
Для побудови графіків функцій, заданих параметрично, використовується опція . Для побудови графіка вказується область зміни параметра. Приклад графіка найпростішої параметричної функції представлений на Мал. 2.3 .
Команда побудови графіка: plot2d ([parametric, cos (t), sin (t), [t, -% pi,% pi], [nticks, 80]], [x, -4/3, 4/3])
опція вказує число точок, за якими проводиться крива.
Розглянемо деякі опції.
Опції вказуються у вигляді аргументів функції в квадратних дужках. Можлива установка легенди, міток на осях, кольору і стилю графіка. Застосування декількох опцій характеризує наступний приклад:
(% I17) plot2d ([[discrete, xy], 2 *% pi * sqrt (l / 980)], [l, 0,50], [style, [points, 5,2,6], [lines, 1,1]], [legend, experiment, theory], [xlabel, "pendulum's length (cm)"], [ylabel, "period (s)"]);
В даному прикладі в одних осях будуються два графіка. перший будується в вигляді точок по масиву із зазначенням стилю . Другий будується за рівнянням функції із зазначенням стилю . опція вказує підписи кривих, опції і - підписи осей. Результат наведено на Мал. 2.4 .
Формування масивів для побудови графіка здійснюється наступним чином:
(% I12) xx: [10, 20, 30, 40, 50]; (% I13) yy: [. 6, .9, 1.1, 1.3, 1.4]; (% I14) xy: [[10, .6], [20, .9], [30,1.1], [40,1.3], [50,1.4]];
Можна комбінувати в одних осях графіки кривих різного типу: функції або параметричні
наприклад (див. Мал. 2.5 ):
plot2d ([x ^ 3 + 2, [parametric, cos (t), sin (t), [t, -5, 5], [nticks, 80]]], [x, -2, 2], [xlabel , "x"], [ylabel, "y"], [style, [linespoints, 3,2], [lines, 3,1]], [gnuplot_term, ps], [gnuplot_out_file, "test.eps"]) ;
Опції [gnuplot_term, ps], [gnuplot_out_file, "test.eps"] вказують, що графічна ілюстрація виводиться в файл у форматі (Бекенд для виведення графіків - ).
Опції [style, [linespoints, 3,2], lines, 3,1]] дозволяють вказати стиль ліній на графіку (лінія з точками або суцільна лінія).
Для виведення результатів в формат можна використовувати опції (вказівка розмірів 400,400 в загальному випадку необов'язково): [gnuplot_term, png size 400,400], [gnuplot_out_file, max.png]
2.9.3 Побудова кривих у полярній системі координат
Для побудови графіка в полярних координатах потрібно задати зміну значень полярного радіусу і полярного кута. нехай - залежність полярного радіусу від полярного кута . Тоді графік цієї функції в полярних координатах можна побудувати, задавши у функції опцію [gnuplot_preamble, set polar; set zeroaxis]. Дана опція буде діяти лише за умови, що обраний формат графіка .
Приклад: побудувати в полярних координатах графік функції .
Для створення графіка використовуємо команду:
plot2d ([3 * (1-ph + ph ^ 2)], [ph, 0,2 *% pi], [gnuplot_preamble, "set polar", "set zeroaxis", "set encoding koi8r"], [xlabel, x], [gnuplot_term, ps], [gnuplot_out_file, "max.eps"], [plot_format, gnuplot]);
Результат наведено на Мал. 2.6 . Товщину і стиль лінії можна регулювати, використовуючи опцію (Наприклад, опція [style, [lines, 3,1]] встановлює ширину лінії 3 і синій колір).
Приклад: побудувати в полярних координатах графіки трьох функцій .
Для створення графіка використовуємо команду:
plot2d ([6 * cos (ph), ph, 2 * sin (ph)], [ph, 0,2 *% pi], [gnuplot_preamble, "set polar", "set zeroaxis", "set encoding koi8r"] , [xlabel, x], [gnuplot_term, ps], [gnuplot_out_file, "max3.eps"], [plot_format, gnuplot]);
Результат наведено на Мал. 2.7 .
2.9.4 Побудова тривимірних графіків
Основна команда для побудови тривимірних графіків - . Розглянемо технологію побудови графіків з використанням інтерфейсу . Поверхня функції в кольоровому зображенні будується з використанням опції ( Мал. 2.8 ).
приклад:
(% I2) plot3d (atan (-x ^ 2 + y ^ 3/4), [x, -4, 4], [y, -4, 4], [grid, 50, 50], [gnuplot_pm3d, true ], [gnuplot_term, ps], [gnuplot_out_file, "plot31.eps"]);
З використанням цієї опції і особливостей програми можна побудувати і зображення ліній рівня функції. приклад ( Мал. 2.9 ):
(% I3) plot3d (cos (-x ^ 2 + y ^ 3/4), [x, -4, 4], [y, -4, 4], [gnuplot_preamble, "set view map"], [gnuplot_pm3d , true], [grid, 150, 150], [gnuplot_term, ps], [gnuplot_out_file, "plot32.eps"]);
Більш суворий результат можна отримати, використовуючи стандартний формат функції . приклад ( Мал. 2.10 ):
(% I4) plot3d (2 ^ (- u ^ 2 + v ^ 2), [u, -3, 3], [v, -2, 2]);
Для виведення графіка в файл все одно необхідно використовувати опції (Встановити термінал і ім'я файлу результату). Необхідна команда:
(% I5) plot3d (2 ^ (- u ^ 2 + v ^ 2), [u, -3, 3], [v, -2, 2], [gnuplot_term, ps], [gnuplot_out_file, "plot33.eps "]);
Зміна формату графіки також можлива за рахунок використання опцій . Приклад (висновок графіки в форматі - Мал. 2.11 ):
(% I6) plot3d (2 ^ (- u ^ 2 + v ^ 2), [u, -3, 3], [v, -2, 2], [plot_format, openmath]);
Перевагою даного формату є вбудована можливість збереження копії графічного зображення в файл, редагування і повороту побудованого графіка.
Функція, для якої будується тривимірний графік, може здаватися як Maxima або Lisp -функція, лямбда-функція або вираз Maxima загального вигляду. При використанні формату вираз розглядається як функція двох змінних. При використанні формату , Кожна функція розглядається як функція трьох змінних.
Мал.2.11.
Простий графік функції двох змінних (формат OpenMath)
Приклад використання формату ( Мал. 2.12 ):
функція дозволяє будувати графіки функцій, заданих в циліндричних або сферичних координатах за рахунок використання перетворення координат (опція [transform_xy, polar_to_xy] або функція make_transform (vars, fx, fy, fz)).
Певні переваги забезпечує формат , Наявний в графічному інтерфейсі wxMaxima ( і ). Команда побудови графіка в форматі wxMaxima по синтаксису мало відрізняється від синтаксису команд і . Якість відтворення графіків на екрані wxMaxima відносно невисоку, але легко, виділивши графік клацанням миші, зберегти його в файл (за замовчуванням ). Якість копії у файлі набагато краще, ніж малюнка в вікні wxMaxima.