Рішення рівнянь нерівностей та їх систем

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Кафедра: Інформаційні Технології
Лабораторна Робота
На тему: РІШЕННЯ РІВНЯНЬ, нерівностей та їх систем.
Москва, 2008 рік

РІШЕННЯ РІВНЯНЬ, нерівностей та їх систем
Цілі роботи:
· Знати команди, використовувані при рішенні рівнянь і їх систем, нерівностей та їх систем в системі аналітичних обчислень Maple;
· Вміти застосовувати зазначені команди для вирішення математичних завдань.
ТЕОРЕТИЧНІ ВІДОМОСТІ
1. Введення
Система аналітичних обчислень Maple володіє можливістю рішення алгебраїчних рівнянь, нерівностей та їх систем як в аналітичному так і в чисельному вигляді. Для початку трохи докладніше зупинимося на самих рівняннях та нерівності.
Два вирази, з'єднані знаком рівності (=), представляють самостійний тип даних Maple - рівняння (equation). Рівняння можна привласнювати звичайним змінним Maple, з рівняннями можна здійснювати перетворення, використовуючи звичайні арифметичні дії, які виконуються окремо для лівої і правої частин рівнянь. Ці дії дозволяють перетворити рівняння до виду, зручного для використання, а іноді і полегшує Maple пошук рішення. Деякі перетворення, які можна здійснювати з рівняннями в системі Maple, наведені в прикладі 1.
Приклад 1. Допустимі операції з рівняннями.
> 3 * x ^ 3 +7 = 2 * x + x ^ 5;

> Whattype (%);

> D: = 3 * x ^ 3 +7 = 2 * x + x ^ 5;

> Whattype (d);

> D-(x ^ 4 = x ^ 4);

> D + (x ^ 4 = x ^ 4);

При перевірці типу змінної, значенням якої є рівняння, за допомогою команди whattype () результатом є рівність =, означає, що тип перевіряється змінної є рівнянням.
Як і при завданні рівнянь два вирази, з'єднані знаками> = (більше або дорівнює), <= (менше або дорівнює),> (більше) або (менше), представляють новий тип - нерівність (inequation).
Приклад 2. Нерівності.
> A <b;

> Whattype (%);

> D: = a> b;

> Whattype (d);

> D-(h> 4);

> D-(h <4);

При перевірці типу об'єкта, що представляє нерівність, в області виведення відображається або <>, або <, або <=. Справа в тому, що Maple "розуміє" тільки ці три типи. Нерівності протилежного знаку наводяться до них перестановкою лівої і правої частин з заміною знаків на протилежні.
2. Команда: solve ()
Команда solve () дозволяє вирішувати рівняння і системи рівнянь, нерівності і системи нерівностей. Ця команда завжди намагається знайти замкнутий рішення в аналітичній формі. Її синтаксис досить простий:
solve (ypaвнении, змінна);
solve ({рівняння l, рівняння 2, ...}, {мінлива l, змінна 2, ...});
Перша форма команди призначена для вирішення одного рівняння відносно заданої змінної. Друга форма дозволяє розв'язувати системи рівнянь відносно змінних, заданих другим параметром. Зауважимо, що система рівнянь і її невідомі змінні задаються у вигляді множин, результатом у цьому випадку є також безліч значень невідомих у вигляді рівнянь. У разі завдання одного рівняння результатом буде вираз (у випадку одного кореня рівняння) або послідовність виразів (у разі декількох коренів). Якщо не задана мінлива / змінні, щодо яких слід вирішувати рівняння / систему рівнянь, то Maple видасть всі рішення щодо всіх невизначених змінних у вихідних рівняннях. Якщо замість рівняння задано вираз з невідомими, то воно розглядається як ліва частина рівняння, тоді як права частина передбачається рівної 0. Деякі з перерахованих ситуацій ілюструє приклад 3.
Приклад 3. Рішення рівнянь і систем рівнянь.

> A: = x ^ 2 +7 * x + y ^ 3 = 0;

> Solve (a, x);

> Solve ({a}, x);

> A1: = 2 * x + y = 0;

> Solve ({a, a1}, {x, y});

> Solve (a1);

