17153

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

Лекция

Информатика, кибернетика и программирование

Лекція №24 Тема: Розв’язання рівнянь нерівностей і їх систем. План Команда solve Maple. Функція RootOf. Використання функції eval. Команда fsolve. Інші команди рішення рівнянь. Рішення нерівностей. Практично жодна задача не обходиться без рішення ...

Украинкский

2013-06-29

63.34 KB

16 чел.

Лекція №24

Тема: Розв’язання рівнянь, нерівностей і їх систем.

План

  1.  Команда solve() Maple.
  2.  Функція RootOf().
  3.  Використання функції eval().
  4.  Команда fsolve().
  5.  Інші команди рішення рівнянь.
  6.  Рішення нерівностей.

Практично жодна задача не обходиться без рішення якого-небудь рівняння або системи рівнянь, нерівності або системи нерівностей. Команда solve() системи Maple є універсальним засобом, що дозволяє вирішувати рівняння алгебри, нерівності і їх системи. Зупинимося на тих об'єктах, з якими ця команда працює, — на рівняннях і нерівностях.

Два вирази, сполучені знаком рівності (=), представляють самостійний тип даних Maple — рівняння (equation). Рівняння можна привласнювати звичним змінним Maple, з ними можна здійснювати перетворення, використовуючи звичні арифметичні дії, які виконуються окремо для лівої і правої частин рівнянь. Ці дії дозволяють перетворити рівняння до вигляду, зручного для використовування, а іноді і полегшуючому Maple пошук рішення. У примере1  приведені деякі перетворення, які можна здійснювати з рівняннями в Maple.

Приклад 1. Допустимі операції з рівняннями

> 2*x^2+5=x+x^4;





2

x

2

5



x

x

4

> whattype(%);

При перевірці типу змінної, значенням якої є рівняння, за допомогою команди whattype() результатом є рівність =, що означає, що тип змінної, що перевіряється, є рівнянням.

Так само. як і при завданні рівнянь, два вирази, сполучені знаками >= (більше або рівно), <= (менше або рівно), > (більше) або < (менше), представляють новий тип — нерівність (inequation).

Приклад 2. Нерівності

> f:=x>y;

> whattype(%);

> f-(z>4);

При перевірці типу об'єкту, що представляє нерівність, у області висновку відображається або про, або <, або <=. Річ у тому, що Maple "розуміє" тільки ці три типи. Нерівності протилежного знаку приводяться до них перестановкою лівої і правої частин із заміною знаків на протилежні.

Команда solve()

Команда solve()  дозволяє вирішувати рівняння і системи рівнянь, нерівності і системи нерівностей. Вона завжди намагається знайти замкнуте рішення в аналітичній формі. Її синтаксис, як і синтаксис всіх команд Maple, достатньо простий і легко запам'ятовується:

solve (рівняння, змінна);

solve ({уравнение1,уравнение2,...},{переменная1, переменная2, ...});

Перша форма команди призначена для вирішення одного рівняння щодо заданої змінної, тоді як друга форма дозволяє вирішувати системи рівнянь щодо змінних, заданих другим параметром. Звернемо увагу на те, що система рівнянь і її невідомі змінні задаються у вигляді множин. Результатом в цьому випадку є також безліч значень невідомих у вигляді рівнянь, тоді як у разі завдання одного рівняння результатом буде вираз (у разі одного коріння рівняння) або послідовність виразів (у разі декількох коріння). Якщо не задана переменная/переменные, щодо яких слід вирішувати рівняння/систему рівнянь, то Maple видасть всі рішення щодо всіх невизначених змінних в початкових рівняннях. Якщо замість рівняння заданий вираз з невідомими, то воно розглядається як ліва частина рівняння, тоді як права частина передбачається рівною 0. Пример3 ілюструє деякі з перерахованих ситуацій.

 

Приклад 3 Рішення рівнянь і систем рівнянь

> eq:=x^2-2*x+y^2=0;

> solve(eq,x);

> solve({eq},x);

> eq1:=x+y=0;

> solve({eq,eq1},{x,y});

> solve(eq);

Коли Maple не може знайти жодного рішення, то команда solve() про повертає порожню послідовність null. Це означає, що або рішення не існує, або Maple не вдалося його знайти. Якщо не вдалося знайти всі рішення, то глобальна змінна _SolutionsMayBeLost встановлюється рівною true.