У деяких випадках команда solve () повертає порожню послідовність NULL. Це означає, що рішення або не існує, або Maple не вдалося його знайти. Якщо не вдалося знайти рішення, то глобальна мінлива _SolutionsMayBeLost встановлюється рівною true.
Останнє рівняння з прикладу 3. вирішувалося без вказівки змінної, щодо якої слід було б вирішувати рівняння. Maple вирішив їх щодо всіх невідомих величин, що входять в рівняння. Причому він вибрав невідому х як параметр (х = х), а невідому змінну у висловив через введений параметр х. Щоб отримати рішення, слід параметру х привласнити довільне значення, тоді значення невідомої у буде визначено однозначно.
У загальному випадку поліноміальний рівняння ступеня вище 4 може не мати рішення, вираженого за допомогою радикалів. У цьому випадку для представлення результатів Maple використовує спеціальну функцію RootOf (), яка застосовується для позначення будь-якого кореня вираження, заданого в якості її параметри:
> Eq: = x ^ 5 + x ^ 4 + x ^ 3 +8 = 0;

> D: = solve (eq, x);

> Evalf (d [1]);

> Solve (x =- 2 * cos (x));

У цьому прикладі функція RootOf (_Z + 2 cos (_Z)) представляє будь-яке рішення рівняння _Z + 2 cos (_Z) = 0. Змінна _Z - це системна змінна, що згенерувала Maple, яка всього лише замінює змінну х нашого рівняння. Опція index зі значенням, рівним цілому числу, служить для нумерації та впорядкування коренів рівняння. Зауважимо, що за допомогою функції evalf () можна отримати наближені числові значення функції RootOf.
За допомогою команди solve () можна вирішувати і тригонометричні
рівняння. За замовчуванням Maple вирішує їх на проміжку [-p, p]. Для отримання всіх рішень тригонометричних рівнянь слід задати значення глобальної змінної _EnvAllSolutions рівним true. Використання глобальної змінної _EnvAllSolutions показано на наступному прикладі:
> B: = sin (x) ^ 2-2 * sin (x) -1 = 0;

> S: = solve (b, x);

> _EnvAllSolutions: = True;

> S: = solve (b, x);

> About (_Z1);
Originally _Z1, renamed _Z1 ~:
is assumed to be: integer
> About (_B1);
Originally _B1, renamed _B1 ~:
is assumed to be: OrProp (0,1)
Як видно, у разі _EnvAllSolutions: = true Maple дійсно будує всі рішення тригонометричного рівняння з використанням целочисленной системної змінної _Z1 ~. Знак тильда (~) означає, що на значення змінної накладені деякі обмеження. У даному випадку ця змінна може приймати тільки цілочисельні значення. (У цьому можна переконатися, виконавши команду about (_Z1).) Подібні змінні використовуються Maple для представлення всіх рішень тригонометричних рівнянь. Префікс _Z в імені змінної, згенерованої Марlе, служить вказівкою того, що ця змінна може приймати тільки цілі значення. Крім зазначених змінних також використовуються змінні з префіксом _NN, що приймають невід'ємним цілим числом, і префіксом _B, для представлення змінних з двійкової областю значенні (0 або 1).
Для систем аналітичних обчислень рішення будь-якого трансцендентного рівняння, в тому числі і тригонометричного, досить складна і серйозна проблема. Буває, що просте трансцендентне рівняння може і не вирішуватися в Maple. Тут слід пам'ятати про те, що Maple використовує алгоритмічний підхід для вирішення рівнянь, і, можливо, йому слід допомогти, зробивши деякі не стандартні перетворення рівняння, привівши його до іншого виду.
Зазвичай, вирішивши рівняння або систему рівнянь, ми здійснюємо перевірку отриманого рішення, підставляючи його у вихідне рівняння або систему. Точно також слід чинити і при роботі в Maple. Для перевірки рішень можна використовувати функцію eval ():
> Fs: = {x +2 * y = 3, y +1 / x = 2};

> Answ: = solve (fs, {x, y});

> Eval (fs, answ [1]);

> Eval (fs, answ [2]);

З прикладу видно, що послідовність множин, які представляють два отриманих рішення, збережена у змінну answ. Для перевірки правильності отриманих рішень, підставляємо ці рішення у вихідну систему і обчислюємо отримані вирази за допомогою команди eval (). У результаті обчислення системи рівнянь на двох отриманих рішеннях ми отримали тотожності, що говорить про правильність наших рішень. Якщо для подальших обчислень необхідно мати значення першого рішення у вигляді окремих змінних, то тієї ж самою командою eval () можна витягти їх, обчисливши, відповідно, невідому х і у на першому рішенні:
> X1: = eval (x, answ [1]);

> Y1: = eval (y, answ [1]);