Рішення останнього рівняння з примера3  здійснювалося без вказівки змінної, щодо якої слід було вирішувати рівняння. Maple вирішив їх щодо всіх невідомих величин, що входять в рівняння. Причому він вибрав невідому х як параметр (х = х), а невідому змінну у виразив через введений параметр х. Щоб одержати рішення, слід параметру х привласнити довільне значення, тоді значення невідомої у буде визначено однозначно.

У загальному випадку поліноміальноє рівняння ступеня вище 4 може не мати рішення, вираженого за допомогою радикалів. В цьому випадку для представлення результатів Maple використовує спеціальну функцію RootOf(), яка застосовується для позначення будь-якого коріння виразу, заданого як її параметр:

> eq:=x^5+x^3+1=0;

> s:=solve(eq,x);

> evalf(s[1]);

> solve(x=cos(x));

В даному прикладі функція RootOf (_Z - cos(_ Z)) представляє будь-яке рішення рівняння _Z-cos(_Z)= 0. Звернемо увагу на змінну _Z. Це системна змінна, що згенерує Maple, яка всього лише замінює змінну х нашого рівняння. Опція index із значенням, рівним цілому числу, служить для нумерації і впорядковування коріння рівняння. Звернемо увагу, що за допомогою функції evalf() можна набути наближені числові значення функції RootOf.

Особливо відзначимо рішення за допомогою команди solve() тригонометричних рівнянь. За умовчанням Maple вирішує їх на проміжку [-р, π ] . Для отримання всіх рішень тригонометричних рівнянь слід задати значення глобальної змінної _EnvAllSolutions рівним true. Наступний приклад ілюструє використовування глобальної змінної _EnvAllSolutions:

> eq:=sin(x)^2+2*sin(x)+1=0;

> s:=solve(eq,x);

> _EnvAllSolutions:=true;

> s:=solve(eq,x);

Як видно, у разі _EnvAllSolutions:=true Maple дійсно будує всі рішення тригонометричного рівняння з використанням цілочисельної системної змінної _Z1~, в якій знак тильда (~) означає, що на значення змінної накладені деякі обмеження. В даному випадку ця змінна може приймати тільки цілочисельні значення. (У цьому можна переконатися, виконавши команду about (_Z1).) Подібні змінні використовуються Maple для представлення всіх рішень тригонометричних рівнянь. Префікс _Z в імені змінної, що згенерує Maple, служить вказівкою того, що ця змінна може приймати тільки цілі значення. Окрім вказаних змінних також використовуються змінні з префіксом _NN, приймаючі ненегативні цілі значення, і префіксом _B, для представлення змінних з двійковою областю значенні (0 або 1).

Коли ми уручну вирішуємо рівняння або системи рівнянь, то після отримання відповіді ми завжди здійснюємо перевірку одержаного рішення. підставляючи його в початкове рівняння або систему. Точно також слід поступати і при роботі в Maple. І рішення, одержувані у вигляді послідовностей множин, коли рівняння або система рівнянь задані у вигляді множин, виявляються самими відповідними для цих цілей.

Найзручнішим і відповідним методом перевірки рішень є використовування функції eval(). Хай ми вирішили, наприклад, систему рівнянь:

> eqns:={x+2*y=3,y+1/x=1};

> sols:=solve(eqns,{x,y});

Послідовність множин, що представляють два одержані рішення, збережена в змінній sols. Тепер, щоб перевірити правильність одержаних рішень, слід підставити їх в початкову систему і обчислити одержані вирази за допомогою команди eval():

> eval(eqns,sols[1]);

> eval(eqns,sols[2]);

Як бачимо, в результаті обчислення системи рівнянь на двох одержаних рішеннях ми одержали тотожність, що говорить про правильність наших рішень. Якщо нам для подальших обчислень необхідно мати значення першого рішення у вигляді окремих змінних, то тією ж самою командою eval() можна витягнути їх, обчисливши, відповідно, невідому х і у на першому рішенні:

> x1:=eval(x,sols[1]);

> y1:=eval(у,sols[2]);

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

> map(subs,[sols],eqns);