Для перевірки рішення можна використовувати функцію mар () разом з функцією subs (), яка за одну операцію перевірить всі рішення. Це зручно, коли рішень дуже багато і для кожного з них довелося б виконувати команду eval (), якщо використовувати попередній підхід. Для вирішення нашої системи виклик команди mар () виглядає так:
> Map (subs, [answ], fs);

Команда solve () може вирішувати невизначені системи рівнянь, в яких кількість рівнянь меншою кількості невідомих. У цьому випадку система Maple сама вирішує, які з невідомих прийняти за параметри, а які за невідомі, щодо яких слід будувати рішення:
> Fs1: = x +3 * y +4 * z +5 * t = 50;

> Fs2: = 3 * x +3 * y +2 * z + t = 30;

> Answ1: = solve ({fs1, fs1});

Тут рішення отримано в параметричній формі щодо невідомих y, t і z, які вибрані системою. Можна явно вказати, щодо яких невідомих слід вирішувати систему рівнянь, тоді залишилися будуть розглядатися як параметри:

> Answ2: = solve ({fs1, fs1}, {y, z});

У цьому рішенні явно вказані невідомі в і z, і отримане рішення залежить від двох параметрів х і t.
За допомогою функції eval () можна обчислити значення рішення при конкретних значеннях параметрів:
> Eval (answ2, {x = 1, z = 1, t = 1});

Буває, що при вирішенні систем рівнянь відповідь виходить у вигляді безлічі рівнянь, в яких ліва частина є невідомою змінною. Щоб привласнити знайдені значення змінним, щодо яких вирішувалася система, слід застосовувати команду assign (). Ця команда присвоює змінним, яке стоїть в лівій частині рівнянь з безлічі рішень, значення, рівні правим частинам. Можна сказати, що ця команда замінює знак рівності (=) на знак операції присвоєння (: =) у множині, що складається з рівнянь, в яких ліві частини представлені невідомими:
> {Q = a + b, w = g + p};

> Assign (%); q; w;


> Eq: = x * a + y * b = c;

> S: = solve ({eq, x + y = 1}, {x, y});

> Assign (s); x; y;


Якщо рішення отримано у вигляді послідовності виразів, то отримати значення відповідного рішення можна за допомогою індексу.
> Fs: = y ^ 4 +2 * y ^ 2 +2 = 0;

> D: = solve (fs);

> Y1: = d [1]; y1;


Нагадаємо, що в наведеному прикладі I означає комплексну уявну одиницю, рівну .
3. Команда: fsolve ()
За замовчуванням Maple намагається знайти аналітичний вираз для коренів рівняння. Якщо це не вдається, то, як зазначалося вище, в області виведення нічого не друкується. У подібних випадках (якщо коріння дійсно існують) можна скористатися командою fsolve (), яка знаходить чисельне рішення рівняння або системи рівнянь. Формат команди відрізняється від формату команди solve () наявністю третього параметра опція:
fsolve (рівняння, змінні, опція);
Завдання перших двох параметрів відповідає завданням аналогічних параметрів у команді solve (), а параметр опція може набувати значення з таблиці 1.
Таблиця 1. Значення параметра опцuя команди fsolve ()

Значення

Сенс

complex
Розшукуються комплексні корені (тільки для поліномів)

Fulldigits

Використовується арифметика з максимальною мантиссой

Maxsols = n