Команда solve() може вирішувати невизначені системи рівнянь, в яких кількість рівнянь менше числа невідомого. В цьому випадку система Maple сама вирішує, які з невідомих прийняти за параметри, а які за невідомі, щодо яких слід будувати рішення:

> eqn1:=x+2*y+3*z+4*t=41:

> eqn2:=5*x+5*y+4*z+3*t=20:

> sols:=solve({eqn1,eqn2});

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

> sols:=solve({eqn1,eqn2},{у,z});

Якщо при рішенні систем рівнянь відповідь виходить у вигляді безлічі рівнянь, в яких ліва частина є невідомою змінною, то для того, щоб привласнити знайдені значення змінним, щодо яких розв'язувалася система, слід застосовувати команду assign(). Ця команда привласнює змінним, стоїть в лівій частині рівнянь з безлічі рішень, значення, рівні правим частинам. Про цю команду можна мислити як про команду, яка замінює знак рівності (=) на знак операції привласнення (:=) в множині, що складається з рівнянь, в яких ліві частини представлені невідомими:

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

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

> assign(s);x;y;

Команда fsolve()

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

fsolve (рівняння, змінні, опція);

Завдання перших двох параметрів відповідає завданню аналогічних параметрів в команді solve(), а параметр опція може приймати значення з табл.1

Таблиця 1. Значення параметра опція команди fsolve()

Значення

Значення

complex

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

Fulldigits

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

Maxsols=n

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

а. .b або x=а..b

Заданий проміжок   [а, b], на якому розшукується рішення (у другій формі завдання цієї опції х позначає ім'я невідомої змінної в рівнянні)

За умовчанням для довільного рівняння ця функція знаходить одне рішення, але для поліномів визначається все дійсне коріння. Щоб знайти все коріння полінома, включаючи комплексні, слід задати опцію complex. Використовування команди чисельного рішення рівнянь показане в прикладі.

Приклад  Чисельне рішення рівнянь

> eq:=x^4+2*x^2-1=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);

В даному прикладі також показано, яким чином можна послідовно знаходити коріння довільного рівняння, задаючи інтервал зміни невідомої величини з урахуванням одержаного рішення на попередньому кроці знаходження коріння.

Інші команди рішення рівнянь

Окрім універсальних команд solve() і fsolve() рішення рівнянь і систем рівнянь, Maple містить спеціалізовані команди, призначені для вирішення або певного класу рівнянь, або знаходження рішень в заданому числовому полі.

Команда isolve() шукає всі цілі рішення рівнянь. Якщо в рівнянні задано дещо невідомих, то будується рішення щодо всіх заданих невідомих.

Приклад  Цілочисельне рішення рівнянь

> isolve({(x-1)*(x-1/2)=0});

> isolve({3*x+4*y=1});

У рішенні останнього рівняння прикладу  використана цілочисельна змінна _Z1, що згенерує Maple.

Команда msolve() також шукає цілочисельні рішення рівняння, але тільки по модулю, заданому другим параметром.

Приклад. Цілочисельне рішення рівнянь  по заданому цілому модулю

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

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

Для вирішення рекуррентних рівнянь в Maple включена спеціальна команда rsolve(), яка будує загальне рішення рекуррентного рівняння, використовуючи початкові значення, якщо вони задані, або через їх символьні позначення, якщо вони не задані.

Рішення нерівностей

Для вирішення нерівностей і систем нерівностей у області дійсних чисел слід використовувати команду solve() точно так, як і для вирішення рівнянь і систем рівнянь. Відповідь виражається або у вигляді безлічі нерівностей, або через функції RealRange() і Open(). Перша визначає замкнутий відрізок дійсних чисел, а друга використовується для вказівки того, що гранична крапка не входить в побудоване рішення. Для того, щоб задати рішення у вигляді множини, слід задати у вигляді множини або саму нерівність, або невідому, щодо якої шукається рішення. Якщо цього не зробити, то відповідь буде одержана з використанням вказаних функцій визначення дійсних відрізків.

Приклад  Рішення нерівностей

> solve((x+2)/(3-х)>2,x);

> solve((x+2)/(3-х)>2,{x});

 Література:

       Матросов А.В. Maple 6. Решение задач высшей математики и механики, Москва, 2000 – 528 с. [4], 128-145

Контрольні запитання:

  1.  Використання функції eval().
  2.  Дайте характеристику команді solve().


 