Розшукується n рішень (тільки для поліномів)
а .. b або
x = a.. b
Задано проміжок [а, b], на якому розшукується рішення (у другій формі завдання цієї опції х позначає ім'я невідомої змінної у рівнянні)
Для довільного рівняння за умовчанням ця функція знаходить одне рішення, але для поліномів визначаються всі дійсні корені. Для знаходження всіх коренів полінома, включаючи комплексні, слід задати опцію complex. У прикладі 4 показано використання команди чисельного рішення рівнянь.
Приклад 4. Чисельне рішення рівнянь.
> Eq: = x ^ 4 +2 * x ^ 2-2 = 0;

> S: = fsolve (eq, x);

> S: = fsolve (eq, x, complex);

> Fsolve (ln (sin (x)) = 0, x);

> Fsolve (ln (sin (x)) = 0, x, x = 2 .. infinity);

> Fsolve (ln (sin (x)) = 0, x, x = 15 .. infinity);


Тут також показано, як можна послідовно знаходити корені довільного рівняння, задаючи інтервал зміни невідомої величини з урахуванням отриманого рішення на попередньому кроці знаходження кореня (останні три команди).
4. Інші команди рішення рівнянь
Крім універсальних команд solve () і fsolve () рішення рівнянь і систем рівнянь, система Maple містить спеціалізовані команди, призначені або для вирішення певного класу рівнянь, або знаходження рішень в заданому числовому полі. Тут ці команди описані гранично коротко для того, щоб читач знав про їх існування. Більш докладно про ці командах можна дізнатися в довідковій системі Maple, виконавши команду? Імя_команди, де замість параметра імя_команди слід підставити її дійсне ім'я.
Команда isolve () шукає всі цілі рішення рівнянь. Якщо в рівнянні задано декілька невідомих, то будується рішення щодо всіх заданих невідомих.
Приклад 5. Цілочисельне рішення рівнянь.
> Isolve ({(x +1) * (x-1 / 2) * (x-2) = 0});

> Isolve ({5 * x +6 * y = 1});

У рішенні останнього рівняння прикладу 5 використана цілочисельна мінлива _Z1 згенерувала Maple.
Команда msolve () також шукає цілочисельні рішення рівняння, але тільки за модулем, заданому другим параметром.
Приклад 6. Цілочисельне рішення рівнянь по заданому цілого модулю.
> Solve ({3 * x-4 * y = 1,7 * x + y = 2});

> Msolve ({3 * x-4 * y = 1,7 * x + y = 2}, 11);

> Msolve ({3 ^ n = 4}, 11);

Команда rsolve () будує спільне рішення рекурентного рівняння, використовуючи початкові значення, якщо вони задані, або через їх символьні позначення, якщо вони не задані.
Приклад 7. Рішення рекурентних рівнянь.
> Rsolve ({F (n +2) = F (n +1) + F (n)}, F (n)); # Без початкових умов

> Rsolve ({F (n +2) = F (n +1) + F (n), F (0) = 1, F (1) = 1}, {F (n)});
# Використовуючи задані початкові умови

5. Рішення нерівностей
Команда solve () використовується для вирішення нерівностей і систем нерівностей в області дійсних чисел точно так само, як і для рішення рівнянь і систем рівнянь. Відповідь виражається або у вигляді безлічі нерівностей, або через функції RealRange () і Open (). Перша визначає замкнутий відрізок дійсних чисел, а друга використовується для вказівки того, що гранична точка не входить в побудоване рішення. Для завдання рішення у вигляді безлічі, слід задати у вигляді безлічі або саме нерівність, або невідому, щодо якої шукається рішення. Якщо цього не зробити, то відповідь буде отриманий з використанням зазначених функцій визначення дійсних відрізків.
Приклад 8. Рішення нерівностей.
> Solve ((x +3) / (4-x)> 4, x);

> Solve ((x +3) / (4-x)> 4, {x});

> Solve (log [1 / 2] (log [2] (x ^ 2-8 ))>=- 1);

> Solve ({log [1 / 2] (log [2] (x ^ 2-8 ))>=- 1});

У прикладі 8 вирішено два нерівності, для кожного з яких побудовано рішення у вигляді безлічі і у формі дійсних інтервалів.

Література
1. Говорухін В.М., Цибуліно В.Г. Введення в Maple. Математичний пакет для всіх. - М.: Світ, 1997. - 208 с.
2. Дьяконов В.П. Математична система Maple V. - М.: Видавництво "Солон", 1998.
3. Двайт Г.Б. Таблиці інтегралів та інші математичні формули. - М.: Наука. Головна редакція фізико-математичної літератури, 1983. - 176 с.
4. Матросов А.В. Maple 6. Рішення задач вищої математики і механіки. - СПб.: БХВ - Петербург, 2001 .- 528 с.
5. Манзон Б.М. Maple V Power Edition - М.: Інформаційно-видавничий дім "Філін", 1998р.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Лабораторна робота
37.3кб. | скачати


Схожі роботи:
Рішення рівнянь нерівностей систем з параметром
Методика рішення ірраціональних рівнянь і нерівностей в шкільному курсі математики 2
Методика рішення ірраціональних рівнянь і нерівностей в шкільному курсі математики
Рішення рівнянь і нерівностей з використанням властивостей функцій на елективної курсі з математики
Рішення рівнянь і нерівностей з використанням властивостей функцій на елективної курсі з математики 2
Рішення систем диференціальних рівнянь
Рішення систем лінійних рівнянь
Рішення систем лінійних рівнянь
Методи рішення систем лінійних рівнянь
© Усі права захищені
написати до нас