А также другие работы, которые могут Вас заинтересовать

40249. Понятие‚ классификация и учет финансовых вложений 56 KB
  государственные м муниципальные ценные бумаги ценные бумаги других организаций в том числе долговые ценные бумаги в которых дата и стоимость погашения определена облигации векселя; 2. Это инвестиции в ценные бумаги. По видам финансовые вложения подразделяются на: взносы в уставные капиталы других организаций доли паи и приобретение акций акционерных обществ пакеты ценных бумаг; инвестиции в долговые ценные бумаги; займы предоставленные другим юридическим и физическим лицам; вклады в общее имущество по договору простого...
40250. Порядок исчисления и уплаты налога на имущество организаций 38 KB
  Объектом налогообложения для российских организаций признается движимое и недвижимое имущество включая имущество переданное во временное владение пользование распоряжение или доверительное управление внесенное в совместную деятельность учитываемое на балансе в качестве объектов основных средств в соответствии с установленным порядком ведения бухгалтерского учета Налоговая база определяется как среднегодовая стоимость имущества признаваемого объектом налогообложения. Среднегодовая стоимость имущества определяется путем деления на четыре...
40251. Порядок исчисления и уплаты налога на прибыль организаций 35 KB
  Не являются плательщиками налога на прибыль: 1.организации перешедшие на уплату единого налога на вмененный доход для определенных видов деятельности; 2. Указанные организации не освобождаются от исполнения обязанностей налогового агента и удержания сумм налога с доходов у источника выплат в соответствии с 25 главой НК.
40252. Порядок исчисления и уплаты Налога на Добавленную Стоимость 41 KB
  Сумма налога при определении налоговой базы исчисляется как соответствующая налоговой ставке процентная доля налоговой базы а при раздельном учете как сумма налога полученная в результате сложения сумм налогов исчисляемых отдельно как соответствующие налоговым ставкам процентные доли соответствующих налоговых баз. Общая сумма налога получается в результате сложения исчисленных таком образом сумм налогов. Общая сумма налога не исчисляется налогоплательщиками иностранными организациями не состоящими на учете в налоговых органах в...
40253. Порядок передачи бух и налог. учета организацией-аутсорсером 26 KB
  Текст котго подготавливается индивидуально в зависимости от объема и формы заказа. Оргции д. Интересы налогоплательщикаоргции может предоставлять в налог правоотношениях его представитель.
40254. Услуги по ведению бухгалтерского и налогового учета аутсорсером 30 KB
  Как правило ведение учета специализированной организацией ведется по следующей схеме. 6 Закона о бухгалтерском учете руководители организаций могут в зависимости от объема учетной работы: а учредить бухгалтерскую службу как структурное подразделение возглавляемое главным бухгалтером; б ввести в штат должность бухгалтера; в передать на договорных началах ведение бухгалтерского учета централизованной бухгалтерии специализированной организации или бухгалтеруспециалисту; г вести бухгалтерский учет лично. Передача бухгалтерского учета...
40255. Порядок формирования и учет уставного‚ резервного и добавочного капитала 57 KB
  Правовая основа уставного капитала определяет его размер и состав сроки и порядок внесения вкладов в уставный капитал участниками оценку вкладов при их взносе и изъятии порядок изменения долей участников ответственность участников за нарушение обязательств по внесению вкладов. Кредитовый остаток этого счета показывает сумму зарегистрированного уставного капитала оборот по кредиту отражает сумму его увеличения по законным основаниям а оборот по дебету уменьшение уставного капитала при выходе из состава организации ее участников...
40256. Порядок хранения документов 26 KB
  В зависимости от сроков хранения документы бывают: временного хранения до 10 лет включительно; долговременного хранения свыше 10 лет; постоянного вечного хранения. Документы постоянного хранения передаются в государственные архивы остальные подлежат хранению в структурных подразделениях организации или в ее архиве. Срок хранения документов исчисляется с 1 января года следующего за годом их оформления.
40257. Права и обязанности членов ИПБ 26 KB
  Члены ИПБ имеют право: 1. Участвовать в управлении делами ИПБ и его структурных подразделений. Вносить предложения по совершенствованию законодательства и нормативной базы в области бухгалтерского учета аудита налогообложения и других вопросов связанных с деятельностью ИПБ.