Maple как задать систему уравнений
Для решения уравнений в Maple существует универсальная команда solve(eq,x) , где eq – уравнение, x – переменная, относительно которой уравнение надо разрешить. В результате выполнения этой команды в строке вывода появится выражение, которое является решением данного уравнения. Например:
Если уравнение имеет несколько решений, которые вам понадобятся для дальнейших расчетов, то команде solve следует присвоить какое-нибудь имя name . Обращение к какому-либо k –ому решению данного уравнения производится указанием его имени с номером решения k в квадратных скобках: name[k] . Например:
Решение систем уравнений.
Системы уравнений решаются с помощью такой же команды solve( , ) , только теперь в параметрах команды следует указывать в первых фигурных скобках через запятую уравнения, а во вторых фигурных скобках перечисляются через запятую переменные, относительно которых требуется решить систему. Если вам будет необходимо для дальнейших вычислений использовать полученные решения уравнений, то команде solve следует присвоить какое-нибудь имя name . Затем выполняется присвоения команда assign(name) . После этого над решениями можно будет производить математические операции. Например:
Численное решение уравнений.
Для численного решения уравнений, в тех случаях, когда трансцендентные уравнения не имеют аналитических решений, используется специальная команда fsolve(eq,x) , параметры которой такие же, как и команды solve . Например:
Решение рекуррентных и функциональных уравнений.
Команда rsolve(eq,f) позволяет решить рекуррентное уравнение eq для целой функции f . Можно задать некоторое начальное условие для функции f(n) , тогда получиться частное решение данного рекуррентного уравнения. Например:
Универсальная команда solve позволяет решать функциональные уравнения, например:
F := proc ( x ) RootOf(_ Z ^2 — 3*_ Z + 2* x ) end
В результате получается решение в неявном виде. Однако Maple может работать с такими решениями. Неявное решение функционального уравнения можно попытаться преобразовать в какую-либо элементарную функцию с помощью команды convert . Продолжая приведенный выше пример, можно получить решение в явном виде:
Решение тригонометрических уравнений.
Команда solve , примененная для решения тригонометрического уравнения, выдает только главные решения, то есть решения в интервале [0,2 p ]. Для того, чтобы получить все решения, следует предварительно ввести дополнительную команду _EnvAllSolutions:=true. Например:
В Maple символ _ Z
обозначает константу целого типа, поэтому решение данного уравнения в привычной форме имеет вид , где n – целые числа.
Решение трансцендентных уравнений.
При решении трансцендентных уравнений для получения решения в явном виде перед командой solve следует ввести дополнительную команду _EnvExplicit:=true . Пример решения сложной системы трансцендентных уравнений и упрощения вида решений:
Maple. Решение алгебраических задач. Решения уравнений, систем уравнений и неравенств в Maple
Страницы работы
Решение алгебраических задач
Решение уравнений (часть 1)
Для решения уравнений, систем уравнений и неравенств в Maple используется команда (оператор) «solve». Например, для решения уравнения х2 – 6х + 5 = 0 набираем: > solve(x^2–6*x+5=0); 1, 5 Обратите внимание, что если аргумент solve не является уравнением (или неравенством), то Maple трактует его так, как если бы это выражение было приравнено к 0. Можно было бы написать «> solve(x^2–6*x+5);». При решении алгебраических уравнений Maple приводит все корни, включая комплексные: > solve(x^4=1); 1, –1, I, –I
Решение уравнений (часть 2)
С помощью команды «solve» можно решать не только алгебраические уравнения. Например, решим тригоно-метрическое уравнение tg x – 2 sin x = 0: > solve(tan(x)–2*sin(x)); Обратите внимание, что Maple привёл решения, лежащие в пределах одного промежутка периодичности (от –π до π). Для вывода всех решений необходимо присвоить зарезервированной переменной _EnvAllSolutions значение true: > _EnvAllSolutions := true; > solve(tan(x)–2*sin(x)); где _Z
обозначает любое целое число.
Решение уравнений (часть 3)
Приведём примеры применения функции «solve» для решения уравнений с несколькими переменными. Решим, например, уравнение xy + x – 1 = 0 относительно x: > solve(x*y+x–1,x); относительно y: > solve(x*y+x–1,у); В общем виде Maple решает это уравнение так: > solve(x*y+x–1); Видно, что форма ответа определяется вторым параметром (или его отсутствием) команды «solve», указывающим, относительно какой переменной решать уравнение.
Неравенства решаются тем же оператором «solve». Например, решим неравенство x2(x – 1) solve(x^2*(x–1) solve(x^2*(x–1)>=0); 0, RealRange(1, ∞) В переводе на математический язык ответ: U[1; ∞). Открытый интервал (или луч) задаётся в Maple с помощью функции «Open», применяемой к концам интервала, задаваемого функцией «RealRange».
Решение системы уравнений
Все уравнения системы записываются в фигурных скобках через запятую. Решим например систему > solve( ); , Решим систему с параметром > solve( , );
Maple как задать систему уравнений
уМЕДХАЭБС: task2, рТЕДЩДХЭБС: Top, чЧЕТИ: Top
1 уЙУФЕНЩ ЛПНРШАФЕТОПК БМЗЕВТЩ
Maple – УРЕГЙБМЙЪЙТПЧБООЩК НБФЕНБФЙЮЕУЛЙК РБЛЕФ, ЛПФПТЩН РПМШЪХАФУС РТПЖЕУУЙПОБМШОЩЕ НБФЕНБФЙЛЙ ЧП ЧУЕН НЙТЕ. рПДПВОЩЕ РБЛЕФЩ ФБЛЦЕ ОБЪЩЧБАФУС УЙУФЕНБНЙ ЛПНРШАФЕТОПК БМЗЕВТЩ. йЪ НОПЦЕУФЧБ РПДПВОЩИ УЙУФЕН (Maple, Matlab, Mathcad, Mathematica, Macsyma, Derive, Axiom, MuPAD) Maple СЧМСЕФУС РТЙЪОБООЩН МЙДЕТПН Ч ПВМБУФЙ УЙНЧПМШОЩИ ЧЩЮЙУМЕОЙК (ФП ЕУФШ Ч РТЕПВТБЪПЧБОЙЙ ЧЩТБЦЕОЙК У ЙУРПМШЪПЧБОЙЕН РЕТЕНЕООЩИ, НОПЗПЮМЕОПЧ, ЖХОЛГЙК Й Ф.Д.). рПНЙНП ЬФПЗП Ч Maple ЧИПДСФ НПДХМЙ, ПВМЕЗЮБАЭЙЕ ТБВПФХ Ч ФБЛЙИ ТБЪДЕМБИ НБФЕНБФЙЛЙ, ЛБЛ ЧЩУЫБС БМЗЕВТБ, МЙОЕКОБС БМЗЕВТБ, БОБМЙФЙЮЕУЛБС ЗЕПНЕФТЙС, ФЕПТЙС ЮЙУЕМ, НБФЕНБФЙЮЕУЛЙК БОБМЙЪ, ДЙЖЖЕТЕОГЙБМШОЩЕ ХТБЧОЕОЙС, ЛПНВЙОБФПТОЩК БОБМЙЪ, ФЕПТЙС ЧЕТПСФОПУФЕК, УФБФЙУФЙЛБ Й НОПЗЙИ ДТХЗЙИ.
дМС РПМХЮЕОЙС УРТБЧЛЙ РП ФПК ЙМЙ ЙОПК ЛПНБОДЕ ОЕПВИПДЙНП Ч ПЛОЕ Maple ЧЧЕУФЙ ?command (ЪБНЕОЙЧ command ОБ ЙНС ЛПНБОДЩ).
Maple ЛБЛ УХРЕТЛБМШЛХМСФПТ
ч ТБВПЮЕН МЙУФЕ (worksheet) УЙУФЕНЩ Maple НПЦОП ЧЧПДЙФШ ЛПНБОДЩ РПУМЕ РТЙЗМБЫЕОЙС » > «. лПНБОДБ ДПМЦОБ ЪБЧЕТЫБФШУС УЙНЧПМПН » ; «, ЕЕ ТЕЪХМШФБФ ОЕНЕДМЕООП ЧЩЧПДЙФУС ОБ ЬЛТБО. еУМЙ ЧНЕУФП » ; » РПУФБЧЙФШ » : «, ФП ЛПНБОДБ ВХДЕФ ЧЩРПМОЕОБ, ОП ТЕЪХМШФБФ ЕЕ ТБВПФЩ ОЕ ВХДЕФ ОБРЕЮБФБО. оБРТЙНЕТ:
лБЛ НЩ ЧЙДЙН, Maple ЧЩДБЕФ ПФЧЕФ Ч ФПЮОПН ЧЙДЕ Ч ЧЙДЕ ТБГЙПОБМШОПЗП ЧЩТБЦЕОЙС. еУМЙ ИПЮЕФУС РТЕДУФБЧЙФШ ЕЗП Ч ЧЙДЕ ДЕУСФЙЮОПК ДТПВЙ (У ОЕЛПФПТПК ФПЮОПУФША) ЧПУРПМШЪХКФЕУШ ЖХОЛГЙЕК evalf . еЕ РЕТЧЩК ПВСЪБФЕМШОЩК РБТБНЕФТ – ЧЩЮЙУМСЕНПЕ ЧЩТБЦЕОЙЕ, ЧФПТПК (ОЕПВСЪБФЕМШОЩК) – ЛПМЙЮЕУФЧП ЪОБЮБЭЙИ ДЕУСФЙЮОЩИ ЪОБЛПЧ (ХЮФЙФЕ, ЮФП РТЙ ЬФПН ЧЩТБЦЕОЙЕ ПЛТХЗМСЕФУС ДМС ЧЩЧПДБ УППФЧЕФУФЧХАЭЕЗП ЛПМЙЮЕУФЧБ ЪОБЛПЧ):
уЙНЧПМ % ПВПЪОБЮБЕФУС РПУМЕДОЕЕ ЧЩЮЙУМЕООПЕ Maple ЧЩТБЦЕОЙЕ, %% – РТЕДРПУМЕДОЕЕ, %%% — РТЕДРТЕДРПУМЕДОЕЕ (Б ЧПФ ПВПЪОБЮЕОЙС %%%% ХЦЕ ОЕ УХЭЕУФЧХЕФ).
юЙУМБ Й ЛПОУФБОФЩ
еУМЙ Ч ЧЩТБЦЕОЙЙ ЧУФТЕЮБЕФУС ЮЙУМП, ЪБРЙУБООПЕ У РМБЧБАЭЕК ФПЮЛПК (ОБРТЙНЕТ, 3.14 ЙМЙ 5.6e-17 ), ФП ЧУЕ ЧЩЮЙУМЕОЙС ЧЩРПМОСАФУС РТЙВМЙЦЕООП, Ч РТПФЙЧОПН УМХЮБЕ ЧЩЮЙУМЕОЙС РТПЧПДСФУС ФПЮОП. ч Maple ЕУФШ УМЕДХАЭЙЕ ЛПОУФБОФЩ: Pi юЙУМП РЙ
I нОЙНБС ЕДЙОЙГБ i
exp(1) пУОПЧБОЙЕ ОБФХТБМШОЩИ МПЗБТЙЖНПЧ e
infinity вЕУЛПОЕЮОПУФШ
true мПЗЙЮЕУЛБС ЙУФЙОБ
false мПЗЙЮЕУЛБС МПЦШ
чЩЮЙУМЕОЙС У ХЮБУФЙЕН ЛПОУФБОФ ЧЩРПМОСАФУС ФПЮОП (ЕУМЙ ФПМШЛП ЙИ ЪОБЮЕОЙЕ ОЕ ВХДЕФ РЕТЕЧЕДЕОП Л ДЕКУФЧЙФЕМШОПНХ ЪОБЮЕОЙА), ОБРТЙНЕТ
пРЕТБФПТЩ
ч Maple УХЭЕУФЧХАФ УМЕДХАЭЙЕ ПРЕТБФПТЩ:
бТЙЖНЕФЙЮЕУЛЙЕ: + , — , * , / , ^ (ЧПЪЧЕДЕОЙЕ Ч УФЕРЕОШ), ! (ЖБЛФПТЙБМ).
мПЗЙЮЕУЛЙЕ: , > , >= , , = (ТБЧОП), <> (ОЕ ТБЧОП).
рЕТЕНЕООЩЕ
рЕТЕНЕООПК СЧМСЕФУС МАВПК ЙДЕОФЙЖЙЛБФПТ (УПУФПСЭЙК ЙЪ МБФЙОУЛЙИ ВХЛЧ Й ГЙЖТ, ОБЮЙОБАЭЙКУС У ГЙЖТЩ). рЕТЕНЕООПК НПЦЕФ ВЩФШ РТЙУЧПЕОП МАВПЕ ЪОБЮЕОЙЕ РТЙ РПНПЭЙ ПРЕТБФПТБ РТЙУЧБЙЧБОЙС := . рЕТЕНЕООБС, ЛПФПТПК ОЕ РТЙУЧПЕОП ОЙЛБЛПЕ ЪОБЮЕОЙЕ УЮЙФБЕФУС УЧПВПДОПК РЕТЕНЕООПК Й ЕЕ ЙНС УПИТБОСЕФУС Ч БТЙЖНЕФЙЮЕУЛЙИ ЧЩЮЙУМЕОЙСИ. оБРТЙНЕТ:
уФБОДБТФОЩЕ ЖХОЛГЙЙ
ъОБЛ x (ЧПЪЧТБЭБЕФ 1, -1 ЙМЙ 0) – sign(x)
фТЙЗПОПНЕФТЙЮЕУЛЙЕ ЖХОЛГЙЙ: sin(x) , cos(x) , tan(x) , cot(x)
пВТБФОЩЕ ФТЙЗПОПНЕФТЙЮЕУЛЙЕ: arcsin(x) , arccos(x) , arctan(x) , arccot(x)
оБФХТБМШОЩК, ДЕУСФЙЮОЩК МПЗБТЙЖН Й МПЗБТЙЖН РП ДБООПНХ ПУОПЧБОЙА: ln(x) , log10(x) , log[a](x)
рТЕПВТБЪПЧБОЙЕ НБФЕНБФЙЮЕУЛЙИ ЧЩТБЦЕОЙК
ч ЧЩТБЦЕОЙЕ НПЗХФ ЧИПДЙФШ ЛПОУФБОФЩ, УЧПВПДОЩЕ РЕТЕНЕООЩЕ, НБФЕНБФЙЮЕУЛЙЕ ЖХОЛГЙЙ. рТЙНЕТ ЧЩТБЦЕОЙС:
дПЧПМШОП ЮБУФП Ч ЛБЮЕУФЧЕ ЧЩТБЦЕОЙК ЧЩУФХРБАФ НОПЗПЮМЕОЩ ПФ ПДОПК ЙМЙ ОЕУЛПМШЛЙИ РЕТЕНЕООЩИ ЙМЙ ТБГЙПОБМШОЩЕ ЧЩТБЦЕОЙС. Maple УПДЕТЦЙФ ТБЪМЙЮОЩЕ ЖХОЛГЙЙ ДМС РТЕПВТБЪПЧБОЙС ФБЛЙИ ЧЩТБЦЕОЙК.
жХОЛГЙС factor(eq) ТБЪМБЗБЕФ ЧЩТБЦЕОЙЕ eq ОБ НОПЦЙФЕМЙ.
жХОЛГЙС expand(eq) ТБУЛТЩЧБЕФ УЛПВЛЙ Ч ЧЩТБЦЕОЙЙ. еУМЙ ХЛБЪБФШ ПДЙО ЙМЙ ОЕУЛПМШЛП ДПРПМОЙФЕМШОЩИ РБТБНЕФТПЧ Ч ЧЙДЕ expand(eq,a,b,c) , ФП ЧЩТБЦЕОЙС a , b , c ТБУЛТЩЧБФШУС ОЕ ВХДХФ. ьФП РПМЕЪОП, ЕУМЙ ОЕПВИПДЙНП ЛБЦДПЕ УМБЗБЕНПЕ ХНОПЦЙФШ ОБ ЛБЛПЕ-ФП ЧЩТБЦЕОЙЕ.
дМС РТЙЧЕДЕОЙС ДТПВЕК Л ПВЭЕНХ ЪОБНЕОБФЕМА У РПУМЕДХАЭЙН УПЛТБЭЕОЙЕН ЙУРПМШЪХЕФУС ЖХОЛГЙС normal(eq) .
жХОЛГЙС simplify(eq) ХРТПЭБЕФ ЧЩТБЦЕОЙЕ eq . ч ЛБЮЕУФЧЕ ЧФПТПЗП (ОЕПВСЪБФЕМШОПЗП) РБТБНЕФТБ, ЕК НПЦОП ХЛБЪБФШ, ЛБЛЙЕ ЧЩТБЦЕОЙС РТЕПВТБЪПЧЩЧБФШ: trig – ФТЙЗПОПНЕФТЙЮЕУЛЙЕ, power – УФЕРЕООЩЕ, radical – ТБДЙЛБМЩ, exp – ЬЛУРПОЕОФЩ, ln – МПЗБТЙЖНЩ.
тЕЫЕОЙЕ ХТБЧОЕОЙК
пВЩЛОПЧЕООЩЕ ХТБЧОЕОЙС
дМС ТЕЫЕОЙС ХТБЧОЕОЙК ЙУРПМШЪХЕФУС ЖХОЛГЙС solve(eq,x) , ЗДЕ eq – ТЕЫБЕНПЕ ХТБЧОЕОЙЕ, x – ЙНС РЕТЕНЕООПК, ПФОПУЙФЕМШОП ЛПФПТПК ТБЪТЕЫБЕФУС ХТБЧОЕОЙЕ. рТЙНЕТ:
еУМЙ ХТБЧОЕОЙЕ ЙНЕЕФ ОЕУЛПМШЛП ТЕЫЕОЙК, ФП ТЕЫЕОЙЕ ХТБЧОЕОЙС НПЦОП РТЙУЧПЙФШ ОЕЛПФПТПК РЕТЕНЕООПК, ОБРТЙНЕТ p . дБМЕЕ НПЦОП ЙУРПМШЪПЧБФШ k -Е ТЕЫЕОЙЕ ХТБЧОЕОЙС Ч ЧЙДЕ p[k] :
уЙУФЕНЩ ХТБЧОЕОЙК
уЙУФЕНЩ ХТБЧОЕОЙК ТЕЫБАФУС У РПНПЭША ФБЛПК ЦЕ ЖХОЛГЙЙ solve( , ) , ФПМШЛП ФЕРЕТШ Ч РБТБНЕФТБИ ЖХОЛГЙЙ УМЕДХЕФ ХЛБЪЩЧБФШ Ч РЕТЧЩИ ЖЙЗХТОЩИ УЛПВЛБИ ЮЕТЕЪ ЪБРСФХА ХТБЧОЕОЙС, Б ЧП ЧФПТЩИ ЖЙЗХТОЩИ УЛПВЛБИ РЕТЕЮЙУМСАФУС ЮЕТЕЪ ЪБРСФХА РЕТЕНЕООЩЕ, ПФОПУЙФЕМШОП ЛПФПТЩИ ФТЕВХЕФУС ТЕЫЙФШ УЙУФЕНХ. еУМЙ ОЕПВИПДЙНП ЙУРПМШЪПЧБФШ РПМХЮЕООЩЕ ТЕЫЕОЙС ХТБЧОЕОЙК ДМС ДБМШОЕКЫЙИ ЧЩЮЙУМЕОЙК, ФП ОЕПВИПДЙНП ТЕЪХМШФБФ, ЧПЪЧТБЭБЕНЩК ЖХОЛГЙЕК solve РТЙУЧПЙФШ ЛБЛПК-ОЙВХДШ РЕТЕНЕООПК, ОБРТЙНЕТ, p , Б ЪБФЕН ЧЩРПМОЙФШ ЛПНБОДХ assign(p) . рТЙНЕТ:
юЙУМЕООПЕ ТЕЫЕОЙЕ ХТБЧОЕОЙК
рПРТПВХЕН ТЕЫЙФШ ХТБЧОЕОЙЕ: x 6 -2x+1=0. йУРПМШЪПЧБОЙЕ ЖХОЛГЙЙ solve ДБУФ ОБН ПДЙО ЛПТЕОШ -1 Й ЕЭЕ ОБВПТ ЧЩТБЦЕОЙК ЧЙДБ RootOf(_Z^5+_Z^4+_Z^3+_Z^2+_Z-1,index = 1) . дЕМП Ч ФПН, ЮФП РТПЙЪЧПМШОПЕ ХТБЧОЕОЙЕ УФЕРЕОЙ ЧЩЫЕ 4 У ТБГЙПОБМШОЩНЙ ЛПЬЖЖЙГЙЕОФБНЙ НПЦЕФ ОЕ ЙНЕФШ ЛПТОЕК, ЧЩТБЪЙНЩИ Ч ЧЙДЕ ТБДЙЛБМПЧ ОБД ТБГЙПОБМШОЩНЙ ЮЙУМБНЙ. тЕЫЕОЙС ЧУЕЧПЪНПЦОЩИ ФБЛЙИ ХТБЧОЕОЙК ОБЪЩЧБАФУС БМЗЕВТБЙЮЕУЛЙНЙ ЮЙУМБНЙ. дБООПЕ ХТБЧОЕОЙЕ ФБЛЦЕ ОЕТБЪТЕЫЙНП Ч ТБДЙЛБМБИ, Й Maple ОБЫМБ ОБН ЕДЙОУФЧЕООЩК ЛПТЕОШ, ЧЩТБЪЙНЩК Ч ТБДЙЛБМБИ (1) Й УППВЭЙМБ, ЮФП ПУФБЧЫЙЕУС ЛПТОЙ СЧМСАФУС БМЗЕВТБЙЮЕУЛЙНЙ ЮЙУМБНЙ: ЛПТОСНЙ НОПЗПЮМЕОБ z 5 +z 4 +z 3 +z 2 +z-1=0 (ЙНЕООП ЬФПФ НОПЗПЮМЕО ХЛБЪБО Ч БТЗХНЕОФЕ ЖХОЛГЙЙ RootOf ). Maple ХНЕЕФ ТБВПФБФШ У БМЗЕВТБЙЮЕУЛЙНЙ ЮЙУМБНЙ, ОП НПЦОП ФБЛЦЕ ОБКФЙ РТЙВМЙЦЕООПЕ ЮЙУМЕООПЕ ТЕЫЕОЙЕ РТЙ РПНПЭЙ ЖХОЛГЙЙ fsolve :
йОПЗДБ Maple РТЙ ТЕЫЕОЙЙ ФТБОУГЕОДЕОФОЩИ ХТБЧОЕОЙК ОЕ ЧЩЧПДЙФ УМПЦОЩЕ ЧЩТБЦЕОЙС Ч ЧЙДЕ ТБДЙЛБМПЧ, Б ПУФБЧМСЕФ ЙИ Ч ЖПТНЕ RootOf. юФПВЩ ЪБУФБЧЙФШ Maple ЧЩЧПДЙФШ ЧУЕ ТЕЫЕОЙС Ч ЧЙДЕ ТБДЙЛБМПЧ (ЕУФЕУФЧЕООП, ЕУМЙ ПОЙ РТЕДУФБЧЙНЩ Ч ФБЛПК ЖПТНЕ), ОЕПВИПДЙНП РТЙУЧПЙФШ ЪОБЮЕОЙЕ true УЙУФЕНОПК РЕТЕНЕООПК _EnvExplicit ( _EnvExplicit:=true ).
тЕЫЕОЙЕ ФТЙЗПОПНЕФТЙЮЕУЛЙИ ХТБЧОЕОЙК
лПНБОДБ solve , РТЙНЕОСЕНБС ДМС ТЕЫЕОЙС ФТЙЗПОПНЕФТЙЮЕУЛЙИ ХТБЧОЕОЙК, ОБИПДЙФ ФПМШЛП ЗМБЧОЩЕ ТЕЫЕОЙС, ФП ЕУФШ ЧЩЧПДЙФ ФПМШЛП ПДОП ТЕЫЕОЙЕ ЙЪ УЕТЙЙ РЕТЙПДЙЮЕУЛЙИ ТЕЫЕОЙК:
дМС ФПЗП, ЮФПВЩ Maple ОБИПДЙМБ ЧУЕ ТЕЫЕОЙС, ОЕПВИПДЙНП РТЕДЧБТЙФЕМШОП РТЙУЧПЙФШ ЪОБЮЕОЙЕ true УЙУФЕНОПК РЕТЕНЕООПК _EnvAllSolutions . фПЗДБ НЩ РПМХЮЙН ТЕЪХМШФБФ Ч ДТХЗПН ЧЙДЕ, Ч ЛПФПТПН ВХДХФ ЖЙЗХТЙТПЧБФШ РЕТЕНЕООЩЕ Z1
. ьФЙ РЕТЕНЕООЩЕ ПВПЪОБЮБАФ РТПЙЪЧПМШОХА ЛПОУФБОФХ ГЕМПЗП ФЙРБ, Ч ВПМЕЕ РТЙЧЩЮОПН ЧЙДЕ ТЕЫЕОЙС НПЦОП ВХДЕФ ЪБРЙУБФШ, ЛБЛ π/4+πn , πk .
Как записать систему уравнений в maple
Решение нелинейных уравнений средствами системы Maple
Системы компьютерной математики в образовании — они становятся не только удобным инструментальным средством для выполнения огромного числа учебных расчетов, но и средством предоставления учащимся, а нередко и педагогам, знаний в области математики, физики и иных наук, использующих математические методы. Это позволяет отнести такие системы к интеллектуальным компьютерным системам представления знаний и к экспертным системам в области математических расчетов. Трудно переоценить и их роль в подготовке высококачественных электронных уроков, учебных курсов и книг, имеющих великолепные (в том числе анимационные) средства визуализации вычислений и «живые» примеры, которые учащиеся могут перекраивать, как говорится, на свой «вкус и цвет».
1 СПОСОБЫ ЗАДАНИЯ ФУНКЦИЙ……………………….. 5
2 ОСНОВНЫЕ ВОЖМОЖНОСТИ СИСТЕМЫ MAPLE
2.1 РЕШЕНИЕ УРАВНЕНИЙ………………………………………….. 8
2.2 РЕШЕНИЕ СИСТЕМ УРАВНЕНИЙ……………………………… 9
3 ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
3.1 РЕШЕНИЕ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ………………… 10
3.2 РЕШЕНИЕ ТРАНСЦЕНДЕНТНЫХ
УРАВНЕНИЙ……………………………………………………. 12
3.3 РЕШЕНИЕ СИСТЕМ ТРАНСЦЕНДЕНТНЫХ
УРАВНЕНИЙ……………………………………………………… 15
3.4 РЕШЕНИЕ ФУНКЦИАНАЛЬНЫХ
УРАВНЕНИЙ……………………………………………………. 17
4 СИМВОЛЬНОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
4.1 РЕШЕНИЕ ФУНКЦИАНАЛЬНЫХ И РЕКУРЕНТНЫХ
УРАВНЕНИЙ……………………………………………………… 18
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ…………. 21
Прикрепленные файлы: 1 файл
решение нелинейных уравнений.doc
1 СПОСОБЫ ЗАДАНИЯ ФУНКЦИЙ………………… …….. 5
2 ОСНОВНЫЕ ВОЖМОЖНОСТИ СИСТЕМЫ MAPLE
2.2 РЕШЕНИЕ СИСТЕМ УРАВНЕНИЙ……………………………… 9
3 ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
3.1 РЕШЕНИЕ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ………………… 10
3.2 РЕШЕНИЕ ТРАНСЦЕНДЕНТНЫХ
3.3 РЕШЕНИЕ СИСТЕМ ТРАНСЦЕНДЕНТНЫХ
3.4 РЕШЕНИЕ ФУНКЦИАНАЛЬНЫХ
4 СИМВОЛЬНОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
4.1 РЕШЕНИЕ ФУНКЦИАНАЛЬНЫХ И РЕКУРЕНТНЫХ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ…………. 21
Системы компьютерной математики (СКМ) класса Maple были созданы корпорацией Waterloo Maple, Inc. (Канада) как системы компьютерной алгебры с расширенными возможностями в области символьных (аналитических) вычислений. Новейшая версия Maple 8 позиционируется как универсальная система компьютерной математики, рассчитанная на широкого пользователя. Система содержит средства для выполнения быстрых численных расчетов, лежащих в основе математического моделирования различных явлений окружающего нас мира, систем и устройств различного назначения.
Цель данной курсовой работы – изучение литературы по теме “Решение нелинейных уравнений средствами системы Maple” и изучение области применения.
В качестве задачи поставленной передо мной руководителем, является решение нелинейных уравнений средствами системы Maple.
Заслуженной популярностью системы Maple (всех версий) пользуются в системах образования многих стран мира. Свыше 300 самых крупных университетов мира (включая и наш МГУ) взяли эту систему на вооружение и используют ее в научных и учебных расчетах. А число только зарегистрированных пользователей системы уже давно превысило миллион.
Maple — типичная интегрированная система. Она объединяет в себе:
- мощный язык программирования (он же язык для интерактивного общения с системой);
- редактор для подготовки и редактирования документов и программ;
- современный многооконный пользовательский интерфейс с возможностью работы в диалоговом режиме;
- мощную справочную систему со многими тысячами примеров;
- ядро алгоритмов и правил преобразования математических выражений;
- численный и символьный процессоры;
- систему диагностики;
- библиотеки встроенных и дополнительных функций;
- пакеты функций сторонних производителей и поддержку некоторых других языков программирования и программ.
Ко всем этим средствам имеется полный доступ прямо из окна программы. Система Maple прошла долгий путь развития и апробации. Она реализована на больших ЭВМ, рабочих станциях Sun, ПК, работающих с операционной системой Unix, ПК класса IBM PC, Macintosh и др. Все это самым положительным образом повлияло на ее отработку и надежность (в смысле высокой вероятности правильности решений и отсутствия сбоев в работе). Не случайно ядро системы Maple используется целым рядом других мощных систем компьютерной математики, например системами класса Mathcad и MATLAB.
Системы компьютерной математики в образовании — они становятся не только удобным инструментальным средством для выполнения огромного числа учебных расчетов, но и средством предоставления учащимся, а нередко и педагогам, знаний в области математики, физики и иных наук, использующих математические методы. Это позволяет отнести такие системы к интеллектуальным компьютерным системам представления знаний и к экспертным системам в области математических расчетов. Трудно переоценить и их роль в подготовке высококачественных электронных уроков, учебных курсов и книг, имеющих великолепные (в том числе анимационные) средства визуализации вычислений и «живые» примеры, которые учащиеся могут перекраивать, как говорится, на свой «вкус и цвет».
1 СПОСОБЫ ЗАДАНИЯ ФУНКЦИЙ
В системе Maple имеется несколько способов представления функции.
Способ 1.Определение функции с помощью оператора присваивания (:=): какому-то выражению присваивается имя, например:
Если задать конкретное значение х ,то получится значение функции f для этого х .Например, если продолжить предыдущий пример и вычислить значение f при х= /4,то следует записать:
После выполнения этих команд переменная x имеет заданное конкретное значение /4.
Чтобы насовсем не присваивать переменной конкретного значения, удобнее использовать команду подстановки subs( ,f), где в фигурных скобках указываются переменные хi и их новые значения аi (i=1,2,…), которые следует подставить в функцию f . Например:
Все вычисления в Maple по умолчанию производятся символьно, то есть результат будет содержать в явном виде иррациональные константы, такие как, е,p и другие. Чтобы получить приближенное значение в виде числа с плавающей запятой, следует использовать команду evalf (expr,t), где expr –выражение в числах после запятой. Например, в продолжение предыдущего примера, вычислим полученное значение функции приближенно:
Здесь использован символ (%) для вызова предыдущей команды.
Так же имеется возможность переходить в функции к полярным координатам, после ее определения.
Способ 2. Определение функции с помощью функционального оператора, который ставит в соответствие набору переменных (x1,x2,…) одно или несколько выражений (f1,f2,…). Например, определение функции двух переменных с помощью функционального оператора выглядит следующим образом:
Обращение к этой функции осуществляется наиболее привычным способом, когда в скобках вместо аргументов функции указываются конкретные значения переменных. В продолжение предыдущего примера вычисляется значение функции:
Способ 3.С помощью команды unapply (expr,x1,x2,…),где expr- выражение, x1,x2,…-набор переменных, от которых оно зависит, можно преобразовать выражение expr в функциональный оператор. Например:
В Maple имеется возможность определения неэлементарных функций вида посредством команды piecewise(cond_1,f1, cond_2,f2,…) .
Например, функция записывается следующим образом:
А функция f(x)= записывается так:
2 ОСНОВНЫЕ ВОЗМОЖНОСТИ СИСТЕМЫ MAPLE ПРИ РЕШЕНИИ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
Maple –это пакет для аналитических вычислений на компьютере, содержащий более двух тысяч команд, которые позволяют решать задачи алгебры, геометрии, математического анализа, дифференциальных уравнений, статистики, математической физики. Работа в Maple проходит в режиме сессии- пользователь вводит предложения (команды, выражения, процедуры), которые воспринимаются условно и обрабатываются Maple.
2.1 Решение уравнений
Для решения уравнений в Maple существует универсальная команда solve( eq,x),где eg — уравнение, х – переменная, относительно которой уравнение надо разрешить. В результате выполнения этой команды в строке вывода появиться выражение, которое является решением данного уравнения. Например :
Если уравнение имеет несколько решений, которые могут понадобятся для дальнейших расчетов, то команде solve следует присвоить какое-нибудь имя name.Обращение к какому-либо k-ому решению данного уравнения производится указанием его имени name с номером решения k в квадратных скобках:name[k].Например:
2.2 Решение систем уравнений
Cистемы уравнений решаются с помощью такой же команды solve( , ), только теперь в параметрах команды следует указать в первых фигурных скобках через запятую уравнения ,а во вторых фигурных скобках перечисляются через запятую переменные , относительно которых требуется решить систему. Если будет необходимо для дальнейших вычислений использовать полученные решения уравнений, то команде solve следует присвоить какое-нибудь имя name.Затем выполняется команда присвоения assign(name).После этого над решениями можно будет производить математические операции. Например, решим следующую систему:
Приведем еще один пример решения системы уравнений. содержащей три переменные:
Найдем сумму полученных решений:
3 ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
Нелинейное уравнение в общем виде записывается следующим образом: F(X) = 0. Нелинейные уравнения могут быть двух видов:
1.Алгебраические: anx n +an-1x n-1 +…+a0=0
2.Трансцендентные – это уравнения, в которых x является аргументом тригонометрической, логарифмической или показательной функции.
Значение x0, при котором существует равенство f(x0)=0 называется корнем уравнения. Решить уравнение – значит найти этот корень.
3.1 Решение алгебраических уравнений
Для численного решения уравнений используется специальная команда fsolve ( eg ,x ), где eg-уравнение, а x-переменная, относительно которой это уравнение надо разрешить.
Рассмотрим такой пример: численно решить уравнение 23x 5 +105x 4 -10x 2 +17x=0 на отрезке [-1;1].
- poly := 23*x^5 + 105*x^4 – 10*x^2 + 17*x:
fsolve( poly, x, -1..1 );
- fsolve( poly, x, maxsols=3 );
Решим еще одно уравнение, найдя его корни на отрезках [1;2] и [4;8] .
- q := 3*x^4 – 16*x^3 – 3*x^2 + 13*x + 16:
- fsolve(q, x, 2..5);
Так же можно найти решение этого уравнения на множестве комплексных чисел, используя дополнительный параметр complex:
> fsolve(q, x, complex);
3.1 Решение алгебраических уравнений
Для численного решения уравнений используется специальная команда fsolve ( eg ,x ), где eg-уравнение, а x-переменная, относительно которой это уравнение надо разрешить.
Рассмотрим такой пример: численно решить уравнение 23x 5 +105x 4 -10x 2 +17x=0 на отрезке [-1;1].
Заранее присвоим нашему уравнению имя poly :
- poly := 23*x^5 + 105*x^4 – 10*x^2 + 17*x:
fsolve( poly, x, -1..1 );
- fsolve( poly, x, maxsols=3 );
Решим еще одно уравнение, найдя его корни на отрезках [1;2] и [4;8] .
- q := 3*x^4 – 16*x^3 – 3*x^2 + 13*x + 16:
- fsolve(q, x, 2..5);
Так же можно найти решение этого уравнения на множестве комплексных чисел, используя дополнительный параметр complex:
> fsolve(q, x, complex);
3.2 Решение трансцендентных уравнений.
Для решения данной группы уравнений применяется универсальная команда fsolve.При решении уравнений можно осуществлять упрощение выражений посредством команды simplify(eg).
Приведение подобных членов в выражении осуществляется командой collect(exp,var), где exp – выражение, var – имя переменной, относительно которой следует собирать подобные. В команде simplify в качестве параметров можно указать, какие выражения преобразовывать. Например, при указании simplify(eq,trig) будет производиться упрощение при использовании большого числа тригонометрических соотношений.
С помощью команды convert(exp, param), где exp – выражение, которое будет преобразовано в указанный тип param. В частности, можно преобразовать выражение, содержащее sinx и cosx, в выражение, содержащее только tgx, если указать в качестве параметра tan, или, наоборот, tgx, ctgx можно перевести в sinx и сosx, если в параметрах указать sincos.
система уравнений
Система уравнений
Помогите, пытаюсь решить систему, но не пойму, в чем проблема.. условия уравнений верны.
Maple (система уравнений)
Помогите мне, пожалуйста, сделать работу на maple %-) мне нужно решить систему уравнений, но у меня.
Не вычисляется система дифференциальных уравнений
всем доброго времени суток задана система уравнений: >.
Марковиц. Система уравнений и неравенств.
Пожалуйста,откликнитесь. При решении задачи Марковица возникло недоразумение. Как правильно.
Или так, с помощью convert:
eq1 := 2*x — y + 2*a*x = 0:
eq2 := -x + 2*a*y = 0:
eq3 := x*x + y*y = 9:
Как легко заметить, решения, полученные с помощью evalf/solve и fsolve отличаются (причём существенно).
Получить все решения можно с помощью allvalues:
Система уравнений
Здравствуйте. Помогите правильно записать уравнение в программу: \begin \sqrt -\sqrt .
Система уравнений
Ссылка на картинку. Не могу никак подружиться с этой адской машиной. как найти решение? .
Система уравнений
Решить систему уравнений с заданной точностью ε = 10^-6 cos(x – 1) + y = 0,5; x – cos y = 3.
Система уравнений
Как решить систему уравнений такого вида в MathCAD? A и B — соответственно, правые и левый части.

Система уравнений
Здравствуйте! У меня есть две таблицы Xi и Yi и по ним нужно провести параболическую.
Система уравнений
Помогите! Необходимо решить систему уравнений в Scilab Скрипт написаный мной: function =fun(x).
Решение задач линейной алгебры в системе MAPLE
Эру создания компьютерной символьной математики принято отсчитывать с начала 60-х годов. Именно тогда в вычислительной технике возникла новая ветвь компьютерной математики, не совсем точно, но зато броско названная компьютерной алгеброй. Речь шла о возможности создания компьютерных систем, способных осуществлять типовые алгебраические преобразования: подстановки в выражениях, упрощение выражений, операции со степенными многочленами (полиномами), решение линейных и нелинейных уравнений и их систем, вычисление их корней и т. д.
ВВЕДЕНИЕ ………………………………………………………………………….3
Глава 1 Основные объекты и функции системы MAPLE ………………………..4
1.Основные объекты и системы…………………………………………………..4
2.Переменные, неизвестные и выражения……………………………………….5
3.Функции системы MAPLE …… ……………………………………………….7
Глава 2 Решение задач линейной алгебры с использованием MAPLE ………….9
2.1 Векторная алгебра……………………………………………………………….9
2.2 Действия с матрицами………………………………………………………….11
2.3 Спектральный анализ матрицы………………………………………………..16
2.4 Системы линейных уравнений и матричные уравнения…………………….19
2.5 Решение обыкновенных уравнений…………………………………………. 21
2.6 Решение неравенств……………………………………………………………22
ЗАКЛЮЧЕНИЕ …………………………………………………………………….24
ЛИТЕРАТУРА……………………………………………………………………. 25
Работа содержит 1 файл
курсовая.docx
Привести матрицу А к Жордановой форме, треугольному виду, найти ее характеристическую матрицу.
2.4 Системы линейных уравнений и матричные уравнения.
Система линейных уравнений может быть решена двумя способами.
Способ 1: стандартная команда solve находит решение системы линейных уравнений, записанных в развернутом виде:
Способ 2: команда linsolve(A,b) из пакета linalg находит решение уравнения . Аргументы этой команды: А – матрица, b – вектор.
С помощью команды linsolve(A,b) можно найти решение матричного уравнения АХ=В, если в качестве аргументов этой команды указать, соответственно, матрицы А и В.
Ядро матрицы А – это множество векторов х таких, произведение матрицы А на которые равно нулевому вектору: . Поиск ядра матрицы А эквивалентен решению системы линейных однородных уравнений. Найти ядро матрицы А можно командой kernel(A).
- Найти общее и одно частное решение системы:
Для нахождения частного решения следует выполнить подстановку конкретного значения одной из переменных при помощи команды subs:
- Решить матричное уравнение: АX=В; где ,
- Дана матрица .
Найти ее ранг, дефект: d(A)=n–r(A), где n – размерность квадратной матрицы, r – ее ранг. Найти ядро А. Наберите:
2.5 Решение обыкновенных уравнений.
Для решения уравнений в Maple существует универсальная команда solve(eq,x), где eq – уравнение, x – переменная, относительно которой уравнение надо разрешить. В результате выполнения этой команды в строке вывода появится выражение, которое является решением данного уравнения. Например:
Если уравнение имеет несколько решений, которые вам понадобятся для дальнейших расчетов, то команде solve следует присвоить какое-нибудь имя name. Обращение к какому-либо k–ому решению данного уравнения производится указанием его имени с номером решения k в квадратных скобках: name[k]. Например:
Решение систем уравнений.
Системы уравнений решаются с помощью такой же команды solve( , ), только теперь в параметрах команды следует указывать в первых фигурных скобках через запятую уравнения, а во вторых фигурных скобках перечисляются через запятую переменные, относительно которых требуется решить систему. Если вам будет необходимо для дальнейших вычислений использовать полученные решения уравнений, то команде solve следует присвоить какое-нибудь имя name. Затем выполняется присвоения команда assign(name). После этого над решениями можно будет производить математические операции. Например:
2.6 Решение неравенств
Решение простых неравенств.
Команда solve применяется также для решения неравенств. Решение неравенства выдается в виде интервала изменения искомой переменной. В том случае, если решение неравенства полуось, то в поле вывода появляется конструкция вида RealRange(–¥ , Open(a)), которая означает, что xÎ (–¥ , a), а – некоторое число. Слово Open означает, что интервал с открытой границей. Если этого слова нет, то соответствующая граница интервала включена во множество решений. Например:
Если вы хотите получить решение неравенства не в виде интервального множества типа xÎ (a, b), а в виде ограничений для искомой переменной типа a
Решение систем неравенств.
С помощью команды solve можно также решить систему неравенств. Например:
- Решите неравенство .
RealRange(Open(-3), Open(2)), RealRange(Open(5), Open(9))
Запишите этот результат в аналитическом виде. Получите решение этого неравенства в виде ограничений для искомой переменной. Проделайте это самостоятельно.
- Решите неравенство .
Многофункциональный пакет Maple представляет собой один из наиболее мощных математических пакетов. Его возможности охватывают достаточно много разделов математики и могут с пользой применяться на разных уровнях, начиная от обучения старшеклассников до уровня серьезных научных исследований. Maple — система аналитических вычислений для математического моделирования.
Методика решения некоторых задач линейной алгебры с помощью пакета Maple позволила значительно повысить эффективность процесса обучения. Путем наглядного представления материала сложные математические формулы и преобразования становятся гораздо проще, и процесс усвоения материала проходит намного эффективнее.
Возможности Maple не ограничиваются решением задач математики. Используя навыки, полученные при изучении курса математики можно самостоятельно изучать такие дисциплины как: геометрия, тригонометрия, статистика, а также таких прикладных дисциплин как физика и астрономия.
Возможности пакета Maple, как средства обучения, весьма обширны и его использование является перспективным направлением в современном обучении.
Решение системы дифференциальных уравнений в maple
Для нахождения аналитических решений дифференциальных уравнений в Maple применяется команда dsolve(eq,var,options), где eq – дифференциальное уравнение, var – неизвестные функции, options – параметры. Параметры могут указывать метод решения задачи, например, по умолчанию ищется аналитическое решение: type=exact . При составлении дифференциальных уравнений для обозначения производной применяется команда diff , например, дифференциальное уравнение y” + y = x записывается в виде: diff(y(x),x$2)+y(x)=x.
Общее решение дифференциального уравнения зависит от произвольных постоянных, число которых равно порядку дифференциального уравнения. В Maple такие постоянные, как правило, обозначаются как _ С1 , _ С2 , и т.д.
Общее решение неоднородного линейного дифференциального уравнения всегда выводится так, чтобы была четко видна, структура этого решения. Как известно, общее решение неоднородного линейного дифференциального уравнения равно сумме общего решения соответствующего однородного дифференциального уравнения и частного решения этого же неоднородного дифференциального уравнения. Поэтому в строке вывода решение неоднородного линейного дифференциального уравнения всегда состоит из слагаемых, которые содержат произвольные постоянные (это общее решения соответствующего однородного дифференциального уравнения), и слагаемых без произвольных постоянных (это частное решения этого же неоднородного дифференциального уравнения).
Команда dsolve выдает решение дифференциального уравнения в невычисляемом формате. Для того, чтобы с решением можно было бы работать далее (например, построить график решения) следует отделить правую часть полученного решения командой rhs(%) .
Задание 1.1.
1. Найти общее решение дифференциального уравнения y ‘+ y cos x =sin x cos x .
Итак, решение искомого уравнения есть функция 1 .
Замечание : при записи решения диффреренциального уравнения в Maple в строке вывода произвольная постоянная обозначена как _ С1 .
2. Найти общее решение дифференциального уравнения второго порядка y ” – 2 y ‘+ y =sin x + e – x .
Замечание : так как исходное уравнение было второго порядка, то полученное решение содержит две произвольные константы, которые в Maple обычно обознаются как _ С1 и _ С2 . Первые два слагаемых представляют собой общее решение соответствующего однородного дифференциального уравнения, а вторые два – частное решение неоднородного дифференциального уравнения.
3. Найти общее решение дифференциального уравнения порядка y ”+ k 2 y =sin( qx ) в двух случаях: q ¹ k и q = k (резонанс).
Теперь найдем решение в случае резонанса. Для этого перед вызовом команды dsolve следует приравнять q = k .
Замечание : в обоих случаях частное решение неоднородного уравнения и общее решение, содержащее произвольные постоянные, выводятся отдельными слагаемыми.
Фундаментальная (базисная) система решений.
Команда dsolve представляет возможность найти фундаментальную систему решений (базисные функции) дифференциального уравнения. Для этого в параметрах команды dsolve следует указать output=basis .
Задание 1.2.
Найти фундаментальную систему решений дифференциального уравнения: y (4) +2 y ”+ y =0.
> dsolve(de, y(x), output=basis);
Решение задачи Коши или краевой задачи.
Команда dsolve может найти решение задачи Коши или краевой задачи, если помимо дифференциального уравнения задать начальные или краевые условия для неизвестной функции. Для обозначения производных в начальных или краевых условиях используется дифференциальный оператор , например, условие y”(0)=2 следует записать в виде , или условие y ‘(1)=0: . Напомним, что производная n -го порядка записывается в виде .
Задание 1.3.
1. Найти решение задачи Коши: y (4) + y ”=2cos x , y (0)= – 2, y ‘(0)=1, y ”(0)=0, y ”'(0)=0.
y( x )= – 2cos( x ) – x sin( x )+ х
2. Найти решение краевой задачи: , , . Построить график решения.
y( x )=2 x – p + p cos( x )
Замечание : для построения графика решения предварительно следует отделить правую часть полученного выражения.
Системы дифференциальных уравнений.
Команда dsolve может найти решение системы дифференциальных уравнений (или задачи Коши), если в ней указать: dsolve( ,), где sys – система дифференциальных уравнений, x(t),y(t),… – набор неизвестных функций.
Задание 1.4.
Найти решение системы дифференциальных уравнений:
Найдены две функции x ( t ) и y ( t ), которые зависят от двух произвольных постоянных _ С1 и _ С2 .
Приближенное решение дифференциальных уравнений с помощью степенных рядов.
Для многих типов дифференциальных уравнений не может быть найдено точное аналитическое решение. В этом случае дифференциальное уравнение можно решить с помощью приближенных методов, и, в частности, с помощью разложения в степенной ряд неизвестной функции.
Чтобы найти приближенное решение дифференциального уравнения в виде степенного ряда, в команде dsolve следует после переменных указать параметр type=series (или просто series ). Для того, чтобы указать порядок разложения n , т.е. порядок степени, до которой производить разложение, следует перед командой dsolve вставить определение порядка с помощью команды Order:=n .
Если ищется общее решение дифференциального уравнения в виде разложения в степенной ряд, то коэффициенты при степенях х найденного разложения будут содержать неизвестные значения функции в нуле y(0) и ее производных D(y)(0), (D@@2)(y)(0) и т.д. Полученное в строке вывода выражение будет иметь вид, похожий на разложение искомого решения в ряд Маклорена, но с другими коэффициентами при степенях х . Для выделения частного решения следует задать начальные условия y(0)=у1, D(y)(0)=у2, (D@@2)(y)(0)=у3 и т.д., причем количество этих начальных условий должно совпадать с порядком соответствующего дифференциального уравнения.
Разложение в степенной ряд имеет тип series , поэтому для дальнейшей работы с этим рядом его следует преобразовать в полином с помощью команды convert(%,polynom) , а затем выделить правую часть полученного выражения командой rhs(%) .
Задание 1.5.
1. Найти решение задачи Коши: , в виде степенного ряда с точностью до 5-го порядка.
В полученном решении слагаемое означает, что точность разложения была до 5-го порядка.
2. Найти общее решение дифференциального уравнения y ”( х ) – y 3 ( х )= е – х cos x , в виде разложения в степенной ряд до 4-го порядка. Найти разложение при начальных условиях: y (0)=1, y ‘(0)=0.
> restart; Order:=4: de:=diff(y(x),x$2)-
Замечание : в полученном разложении запись D(y)(0) обозначает производную в нуле: y ‘(0). Для нахождения частого решения осталось задать начальные условия:
3. Найти приближенное решение в виде степенного ряда до 6-го порядка и точное решение задачи Коши: , , , . Построить на одном рисунке графики точного и приближенного решений.
cond :=y(0)=1, D(y)(0)=1, D (2) (y)(0)=1
Замечание : тип решения дифференциального уравнения в виде ряда есть series , поэтому для дальнейшего использования такого решения (вычислений или построения графика) его обязательно следует конвертировать в полином с помощью команды convert
На этом рисунке видно, что наилучшее приближение точного решения степенным рядом достигается примерно на интервале – 1 x
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Примеры решения уравнений встроенными функциями
1. Решить дифференциальное уравнение .
Примечание 1.Производная в Maple задаётся функцией diff.
diff(y(x),x) – первая производная по x от функции y, зависящей от x;
diff(y(x),x$n) – n-ая производная по x от функции y, зависящей от x.
Diff – инертная форма функции производной.
Для решения обыкновенных дифференциальных уравнений (ОДУ) и систем ОДУ, зависящих от одной переменной, используется функция dsolve.
> dsolve(diff(y(x),x$2)-4*diff(y(x),x)+13*y(x)=0,y(x));
2. Решить задачу Коши , если: .
Примечание 2.В обозначении граничных условий с производными используется дифференциальный оператор D (используется только с большой буквы) D(f)(0) – обозначает значение производной от функции f в нуле. Например, если f зависит от x, то это будет обозначать следующее: .
В функции dsolve уравнение и граничные условия записываются в виде списка или множества (описание см. Синтаксис среды Maple).
3. Решить систему ОДУ
Примечание 3.
Все уравнения системы и условия записываются в общем одномерном списке или множестве. Набор функций, по которым производится интегрирование системы, также записывается в виде списка или множества.
Для начала необходимо выбрать переменную, от которой зависят x и у. Она не должна иметь имя уже объявленного оператора, константы, функции или переменной, иначе это приведет к ошибке. Каким образом отменить определение пользовательской переменной описано выше (см. Синтаксис среды Maple). В нашем случае переменная t.
4. Решить систему ОДУ , при , .
Примечание 4. Для получения конечного результата с действительными числами используется функция evalf.
evalf[n]( ) или evalf( ,n)
В первом примере функция evalf преобразует все выражения к виду с действительными числами с количеством значащих цифр, определяемым в системной переменной Digits. Во втором случае используется количество цифр, определенное пользователем (n).
Изменить системную переменную Digits можно обычным присваиванием ей целочисленного значения. В результате все операции с плавающей точкой будут использовать именно такое количество значащих цифр.
Для рассматриваемого примера:
>evalf(%);
Дифференциальные уравнения можно записывать и с помощью оператора D. Для перехода между формами записи дифференциальных уравнений используется функция convert с параметром D или diff. Рассмотрим пример программы с использованием различных форм записи.
> restart;
> a1:=diff(y(x),x$2)+13*diff(y(x),x)+10=0;
convert(%, D);
convert(%, diff);
> dsolve(a2,y(x));
dsolve(a1,y(x));
Сначала производим отмену всех определений. Затем переменной а1 присваиваем значение дифференциального уравнения с использованием diff и преобразуем его к виду с использованием оператора D. После этого для сравнения переменной a2 присваиваем значение дифференциального уравнения записанного с использованием оператора D и преобразуем к виду с diff. Затем решаем поочередно оба уравнения. Результаты совпадают, следовательно, обе формы записи аналогичны.
Выражение с помощью diff можно записать так: diff(y(x),x$n). Здесь используется оператор перечисления $. Это выражение аналогично записи, где переменная x записана через запятую n раз. Аналогия с помощью оператора D выглядит следующим образом: (D@@n)(y)(x). В данном случае применяется оператор вложенности @@, т. е. сначала берется производная, а затем от нее еще производная и так n раз.
Дата добавления: 2018-05-12 ; просмотров: 1768 ; ЗАКАЗАТЬ РАБОТУ
Для того, чтобы оценить ресурс, необходимо авторизоваться.
Данная книга является учебным пособием по дисциплинам «Математика и информатика», «Информационные технологии». Пособие представляет собой практическое руководство по изучению возможностей пакета аналитических вычислений Maple. Подробные теоретические сведения чередуются с практическими заданиями. Последовательное изучение тем и выполнение заданий позволит шаг за шагом освоить основные приемы работы в математической системе Maple. Учебное пособие предназначено для студентов 1 и 2 курсов социально-психологического и естественно-географического факультетов университета, а также для аспирантов и научных работников, использующих математические методы и модели в естественнонаучных исследованиях.
Похожие публикации:
- Как включить проверку орфографии в icq new
- Как восстановить удаленный аккаунт в telegram
- Как выйти из telegram
- Как добавить бота в диалог telegram
Как задать систему уравнений в maple
Обыкновенные дифференциальные уравнения и система Maple

Книга посвящена основным разделам теории обыкновенных дифференциальных уравнений. Более полно рассмотрены краевые задачи для уравнений второго порядка, особые решения уравнений и систем уравнений, а также применение групп Ли в теории уравнений. Главная ее особенность состоит в широком использовании системы Maple. Анализ многочисленных примеров демонстрирует высокую ее эффективность при исследовании и решении разнообразных задач. Основная цель книги состоит в том, чтобы показать, что использование системы Maple позволяет более глубоко изучить теорию уравнений и научиться пользоваться этой системой в решении различных задач.
Книга предназначена тем читателям, которые изучают теорию обыкновенных дифференциальных уравнений или используют их в своей практической деятельности.
Ведение . 8
Глава 1. Классификация уравнений. Определение и анализ решений . 13
1. Дифференциальные уравнения и их решения . . . . 13
1.1. Уравнения. . 13
1.2. Решение и интеграл дифференциального уравнения . 13
2. Простейшие уравнения первого порядка . 23
2.1. Уравнения с разделенными переменными . 23
2.2. Уравнения с разделяющимися переменными . 27
3. Задача Коши. Классификация решений уравнений пер вого порядка . 29
3.1. Основные определения. Теоремы Пеано и Осгуда. . 30
3.2. Теорема Коши и классификация решений . 32
3,3, Зависимость решений от начальных данных. Общие и особые решения . 34
3.4. Зависимость решений от параметров . 39
3.5. Уравнения, не разрешенные относительно производной . 41
Глава 2. Методы решения уравнений первого порядка . 45
1. Интегрирование простейших уравнений . . . . 45
1.1. Однородные и приводящиеся кним однородные уравнения . 46
2. Линейные однородные и неоднородные уравнения . 47
2.1. Линейные уравнения . 47
2.2. Уравнения, приводящиеся клинейным . 50
3. Уравнение Риккати . 54
3.1. Общие свойства решений . 56
4. Уравнения в полных дифференциалах . 57
4.1. Уравнения в полных дифференциалах. 57
4.2. Интегрирующий множитель . 60
5. Уравнения, не разрешенные относительно производной. 67
5.1. Уравнения, не содержащие одну из переменных . 67
5.2. Общий метод введения параметра . 68
5.3. Уравнение Лагранжа . 70
5.4. Уравнение Клеро . 74
6. Анализ особых решений . . 78
6.1. c- дискриминантная кривая и ее свойства . 78
6.2. Необходимые и достаточные условия существования
особой интегральной кривой . 85
6.3. Кривая касаний и некоторые ее свойства . 89
7. Практические способы построения особых решений . . 91
8. Параметрическая форма представления плоских кривых 95
8.1. Теоремы об огибающих семейства кривых на плоскости . 97
8.2. Точки возврата огибающей . 99
Глава 3. Уравнения n-го порядка . 103
1. Линейные однородные уравнения выше первого порядка103
1.1. Общие свойства линейных однородных уравнений . 103
2. Решение линейных однородных уравнений с постоянными коэффициентами . 109
2.1. Решение линейных однородных уравнений с постоянными коэффициентами . 109
3. Решение линейных неоднородных уравнений выше пер вого порядка. . 114
3.1. Структура общего решения . 114
4. Применение операционного исчисления . 116
4.1. Основные определения и формулы операционного исчисления 116
4.2. Применение операционного исчисления . 121
5. Различные задачи для уравнений второго порядка . . . . . . 125
5.1. Общее решение уравнение второго порядка . 125
5.2. Краевые задачи для уравнений второго порядка. Функция Грина . 125
6. Cуществование решений краевых задач. 132
6.1. Положительные и положительно определенные операторы . . . 133
6.2. Энергетические пространства . 139
6.3. Обобщенные решения краевых задач . 140
7. Собственные значения и собственные функции краевой задачи . 148
7.1. Основные свойства собственных функций и собственных значений . 149
7.2. Оценка собственных значений и собственных функций . 151
7.3. Ряды Фурье . 152
8. Аналитические решения уравнений второго порядка . . . . 154
8.2. Интегрирование уравнений с помощью.степенных рядов . 156
9. Нелинейные уравнения n-го порядка . 160
9.1. Существование решений . 160
9.2. Промежуточный интеграл . 163
9.3. Уравнения, допускающие понижение порядка . 163
9.4. Многопараметрические семейства кривых на плоскости
и в пространстве . 168
10. Огибающие семейства поверхностей с двумя парамет рами . 170
10.2. Огибающие поверхности . 171
10.1. Неявно заданные двупараметрические семейства поверхностей. 173
Глава 4. Частные и общие решения систем линейных уравнений . 177
1. Системы линейных уравнений . 177
1.1. Основные понятия и определения . 177
1.2. Теорема Коши для линейных систем . 180
1.3. Анализ примеров . 180
1.4. Системы линейных однородных уравнений . 184
2. Системы линейных однородных уравнений с постоян ными коэффициентами . 187
2.1. Случай простых собственных значений . 187
2.1.1. Случай простых вещественных собственных значений . 188
2.1.2. Собственные значения простые, но не все вещественные . 189
2.2. Собственные значения вещественны и произвольной кратности191
2.3. Решение систем уравнений . 194
3. Применение функций от матриц . . 203
3.1. Функция от матрицы, матричная экспонента . 203
3.2. Практическое построение функции от матрицы . 205
3.3. Случай кратных корней характеристического уравнения. 208
3.4. Применение полинома Лагранжа . 212
4. Системы линейных неоднородных уравнений . 216
4.1. Структура решений системы. Матрица Коши . 216
4.2. Системы неоднородных уравнений с постоянными коэффициентами . 218
5. Приводимые системы. 220
5.1. Теорема Еругина . 220
5.2. Линейные системы с периодическими коэффициентами . 221
6. Уравнения Риккати и линейные системы . . . . 225
6.1. Системы уравнений Риккати . 227
7. Матричные многочленные уравнения . . 230
7.1. Уравнения AX − XA =Θ . 230
7.2. Перестановочные матрицы . 235
7.3. Решение линейного неоднородного уравнения . 238
7.4. Скалярное уравнение . 241
7.5. Полиномиальные уравнения . 244
8. Квадратный корень из матрицы . . . 245
8.1. Уравнение с жордановой матрицей . 244
8.2. Уравнение с особенной матрицей . 252
8.3. Матричные уравнения второй степени . 260
9. Линейные дифференциальные уравнения . 260
9.1. Однородное уравнение . 260
9.2. Неоднородное уравнение . 265
9.3. Частное решение неоднородного уравнения. Формула Коши . . 268
9.4. Уравнение Бернулли . 269
10. Матричное дифференциальное уравнение Риккати . . . . . 270
10.1. Простейшие свойства уравнения . 272
10.2. Уравнения с постоянными матрицами . 274
10.3. Существование решения . 279
Глава 5. Системы нелинейных уравнений . 282
1. Теорема существования и единственности решения . . 282
1.1. Предварительный анализ системы уравнений . 282
1.2. Теорема Коши . 284
1.3. Основные следствия . 285
1.4. Зависимость решений от параметров . 286
1.5. Частные и общие решения системы уравнений . 289
2. Нелинейные системы уравнений первого порядка . . . . 290
2.1. Основные свойства системы в нормальной форме . 291
2.2. Интегралы системы уравнений . 293
3. Автономные системы уравнений . . . . 295
3.1. Симметричная форма системы уравнений . 295
4. Особые решения системы уравнений . . 299
4.1. Параметризованные семейства поверхностей и их огибающие . 300
5. Семейства неявно заданных поверхностей и их огиба ющие . 307
Глава 6. Уравнения с частными производными первого порядка . 315
1. Основные задачи интегрирования уравнений с частными производными . 315
2. Линейные однородные уравнения первого порядка . 319
2.1. Общее решение . 319
2.2. Задача Коши . 321
3. Квазилинейные уравнения . . . . 324
3.1. Случай двух независимых переменных . 324
3.2. Задача Коши для уравнения с двумя независимыми перемен ными . 326
3.3. Квазилинейные уравнения. Общий случай . 328
3.4. Решение задачи Коши . 331
Глава 7 Групповой анализ дифференциальных уравнений . 333
1. Группы точечных преобразований. 334
1.1. Основные определения и теоремы теории групп Ли. 334
1.2. Инфинитезимальный оператор и инварианты группы . 336
2. Интегрирование уравнения, допускающего группу . . . . . . 343
2.1. Продолжение группы и инфинитезимального оператора . 343
2.2. Уравнения, допускающие группу . 345
2.3. Интегрирование уравнений первого порядка . 347
2.3.1. Первый способ (замена переменных) . 347
2.3.2. Второй способ (построение интегрирующего множителя) . 351
2.4. Интегрирование уравнений второго порядка . 352
3. Дифференциальные уравнения и допускаемые ими группы . 354
3.1. Определяюшее уравнение. Алгебра Ли . 354
4. Фундаментальная система решений . . . 360
4.1. Заключение . 363
Приложения . 365
1. Краткое описание систем Maple . 365
2. Приложение 1. Работа с числами, наборами и списками . 368
3. Приложение 2. Матрицы и векторы . 370
4. Приложение 3. Функции . 373
5. Приложение 4, Операции над функциями . 374
6. Приложение 5. Обыкновенные дифференциальные уравнения . . 376
7. Приложение 6. Визуализация . 378
8. Приложение 7. Визуализация в дифференциальных уравнениях. 381
Литература . 382
Предметный указатель . 386
Характеристики
| Информация о книге | |
| Автор | Егоров А. И. |
| Формат | 70×100/16 |
| Объем, стр | 392 стр. |
Книга посвящена основным разделам теории обыкновенных дифференциальных уравнений. Более полно рассмотрены краевые задачи для уравнений второго порядка, особые решения уравнений и систем уравнений, а также применение групп Ли в теории уравнений. Главная ее особенность состоит в широком использовании системы Maple. Анализ многочисленных примеров демонстрирует высокую ее эффективность при исследовании и решении разнообразных задач. Основная цель книги состоит в том, чтобы показать, что использование системы Maple позволяет более глубоко изучить теорию уравнений и научиться пользоваться этой системой в решении различных задач.
Книга предназначена тем читателям, которые изучают теорию обыкновенных дифференциальных уравнений или используют их в своей практической деятельности.
Ведение . 8
Глава 1. Классификация уравнений. Определение и анализ решений . 13
1. Дифференциальные уравнения и их решения . . . . 13
1.1. Уравнения. . 13
1.2. Решение и интеграл дифференциального уравнения . 13
2. Простейшие уравнения первого порядка . 23
2.1. Уравнения с разделенными переменными . 23
2.2. Уравнения с разделяющимися переменными . 27
3. Задача Коши. Классификация решений уравнений пер вого порядка . 29
3.1. Основные определения. Теоремы Пеано и Осгуда. . 30
3.2. Теорема Коши и классификация решений . 32
3,3, Зависимость решений от начальных данных. Общие и особые решения . 34
3.4. Зависимость решений от параметров . 39
3.5. Уравнения, не разрешенные относительно производной . 41
Глава 2. Методы решения уравнений первого порядка . 45
1. Интегрирование простейших уравнений . . . . 45
1.1. Однородные и приводящиеся кним однородные уравнения . 46
2. Линейные однородные и неоднородные уравнения . 47
2.1. Линейные уравнения . 47
2.2. Уравнения, приводящиеся клинейным . 50
3. Уравнение Риккати . 54
3.1. Общие свойства решений . 56
4. Уравнения в полных дифференциалах . 57
4.1. Уравнения в полных дифференциалах. 57
4.2. Интегрирующий множитель . 60
5. Уравнения, не разрешенные относительно производной. 67
5.1. Уравнения, не содержащие одну из переменных . 67
5.2. Общий метод введения параметра . 68
5.3. Уравнение Лагранжа . 70
5.4. Уравнение Клеро . 74
6. Анализ особых решений . . 78
6.1. c- дискриминантная кривая и ее свойства . 78
6.2. Необходимые и достаточные условия существования
особой интегральной кривой . 85
6.3. Кривая касаний и некоторые ее свойства . 89
7. Практические способы построения особых решений . . 91
8. Параметрическая форма представления плоских кривых 95
8.1. Теоремы об огибающих семейства кривых на плоскости . 97
8.2. Точки возврата огибающей . 99
Глава 3. Уравнения n-го порядка . 103
1. Линейные однородные уравнения выше первого порядка103
1.1. Общие свойства линейных однородных уравнений . 103
2. Решение линейных однородных уравнений с постоянными коэффициентами . 109
2.1. Решение линейных однородных уравнений с постоянными коэффициентами . 109
3. Решение линейных неоднородных уравнений выше пер вого порядка. . 114
3.1. Структура общего решения . 114
4. Применение операционного исчисления . 116
4.1. Основные определения и формулы операционного исчисления 116
4.2. Применение операционного исчисления . 121
5. Различные задачи для уравнений второго порядка . . . . . . 125
5.1. Общее решение уравнение второго порядка . 125
5.2. Краевые задачи для уравнений второго порядка. Функция Грина . 125
6. Cуществование решений краевых задач. 132
6.1. Положительные и положительно определенные операторы . . . 133
6.2. Энергетические пространства . 139
6.3. Обобщенные решения краевых задач . 140
7. Собственные значения и собственные функции краевой задачи . 148
7.1. Основные свойства собственных функций и собственных значений . 149
7.2. Оценка собственных значений и собственных функций . 151
7.3. Ряды Фурье . 152
8. Аналитические решения уравнений второго порядка . . . . 154
8.2. Интегрирование уравнений с помощью.степенных рядов . 156
9. Нелинейные уравнения n-го порядка . 160
9.1. Существование решений . 160
9.2. Промежуточный интеграл . 163
9.3. Уравнения, допускающие понижение порядка . 163
9.4. Многопараметрические семейства кривых на плоскости
и в пространстве . 168
10. Огибающие семейства поверхностей с двумя парамет рами . 170
10.2. Огибающие поверхности . 171
10.1. Неявно заданные двупараметрические семейства поверхностей. 173
Глава 4. Частные и общие решения систем линейных уравнений . 177
1. Системы линейных уравнений . 177
1.1. Основные понятия и определения . 177
1.2. Теорема Коши для линейных систем . 180
1.3. Анализ примеров . 180
1.4. Системы линейных однородных уравнений . 184
2. Системы линейных однородных уравнений с постоян ными коэффициентами . 187
2.1. Случай простых собственных значений . 187
2.1.1. Случай простых вещественных собственных значений . 188
2.1.2. Собственные значения простые, но не все вещественные . 189
2.2. Собственные значения вещественны и произвольной кратности191
2.3. Решение систем уравнений . 194
3. Применение функций от матриц . . 203
3.1. Функция от матрицы, матричная экспонента . 203
3.2. Практическое построение функции от матрицы . 205
3.3. Случай кратных корней характеристического уравнения. 208
3.4. Применение полинома Лагранжа . 212
4. Системы линейных неоднородных уравнений . 216
4.1. Структура решений системы. Матрица Коши . 216
4.2. Системы неоднородных уравнений с постоянными коэффициентами . 218
5. Приводимые системы. 220
5.1. Теорема Еругина . 220
5.2. Линейные системы с периодическими коэффициентами . 221
6. Уравнения Риккати и линейные системы . . . . 225
6.1. Системы уравнений Риккати . 227
7. Матричные многочленные уравнения . . 230
7.1. Уравнения AX − XA =Θ . 230
7.2. Перестановочные матрицы . 235
7.3. Решение линейного неоднородного уравнения . 238
7.4. Скалярное уравнение . 241
7.5. Полиномиальные уравнения . 244
8. Квадратный корень из матрицы . . . 245
8.1. Уравнение с жордановой матрицей . 244
8.2. Уравнение с особенной матрицей . 252
8.3. Матричные уравнения второй степени . 260
9. Линейные дифференциальные уравнения . 260
9.1. Однородное уравнение . 260
9.2. Неоднородное уравнение . 265
9.3. Частное решение неоднородного уравнения. Формула Коши . . 268
9.4. Уравнение Бернулли . 269
10. Матричное дифференциальное уравнение Риккати . . . . . 270
10.1. Простейшие свойства уравнения . 272
10.2. Уравнения с постоянными матрицами . 274
10.3. Существование решения . 279
Глава 5. Системы нелинейных уравнений . 282
1. Теорема существования и единственности решения . . 282
1.1. Предварительный анализ системы уравнений . 282
1.2. Теорема Коши . 284
1.3. Основные следствия . 285
1.4. Зависимость решений от параметров . 286
1.5. Частные и общие решения системы уравнений . 289
2. Нелинейные системы уравнений первого порядка . . . . 290
2.1. Основные свойства системы в нормальной форме . 291
2.2. Интегралы системы уравнений . 293
3. Автономные системы уравнений . . . . 295
3.1. Симметричная форма системы уравнений . 295
4. Особые решения системы уравнений . . 299
4.1. Параметризованные семейства поверхностей и их огибающие . 300
5. Семейства неявно заданных поверхностей и их огиба ющие . 307
Глава 6. Уравнения с частными производными первого порядка . 315
1. Основные задачи интегрирования уравнений с частными производными . 315
Решение дифференциальных уравнений
Важное место в математических расчетах занимает решение дифференциальных уравнений. К нему, в частности, обычно относится анализ поведения различных систем во времени (анализ динамики), а также вычисление различных полей (тяготения, электрических зарядов и т. д.). Трудно переоценить роль дифференциальных уравнений в моделировании физических и технических объектов и систем, Maple 7 позволяет решать одиночные дифференциальные уравнения и системы дифференциальных уравнений как аналитически, так и в численном виде. Разработчиками системы объявлено о существенном расширении средств решения дифференциальных уравнений и о повышении их надежности в смысле нахождения решений для большинства классов дифференциальных уравнений. Поэтому данный урок целиком посвящен решению уравнений данного класса. Для решения системы простых дифференциальных уравнений (задача Коши) используется функция dsolve в разных формах записи:
Здесь ODE — одно обыкновенное дифференциальное уравнение или система из дифференциальных уравнений первого порядка с указанием начальных условий, у(х) — функция одной переменной, Ics — выражение, задающее начальные условия, —множество дифференциальных уравнений, —множество неопределенных функций, extra_argument — опция, задающая тип решения. Параметр extra_argument задает класс решаемых уравнений. Отметим основные значения этого параметра:
Для решения задачи Коши в параметры dsolve надо включать начальные условия, а при решении краевых задач — краевые условия. Если Maple способна найти решение при числе начальных или краевых условий меньшего порядка системы, то в решении будут появляться неопределенные константы вида _С1, _С2 и т. д. Они же могут быть при аналитическом решении системы, когда начальные условия не заданы. Если решение найдено в неявном виде, то в нем появится параметр _Т.
По умолчанию функция dsolve автоматически выбирает наиболее подходящий метод решения дифференциальных уравнений. Однако в параметрах функции dsolve в квадратных скобках можно указать предпочтительный метод решения дифференциальных уравнений. Допустимы следующие методы:
Информацию о каждом методе можно получить, используя команду Tdsolve, method и указав в ней конкретный метод. Например, команда Tdsolve,linear вызовет появление страницы справочной системы с подробным описанием линейного метода решения дифференциальных уравнений.
Производные при записи дифференциальных уравнений могут задаваться функцией diff или оператором D. Выражение sysODE должно иметь структуру множества и содержать помимо самой системы уравнений их начальные условия.
Решение ОДУ первого порядка
Начнем рассмотрение практических примеров с решения одиночных обыкновенных дифференциальных уравнений (ОДУ) первого порядка:

Следующие примеры иллюстрируют возможность решения одного и того же дифференциального уравнения ode_L разными методами:

Объем данной книги не позволяет остановиться на всех тонкостях аналитического решения дифференциальных уравнений. Множество примеров такого решения дано в справочной базе данных Maple,. 7- К ней нужно обратиться в случае, если решение того или иного дифференциального уравнения выходит за рамки учебного курса.
Решение дифференциальных уравнений второго порядка
Здесь видно, что для задания производной используется ранее рассмотренная функция diff . С помощью символа $ можно задать производную более высокого порядка. Ниже представлено решение двух дифференциальных уравнений второго порядка:


Обратите внимание на решение второго из этих уравнений. Здесь использован прием визуализации исходного дифференциального уравнения, и оно задается значением переменной de. Кроме того, и это особенно важно, решение осуществляется при заданных начальных условиях. Именно поэтому в решении отсутствуют произвольные постоянные вида _СN .
Решение систем дифференциальных уравнений
На рис. 13.1 представлено решение системы из двух дифференциальных уравнений различными методами — в явном виде, в виде разложения в ряд и с использованием преобразования Лапласа. Здесь следует отметить, что решение в виде ряда является приближенным. Поэтому полученные в данном случае аналитические выражения отличаются от явного решения и решения с применением преобразования Лапласа.

Рис. 13.1 . Решение системы из двух дифференциальных уравнений различными методами
Следует отметить, что, несмотря на обширные возможности Maple 7 в области аналитического решения дифференциальных уравнений, оно возможно далеко не всегда. Поэтому, если не удается получить такое решение, полезно попытаться найти решение в численном виде.
Численное решение дифференциальных уравнений
Большинство нелинейных дифференциальных уравнений не имеет аналитического решения. Кроме того, часто аналитическое решение и не нужно, но требуется получить ответ в виде графических зависимостей.
В таких случаях для решения дифференциальных уравнений в численном виде используется функция dsolve с параметром numeric или type=numeric . При этом решение возвращается в виде специальной процедуры, по умолчанию реализующей широко известный метод решения дифференциальных уравнений Рунге—Кутта—Фелберга порядков 4 и 5 (в зависимости от условий адаптации решения к скорости его изменения). Эта процедура называется rkf45 и символически выводится (без тела) при попытке решения заданной системы дифференциальных уравнений. Последнее достаточно наглядно иллюстрирует рис. 13.2.

Рис. 13.2. Решение системы дифференциальных уравнений численным методом rkf45 с выводом графика решения
Указанная процедура возвращает особый тип данных, позволяющих найти решение в любой точке или построить график решения (или решений). Для графического отображения Maple 7 предлагает ряд возможностей, и одна из них представлена на рис. 13.2 — см. последнюю строку ввода. При этом используется функция plot[odeplot] из пакета odeplot , предназначенного для визуализации решений дифференциальных уравнений.
В список параметров функции dsolve можно явным образом включить указание на метод решения, например опция mathod=dverk78 задает решение непрерывным методом Рунге—Кутта порядка 7 или 8. Вообще говоря, численное решение дифференциальных уравнений можно производить одним из следующих методов:
Обилие используемых методов расширяет возможности решения дифференциальных уравнений в численном виде. Большинство пользователей Maple 7 вполне устроит автоматический выбор метода решения по умолчанию. Однако в сложных случаях возможна прямая установка одного из указанных выше методов. С деталями реализации методов можно ознакомиться по справочной системе.
С помощью параметра ‘ abserr’ =аеrr можно задать величину абсолютной погрешности решения, а с помощью ‘minerr’=mine — минимальную величину погрешности. В большинстве случаев эти величины, заданные по умолчанию, оказываются приемлемыми для расчетов.
Maple 7 реализует адаптируемые к ходу решения методы, при которых шаг решения h автоматически меняется, подстраиваясь под условия решения. Так, если прогнозируемая погрешность решения становится больше заданной, шаг решения автоматически уменьшается. Более того, система Maple способна автоматически выбирать наиболее подходящий для решаемой задачи метод решения.
Еще один пример решения системы дифференциальных уравнений представлен на рис. 13.3. Здесь на одном графике представлены зависимости у(х) и z(х), представляющие полное решение заданной системы. При этом процедура имеет особый вид listprocedure и для преобразования списка выходных данных в векторы решения Y и Z используется функция subs .
Для решения достаточно сложных задач полезны специальная структура DESol для решения дифференциальных уравнений и инструментальный пакет DEtools , содержащий самые изысканные средства для графической визуализации результатов решения дифференциальных уравнений. Эти средства мы более подробно рассмотрим в дальнейшем.

Рис. 13.3 . Решение системы дифференциальных уравнений численным методом с выводом всех графиков искомых зависимостей
При решении некоторых задач физики и радиоэлектроники выбираемый поумолчанию шаг изменения аргументах или t — Л может привести к неустойчивости решения. Неустойчивости можно избежать рядом способов. Можно, например, нормировать уравнения, избегая необходимости использования малого шага. А можно задать заведомо малый шаг. Например, при method=classical для этого служит параметр stepsize-h. Примеры такого подхода будут даны в уроке 17 (см. Решение физических задач и моделирование цепи на туннельном диоде).
Дифференциальные уравнения с кусочными функциями
Функции кусочного типа широко используются при математическом моделировании различных физических объектов и систем. В основе такого моделирования обычно лежит решение дифференциальных уравнений, описывающих поведение объектов и систем. Покажем возможность применения кусочных функций для решения дифференциальных уравнений.
Ниже представлено задание дифференциального уравнения первого порядка, содержащего кусочную функцию:

Используя функцию dsolve , выполним решение этого дифференциального уравнения:

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

В конце этого раздела приведем пример решения нелинейного дифференциального уравнения Риккати с кусочной функцией:

В ряде случаев желательна проверка решения дифференциальных уравнений. Ниже показано, как она делается для последнего уравнения:

Как видно из приведенных достаточно простых и наглядных примеров, результаты решения дифференциальных уравнений с кусочными функциями могут быть довольно громоздкими. Это, однако, не мешает эффективному применению функций данного класса.
Структура неявного представления дифференциальных уравнений — DESol
В ряде случаев иметь явное представление дифференциальных уравнений нецелесообразно. Для неявного их представления в Maple 7 введена специальная структура:
где exprs — выражение для исходной системы дифференциальных уравнений, vars — заданный в виде опции список переменных (или одна переменная). Структура DESol образует некоторый объект, дающий представление о дифференциальных уравнениях, чем-то напоминающее RootOf . С этим объектом можно обращаться, как с функцией, то есть его можно интегрировать, дифференцировать, получать разложение в ряд и вычислять численными методами. На рис. 13.4 показаны примеры применения структуры DESol . Обратите внимание на последний пример — в нем структура- DESol использована для получения решения дифференциального уравнения в виде степенного ряда.

Рис. 13.4. Примеры применения структуры DESol
Инструментальный пакет решения дифференциальных уравнений DEtools
Средства пакета DEtools
Решение дифференциальных уравнений самых различных типов — одно из достоинств системы Maple 7. Пакет DEtools предоставляет ряд полезных функций для решения дифференциальных уравнений и систем с такими уравнениями:
> with(DEtools);
Warning, the name adjoint has been redefined
[DEnormal, DEplot, DEplot3d, DEplot_pofygon, DFactor, DFactorLCLM, DFactorsols, Dchangevar, GCRD, LCLM, PDEchangecoords, RiemannPsols, Xchange, Xcommutator, Xgauge, abelsoL, adjoint, autonomous, bernoullisol, buildsol, buildsym, canoni, caseplqt, casesplit, checkrank, chinisol, clairautsol, constcoeffsols, convertAlg, convertsys, dalembertsol, dcoeffs, de2diffop, dfieldplot, diffop2de, dsubs, eigenring, endomorphism_charpoly, equinv, etajc, eulersols, exactsol, expsols, exterior’_power,firint,firtest, formal_sol, gen_exp, generate_ic, genhomosol, gensys, hamilton_eqs, indicialeq, infgen, initialdata, integrate_sols, intfactor, Invariants, kovacicsols, leftdivision, liesol, line_int, linearsol, matrixDE, matrix_riccati, moserjreduce, muchange, mult, mutest, newtonjpolygon, normalG2, odeadvisor, odepde, parametricsol, phaseportrait, poincare, polysols, ratsols, redode, reduceOrder, reduce_order, regular_parts, regularsp, remove_RootOf, riccati_system, riccatisol, rifsimp, rightdivision, rtaylor, separablesol, solvejgroup, super_reduce, symgen, symmetric_po\ver, symmetric^product, symtest, transinv, translate, untranslate, varparam, zoom]
Этот пакет дает самые изысканные средства для аналитического и численного решения дифференциальных уравнений и систем с ними. По сравнению с версией Maple V R5 число функций данного пакета в Maple 7 возросло в несколько раз. Многие графические функции пакета DEtools были уже описаны. Ниже приводятся полные наименования тех функций, которые есть в реализациях R5, 6 и 7 системы Maple:
Применение этих функций гарантирует совместимость документов реализаций Maple R5, 6 и 7.
Основные функции пакета DEtools
Ввиду обилия функций пакета DEtools дать их полное описание в данной книге не представляется возможным. Поэтому выборочно рассмотрим наиболее важные функции этого пакета. Функция:
тестирует дифференциальное уравнение (или систему) des . Ее параметрами помимо des являются независимая переменная ivar и зависимая переменная dvar . Следующие примеры поясняют применение этой функции:
Функция Dchangevar используется для обеспечения замен (подстановок) в дифференциальных уравнениях:
Dchangevar(trans,deqns, c_tvar, rMvar)
Dchangevar(tranl, tran2, . tranN, deqns, c_ivar, n_ivar)
В первом случае trans — список или множество уравнений, которые подставляются в дифференциальное уравнение, список или множество дифференциальных уравнений deqns . При этом c_ivar — имя текущей переменной, n_ivar — имя новой переменной (его задавать необязательно). Во второй форме для подстановки используются уравнения tranl, tran2, . Ниже представлены примеры применения функции Dchangevar :

Следует отметить, что подстановки являются мощным средством решения дифференциальных уравнений. Нередки случаи, когда дифференциальное уравнение не решается без их применения. Дополнительные примеры использования подстановок можно найти в справочной базе данных системы Maple 7.
Функция нормализации ОДУ DEnormal синтаксически записывается в виде:
где des — система дифференциальных уравнений, 1var — независимая переменная и dvar — зависимая переменная. Применение этой функции поясняют следующие примеры:

Функция convertAlg(des,dvar) возвращает список коэффициентов формы системы дифференциальных уравнений des с зависимыми переменными dvar . Это поясняют следующие примеры:

Для изменения переменных в системах дифференциальных уравнений используется функция convertsys :
convertsys(deqns, inits, vars, ivar, yvec, ypvec)
Здесь deqns — одно дифференциальное уравнение или список (множество), представляющие систему дифференциальных уравнений первого порядка, inits — множество или список начальных условий, vans — зависимые переменные, ivar — независимые переменные, yvec — вектор решений и ypvec — вектор производных. Функция:
обеспечивает полиномиальное представление для линейного однородного дифференциального уравнения второго порядка des . Параметр alpha намечает точку сингулярности.


обеспечивает понижение порядка дифференциального уравнения des (или системы уравнений, представленных списком или множеством) при зависимых переменных dvar , частном решении partsol (или списке частных решений) и флаге solutionForm , показывающем, что решение происходит явным методом ( explicitly ). Для демонстрации действия этой функции воспользуемся примером из ее справочной страницы:

вычисляет регулярные особые (сингулярные) точки для дифференциального уравнения второго порядка или системы дифференциальных уравнений des . Следующий пример поясняет применение данной функции:
Еще две функции пакета DEtools :
выполняют особую операцию трансляции дифференциального уравнения (или списка дифференциальных уравнений) из центрированного относительно 0 в центрированное относительно 1 и наоборот. С деталями этого специфического процесса заинтересованный читатель может познакомиться в справочной базе данных. И еще одна полезная функция пакета:
находит общее решение дифференциального уравнения (или системы уравнений) sols методом вариации параметров. Параметр v задает правую часть уравнения; если он равен 0, ищется только частичное решение:

Более подробную информацию об этих функциях читатель найдет в их справочных страницах, а также в информационном документе detdols.mws содержащем систематизированное описание пакета DEtools с многочисленными примерами его применения.
Графическое представление решений дифференциальных уравнений
Применение функции odeplot пакета plots
Для обычного графического представления результатов решения дифференциальных уравнений может использоваться функция odeplot из описанного выше пакета plots . Эта функция используется в следующем виде:
где s — запись (в выходной фирме) дифференциального уравнения или системы дифференциальных уравнений, решаемых численно функцией dsolve, vars — переменные, г — параметр, задающий пределы решения (например, а. .Ь), и о — необязательные дополнительные опции.
На рис. 13.5 представлен пример решения одиночного дифференциального уравнения с выводом решения у(х) с помощью функции odeplot .
В этом примере решается дифференциальное уравнение:
при у(0) = 2 и x, меняющемся от-5 до 5. Левая часть уравнения записана с помощью функции вычисления производной diff . Результатом построения является график решения у(х).
В другом примере (рис. 13.6) представлено решение системы из двух нелинейных дифференциальных уравнений. Здесь с помощью функции odeplot строятся графики двух функций. —у(х) и z(x).
В этом примере решается система:
при начальных условиях y(0)=0, z(0) = 1 их, меняющемся от -4 до 4 при числе точек решения, равном 25.
Иногда решение системы из двух дифференциальных уравнений (или одного дифференциального уравнения второго порядка) представляется в виде фазового портрета — при этом по осям графика откладываются значения у(х) и z(х) при изменении х в определенных пределах. Рисунок 13.7 демонстрирует построение фазового портрета для системы, представленной выше.
Обычное решение, как правило, более наглядно, чем фазовый портрет решения. Однако для специалистов (например, в теории колебаний) фазовый портрет порою дает больше информации, чем обычное решение. Он более трудоемок; для построения, поэтому возможность Марle 7 быстро строить фазовые портреты трудно переоценить.

Рис. 13.5. Пример решения одиночного дифференциального уравнения

Рис. 13.6. Пример решения системы из двух дифференциальных уравнений

Рис. 13.7. Представление решения системы дифференциальных уравнений в виде фазового портрета
Функция DEplot из пакета DEtools
Специально для решения и визуализации решений дифференциальных уравнений и систем с дифференциальными уравнениями служит инструментальный пакет DEtools . В него входит ряд функций для построения наиболее сложных и изысканных графиков решения дифференциальных уравнений. Основной из этих функций является функция DEplot . Функция DEplot может записываться в нескольких формах:
DEplot(deqns, vars. trange. eqns)
DEplot(deqns, vans, trange. inits. eqns)
DEplot(deqns. vars. trange, уrange, xrgnge, eqns) .
DEplot(deqns. vars, trange. Inits, xrange. yrange, eqns)
Здесь deqns — список или множество, содержащее систему дифференциальных уравнений первого порядка или одиночное уравнение любого порядка; vars — зависимая переменная или список либо множество зависимых переменных; trange — область изменения независимой переменной t; Inits — начальные условия для решения; yrange — область изменения для первой зависимой переменной, xrange — область изменения для второй зависимой переменной; eqns — опция, записываемая в виде keyword-value. Замена имен переменных другими в данном случае недопустима.
Эта функция обеспечивает численное решение дифференциальных уравнений или их систем при одной независимой переменной t и строит графики решения. Для автономных систем эти графики строятся в виде векторного поля направлений, а для неавтономных систем — только в виде кривых решения. По умолчанию реализуется метод Рунге—Кутта 4-го порядка, что соответствует опции methodiclassical[rk4]. С функцией DEplot могут использоваться следующие параметры:
На рис. 13.8 показано решение системы диффкренциальных уравнений
описывающих модель Лотки—Вольтерра при заданных в документе изменениях t, x(t) и y(t). Решение представлено в виде векторного поля стрелки которого являются касательными к кривым решения (сами эти кривые не строятся). Обратите внимание на функциональную закраску стрелок векторного поля, делающую решение особенно наглядным (правда, лишь на экране цветного дисплея, а не на страницах книги).

Рис. 13.8. Решение системы дифференциальных уравнений Лотки—Вольтерра , с выводом в виде графика векторного поля
Еще интересней вариант графиков, представленный на рис. 13.9. Здесь помимо векторного поля несколько иного стиля построены фазовые портреты решения с использованием функциональной закраски их линий. Фазовые портреты построены для двух наборов начальных условий:
x(0) = y(0) = 1,2 и x(0) = 1 и у(0)=0,7.
Следует отметить, что функция DEplot может обращаться к другим функциям пакета DEtools для обеспечения специальных графических возможностей, таких как построение векторного поля или фазового портрета решения.

Рис. 13.9. Пример построения двух фазовых портретов на фоне векторного поля
Функция DEplotSd из пакета DEtools
В ряде случаев решение систем дифференциальных уравнений удобно представлять в виде пространственных кривых — например, линий равного уровня или просто в виде кривых в пространстве. Для этого служит функция DEplot3d :
DEplot3d(deqns, vars, trarige, initset, о)
DEplot3d(deqns, vars, trang, yrange, xrange, initset, o)
Назначение параметров этой функции аналогично указанному для функции DEplot .
Рисунок 13.10 поясняет применение функции DEPlqt3d для решения системы из двух дифференциальных уравнений с выводом фазового портрета колебаний в виде параметрически заданной зависимости x(t), y(t). В данном случае фазовый портрет строится на плоскости по типу построения графиков/линий равной высоты.
Другой пример (рис. 13.11) показывает решение системы из двух дифференциальных уравнений с построением объемного фазового портрета. В этом случае используется трехмерная координатная система и графические построения соответствуют параметрическим зависимостям x(t), y(t) и z(t). Вид фазового портрета напоминает разворачивающуюся в пространстве объемную, спираль.
Функциональная окраска делает график пикантным.

Рис. 13.10. Пример решения системы из двух дифференциальных уравнений с помощью функции DEptot3d
Возможности функции DEplot3d позволяют решать системы, состоящие более чем из двух дифференциальных уравнений. Однако в этом случае число решений, представляемых графически, выходит за пределы возможного для трехмерной графики. При этом от пользователя зависит, какие из зависимостей опускаются при построении, а какие строятся.
Функция PDEplot пакета DEtools
Еще одна функция пакета DEtools — DEtools[PDEp1ot] — служит для построения графиков решения систем с квазилинейными дифференциальными уравнениями первого порядка в частных производных.
Эта функция используется в следующем виде:
PDEplotCpdiffeq, van, i_curve, srange, о)
PDEplot(pdiffeq, var, i_curve. srange, xrange, yrange, urange, o)

Рис. 13.11. Пример решения системы из двух дифференциальных уравнений с построением трехмерного фазового портрета
Здесь помимо упоминавшихся ранее параметров используются следующие: pdiffeq — квазилинейные дифференциальные уравнения первого порядка ( PDE), vans — независимая переменная и i_curve — начальные условия для параметрических кривых трехмерной поверхности. Помимо опций, указанных для функции DEplot , здесь могут использоваться следующие опции:
Рисунок 13.12 демонстрирует применение функции PDEplot . Этот пример показывает, насколько необычным может быть решение даже простой системы дифференциальных уравнений в частных производных.

Рис. 13.12. Пример применения функции PDEplot
В данном случае решение представлено трехмерной фигурой весьма нерегулярного вида.
Другой пример использования функции PDEplot показан на рис. 13.13. Он иллюстрирует комбинированное построение графиков решения разного типа с применением функциональной закраски, реализуемой по заданной формуле с помощью опции initcolor .
Еще раз отметим, что, к сожалению, рисунки в данной книге не дают представления о цвете выводимого Maple графика. Поэтому наглядность решений, видимых на экране монитора, существенно выше.
Графическая функция dfieldplot
Графическая функция dfieldplot служит для построения поля направления с помощью векторов по результатам решения дифференциальных уравнений. Фактически эта функция как бы входит в функцию DEplot и при необходимости вызывается последней. Но она может использоваться и самостоятельно, что демонстрирует рис. 13.14, на котором показан пример решения следующей системы дифференциальных уравнений:

Рис. 13.13 . Построение комбинированного графика с помощью функции PDEplot
Обратите внимание на использование опций в этом примере, в частности на вывод надписи на русском языке. В целом список параметров функции phaseportrait аналогичен таковому для функции DEplot (отсутствует лишь задание начальных условий).
Графическая функция phaseportrait
Графическая функция phaseportrait служит для построения фазовых портретов по результатам решения одного дифференциального уравнения или системы дифференциальных уравнений deqns . Она задается в следующем виде:
При задании уравнений достаточно указать их правые части. На рис. 13.15 представлен пример применения функции phaseportrait для решения системы из трех дифференциальных уравнений первого порядка.
В этом примере система дифференциальных уравнений задана с помощью оператора дифференцирования D. Функциональная окраска линии фазового портрета достигается использованием параметра linecolor, в правой части которого задана формула для цвета.

Рис. 13.14. Построение фазового портрета в виде графика векторного поля

Рис. 13.15. Построение фазового портрета с помощью функции phaserportrait
Еще более интересный пример решения дифференциального уравнения представлен на рис. 13.16. Здесь построены фазовые портреты для асимптотических решений.
В целом надо отметить, что возможности визуализации решений дифференциальных уравнений с помощью системы Maple 7 весьма велики и приведенные выше примеры лишь частично иллюстрируют сказанное. В справочной системе можно найти ряд других весьма эффектных решений систем дифференциальных уравнений с визуализацией последних. ,

Рис. 13.16. Построение асимптотического решения на фоне графика векторного поля
Углубленный анализ дифференциальных уравнений
Задачи углубленного анализа ДУ
Maple 7 существенно доработана по части решения дифференциальных уравнений (ДУ) и систем с ДУ. Эта доработка прежде всего направлена на получение верных решений как можно большего числа ДУ разных классов и систем с ДУ.
В частности, расширен круг нелинейных дифференциальных уравнений, для которых Maple7способна дать аналитические решения.
Весь арсенал средств решения ДУ-и методика их применения вполне заслуживают отражения в отдельной большой книге. Мы ограничимся описанием только трех средств системы Maple 7 — проверки ДУ на автономность, углубленным анализом решения с помощью контроля уровня выхода и получением приближенного полиномиального аналитического решения. Более подробное знакомство с новыми возможностями решения дифференциальных уравнений можно получить из соответствующей статьи справки symbolics в разделе What is new.
Проверка ДУ на автономность
Одиночное дифференциальное уравнение или система дифференциальных уравнений называются автономными, если их правая часть явно не зависит от независимой переменной. Для автономных дифференциальных уравнений или систем при построении графиков решений функцией DEplot не обязательно задавать начальные условия, но нужно указывать диапазон изменения искомых переменных.
Для проверки уравнений (или систем) на автономность используется функция:
где des — заданное дифференциальное уравнение или (в виде списка) система дифференциальных уравнений, vars — зависимые переменные; ivar — независимая переменная. Если система автономна, то эта функция возвращает true , в противном случае false .

В первом случае система дифференциальных уравнений (модель. Лотки-Воль-терра) автономна, а во втором случае дифференциальное уравнение не автономно.
Контроль уровня вывода решения ДУ
Для углубленного анализа аналитического решения ДУ (или системы ДУ) можно использовать специальную возможность управления уровнем вывода решения с помощью системной переменной infilevel(dsolve)=level. Значение level =all дает обычный вывод решения без Комментариев, уровень 1 зарезервирован для информации, которую может сообщить пользователь, уровень 2 или 3 дает более детальный вывод (включая сообщения об использованном алгоритме и технике решения) и, наконец, уровни 4 и 5 дают наиболее детальную информацию (если тиковая есть в дополнение к той информации, которую дает уровень 2 или 3).
Приведем пример .аналитического решения ДУ третьего порядка с контролем уровня вывода решения:


В данном случае повышение уровня вывода до 4 или 5 бесполезно, поскольку вся информация о решении сообщается уже при уровне 2 (или 3).
Приближенное полиномиальное решение ДУ
Во многих случаях аналитические решения даже простых ДУ оказываются весьма сложными, например содержат специальные математические функции. При этом нередко полезна подмена такого решения другим, тоже аналитическим, но приближенным решением. Наиболее распространенным приближенным решением в этом случае может быть полиномиальное решение, то есть замена реального решения полиномом той или иной степени. При этом порядок полинома задается значением системной переменной Order , а для получения такого решения функция dsolve должна иметь параметр series .
На рис. 13.17 представлено решение ДУ третьего порядка различными методами: точное аналитическое и приближенное в виде полинома с максимальным заданным порядком 10 и 60. График дает сравнение этих решений для зависимости y(t).
Дадим небольшой комментарий. Нетрудно заметить, что точное аналитическое решение весьма сложно и содержит специальные функции Бесселя и гамма- функции. При порядке полинома 8 (он несколько меньше заданного максимального) решение практически совпадает с точным до значений t < 2, а при максимальном заданном порядке 60 область совпадения расширяется до значений t < 5,5. Затем приближенное решение резко отходит от точного.
Этот пример, с одной стороны, иллюстрирует хорошо известный факт — быстрое нарастание погрешности полиномиального приближения за пределами области хорошего совпадения решений. С другой стороны, он показывает, что степень полинома более 60 (и даже выше) вовсе не так уж бесполезна, как это утверждается во многих статьях и книгах по полиномиальному приближению. Точность полиномиальных вычислений Maple 7 достаточно высока, чтобы обеспечить получение приближенных полиномиальных выражений со степенью порядка десятков и иногда даже сотен. Другое дело, что столь «длинный» полином не всегда удобен для аналитических расчетов, даже несмотря на его структурную простоту.
Решение. Для составления системы уравнений Эйлера найдём частные производные подынтегральной функции



Это линейное однородное уравнение 4-го порядка с постоянными коэффициентами. Характеристическое уравнение: . Общее решение содержит 2п=4 произвольных постоянных:


Произвольные постоянные найдём из граничных условий: . пространство уравнение функционал плоскость
Таким образом, . Экстремальная кривая является пересечением этих цилиндров.
Проиллюстрируем данную задачу с помощью пакета Maple. Цилиндры можно изобразить, используя команду для рисования поверхностей, заданных в неявной форме (рис.3):
> implicitplot3d([y=sin(x), z=-sin(x)], x=0..Pi/2, y=0..1, z=-1..0, color=black, scaling=constrained, axes=boxed, orientation=[-60,60], numpoints=1500, style=hidden, grid=[20,20,20]);

Рис.3. Экстремаль как пересечение двух синусоидальных цилиндров

Рис.4. Изображение экстремали в параметрической форме
На рисунке чётко видна линия пересечения поверхностей, которая и будет являться экстремалью данного функционала.
Построим эту же линию без цилиндров, в параметрической форме:
> spacecurve([t,sin(t),-sin(t)], t=0…Pi/2, axes=boxed, orientation=[-60,60], color=black, thickness=2);
Теперь экстремаль изображена не хуже, но менее наглядно (рис.4).

Пример 2. Найти экстремали функционала .
Здесь F — произвольная функция, зависящая только от производных функциональных аргументов.


Составим систему уравнений Эйлера:

Рис. Экстремаль как пересечение
двух плоскостейЭто система линейных однородных алгебраических уравнений относительно и . Решим её методом Крамера. Главный определитель

Если 0, то имеем только тривиальное решение

Интегрируя, получим — два семейства плоскостей в пространстве, являющихся частными случаями цилиндров. Экстремалью будет прямая, являющаяся пересечением двух плоскостей с коэффициентами, найденными из граничных условий. (рис.5).
Пусть заданы граничные условия: . Соответствующие плоскости имеют уравнения:

Изобразим эти плоскости в пакете Maple (рис.6):
> implicitplot3d([y=x+1, z=-1/2*x], x=0..2, y=1..3, z=-1..0, color= black, scaling=constrained, axes=boxed, style=hidden, grid=[25,25,25], orientation=[-165,70]);
Линия пересечения плоскостей, являющаяся экстремалью, видна очень хорошо. Построим её в параметрической форме:

> spacecurve([t,t+1,-0.5*t)], t=0…2, axes=boxed, orientation=[-165,70], color=black, thickness=2);

Рис. Экстремальная прямая, задаваемая пересечением плоскостей
Рис. Экстремальная прямая в параметрической форме
Maple заполнения. Решение математических задач в Maple
04. 01 Преобразование уравнений. Команды lhs и rhs
* Entering and Manipulating Equations: The lhs and rhs commands *
Напомним, что уравнению, точно так же как и выражению, можно присвоить имя. В следующей командной строке мы введём уравнение и присвоим ему имя » eq1 » :
Мы можем вывести на экран левую и правую части уравнения по-отдельности при помощи команд lhs и rhs :
Воспользуемся командами lhs и rhs для того, чтобы привести уравнение к стандартному виду, в котором все члены собраны слева, а справа остался только 0:
> eq2:=lhs(eq1)-rhs(eq1)=0;
04. 02 Нахождение точных корней. Команда solve
* Finding Exact Solutions: The solve command *
Рассмотрим вначале рациональные уравнения. Известно, что существуют алгоритмы определения точных корней рациональных корней вплоть до 4-го порядка включительно. В Maple-команду solve и заложены эти алгоритмы.
Воспользуемся командой solve для нахождения точных корней кубического уравнения :
Обратите внимание: в команде мы указываем, относительно какой переменной следует решать уравнение. Хотя в нашем конкретном случае это и не обязательно:
Maple нашел все 3 действительных корня и вывел их (в неупорядоченном виде ).
Иногда очень важно выбрать конкретный корень, чтобы потом использовать в дальнейших преобразованиях именно его. Для этого заранее следует присвоить имя результату исполнения команды solve . Назовём его X . Тогда конструкция X будет соответствовать первому корню из списка (подчеркнем: это не обязательно меньший корень! ), X — второму корню, и т.д. (Скобки — квадратные! ):
Посмотрите, однако, что будет выведено в результате выполнения похожей команды:
Ещё раз подчеркнём: практика показывает, что уравнению целесообразно присвоить имя. Традиционно в Maple такое имя начинается с букв eq :
(Не путать оператор присваивания » := » со знаком равенства » = » !)
Теперь решим уравнение при помощи команды solve . Множеству корней присвоим имя X :
Для убедительности проверим, нет ли среди найденных корней посторонних. Проверку выполним непосредственной подстановкой
Разумеется, частенько «точные» решения довольно громоздки, если не сказать иначе. Например, это касается уравнения :
Теперь Вам понятно, о чем речь? Для себя заметьте, что мнимая единица в Maple обозначается посредством прописной буквы I . Разумеется, в таких случаях не грех найти приближенные значения корней. Имея на руках точное решение, Вы и сами сообразите, как это сделать:
В подобных ситуациях хорошей альтернативой команде solve является fsolve , особенности которой будут рассмотрены в следующем параграфе.
Команда solve используется при отыскании точных решений не только рациональных уравнений. Ниже приведено несколько тому иллюстраций. Но для многих типов иррациональных, показательных, логарифмических, тригонометрических и даже рациональных уравнений точное решение искать бесполезно. На помощь призывается команда fsolve .
Иногда (а в тригонометрии — всегда ) Maple, по умолчанию , не выводит всё множество корней:
Но безвыходных ситуаций не бывает! Взяв за основу полученный результат, воспользуйтесь своими знаниями тригонометрических уравнений и запишите полное решение (как? ).
Упражнение 4.1
Решить уравнение Разберитесь, сколько различных корней имеет уравнение. Как Maple поступает при наличии равных корней?
Совет : разложите на множители левую часть уравнения.
> factor(x^3-11*x^2+7*x+147);
Корень х = 7 является двукратным, а потому у кубического уравнения только два различных корня. Разложение на множители левой части уравнения — тому подтверждение.
04. 03 Поиск приближенных корней. Команда fsolve
* Finding Approximate Solutions: The fsolve command *
Для приближенного решения уравнений используется Maple-команда fsolve . В случае рационального уравнения, fsolve выводит весь список действительных корней (см. Пример 01). Для трансцендентных уравнений эта команда, по умолчанию, выводит только один корень (см. Примеры 02 и 03).
При помощи fsolve найдём приближенные значения сразу всех четырёх действительных корней рационального уравнения :
Эти четыре корня и составляют исчерпывающее решение исходного рационального уравнения (хотя и приближенное ).
Используя команду fsolve , найти хотя бы один действительный корень уравнения :
Maple и вывел только один корень. На этот раз Maple не стал «живописать». Как теперь убедиться в том, что других действительных корней нет? Следующий пример даёт такой инструментарий.
Получить все действительные корни уравнения и убедиться в этом.
Шаг первый ( Основная идея ) : найдём графическое решение уравнения. Для этого построим график функции, стоящей в левой части уравнения. Абсциссы точек пересечения этого графика с осью Ох и будут искомыми корнями.
Т.к. мы умело подобрали диапазоны изменений абсцисс и ординат точек графика, то легко обнаружим 4 точки пересечения линии с осью Ох. Одна из них соответствует корню, найденному в Примере 02 (какая именно? ).
Второй корень очевиден: х = 0. А как поточнее найти остальные?
Шаг второй ( Уточнение ) : применим команду fsolve более «зряче». В Maple предусмотрена возможность указания промежутка, на котором отыскиваются корни. В частности, для определения отрицательного корня нашего уравнения, укажем, что поиски следует вести в «районе» [-1;-0.2]. Об этом красноречиво свидетельствует графическое решение.
Оставшиеся корни явно принадлежат промежуткам и . Расскажем об этом команде fsolve :
Ну а что произойдёт, если мы подсунем Maple «пустой участок»? Например, отрезок для нашего уравнения. Там графического решения явно нет:
Maple выдаёт название команды, само уравнение, имя аргумента и отрезок. Т.е. ничего нового. Мол: «Ищите корни сами, а я не нашел».
Шаг третий ( Дополнительный анализ ) : Как теперь удостовериться в том, что найдены все корни , а не только в видимой области графического решения? Для этого следует расширить интервал поисков:
Новых точек пересечения нет. В конце концов мы понимаем, что экспоненциальное слагаемое на границах промежутка вносит самый существенный вклад в величину функции из левой части уравнения. Значения функции в этой области стремятся к , а потому дополнительных корней нам не найти.
Попробуем в других местах: справа и слева от области найденных корней.
И здесь ни одного дополнительного корня! Поняв, что с влиянием показательной части уравнения всё ясно, делаем окончательные выводы.
Исчерпывающее решение уравнения состоит из четырёх корней: -.8251554597 , 0 , 1.545007279 , 4.567036837 .
Применим команду fsolve для приближенного решения трансцендентного уравнения .
Как и в предыдущем случае, найдём вначале качественное графическое решение. Для этого ещё нужно угадать, как разбросать по обеим частям уравнения его члены. Но графические возможности Maple настолько великолепны, что почти всегда можно собирать все члены уравнения с одной стороны.
Рассмотрим уравнение, равносильное данному: . Абсциссы точек пересечения графика функции, стоящей в левой части уравнения, с осью Ох и будут искомыми корнями.
График указывает область поисков корней: промежуток . Настаёт черёд команды fsolve :
Корень найден. Но, очевидно, он — не единственный. Расширьте область поисков и ещё раз примените команду fsolve для отыскания второго корня.
Упражнение 4.2
Найти все действительные корни уравнения , начав с графического решения.
Построим график левой части уравнения:
В результате находим корни уравнения в первом приближении: -2 ; -1.5 ; 0 . Применим теперь команду fsolve без указания диапазона поиска (оценим возможности Maple ):
С удовлетворением отмечаем, что Maple выводит все три корня (Не будем забывать, что решали рациональное уравнение.)
Упражнение 4.3
Найти все корни уравнения . Воспользуйтесь графическим решением. Проверьте каждый корень непосредственной подстановкой.
Приведём уравнение к стандартному (для этого раздела) виду:
Теперь построим график левой части уравнения:
По всей видимости, существует два корня. Один примерно равен -2, а другой, похоже, 2.
Применим команду fsolve , ограничив диапазон поиска:
Непосредственной подстановкой проверим корни:
Обратите внимание: в обоих случаях истинного равенства нет. С учётом ошибок при округлении, разумное расхождение вполне допустимо.
Убедитесь в отсутствии других корней. Ответ обоснуйте.
Упражнение 4.4
Графики функций и дважды пересекаются на отрезке [-5;5].
а). Постройте в одной системе координат графики обеих функций и при помощи мыши найдите координаты точек пересечения.
b). Составьте уравнение, корнями которого являются абсциссы точек пересечения графиков.
c). Используйте команду fsolve для решения этого уравнения.
d). Используйте результаты из пункта с) для оценки ординат точек пересечения графиков.
e). У Вас не создалось впечатление, что линии могут пересекаться и в третьей точке с координатами (1;9)? Используйте fsolve и графические возможности Maple, чтобы убедиться в противном.
Теперь построим графики функций:
Приближенные координаты точек пересечения: (-1.8, 6.6) и (2.75, 2) .
b) Составим уравнение:
с) Команда fsolve поможет найти соответствующие корни:
d) Используем команду subs для определения соответствующих ординат точек пересечения:
Общие точки графиков: (-1.800,6.763) и (2.773,2.311) .
e) Графически исследуем окрестность точки х = 1:
Команда fsolve на этот раз позволит доказать отсутствие корней вблизи точки х = 1:
04. 04 Решение уравнений в общем виде
* Solving Literal Equations *
Во многих случаях Maple находит решение уравнения в общем (символьном) виде. Речь идёт об уравнении (а не системы!), содержащем несколько переменных. Решение состоит в том, что какая-то из переменных выражается через остальные.
Пусть необходимо решить уравнение относительно переменной g . По привычке, используем команду solve . И она оправдывает наши надежды:
А так решение можно оформить в привычном виде:
Упражнение 4.4
Решить последнее уравнение относительно других переменных: T, k и v.
Упражнение 4.5
Решить уравнение относительно у. Присвоить последовательности корней имя S. Как связаны корни S и S ?
Корни отличаются только знаком.
— программный пакет который может быть использован для самых различных целей. Его можно использовать в качестве продвинутого калькулятора, который может не только выполнять арифметические действия, но и брать производные, интегралы, перемножать матрицы и строить графики функций. В тоже время, в эту систему входит современный язык программирования который является процедурным (параллельным), объектно-ориентированнным и прикладным в одном флаконе. Кроме того, он может быть интегрирован с MatLab , а также позволяет вызывать внешнии процедуры-компилляции программ на C и Fortran . В общем то он позволяет даже создать собственный язык программирования при наличии желания. Эта среда позволяет создавать прототипы для различных технических, научных разработок с целью последующего написания кода на других языках.
Такое многообразие способностей этой среды может несколько затруднить его изучение с цель последующего использования. Как правило, начинающий пользователь изучает его методом тыка с использованием отличного встроенного Help . К сожалению достойных упоминания руководств на русском языке я не встречал. Следует отметить три руководства на английском языке, которые стоит прочесть в обязательном порядке:
Все три можно найти в открытом доступе. Я в этой рубрике буду делиться своим опытом работы в Maple и приводить примеры работы и настройки.
Начать естественно следует с установки. Система эта не из дешевых, но для ознакомления можно найти ее на различных торрентах, например на https://rutracker.org/. Как для Linux , так и для Windows .
Установив, запускаем и видим слева колонку с Pallettes|Workbook , справа разделенное на две части окно с большим количеством иконок:
Для начала можно ознакомится с различными готовыми примерами различных областей математики, программирования, естественных наук — перейдя по иконкам в правой части окна и запуская соответствующие документы Maple . Эти документы можно редактировать и сохранять. Самостоятельную работу мы начинаем кликнув в правой части окна на New Document или New Worksheet . Разница между этими двумя типами невелика приведена в таблице. Мы далее будем использовать Worksheet . Исполняемые строки здесь начинаются значком [> . Команды Maple будем отображать жирным шрифтом. После значка [> можно вводить команды, которые заканчиваются или точкой с запятой или двоеточием. Например на арифметическую операцию:
После команды жмем Enter или мышкой знак! сверху в меню. Заметьте разницу между такой командой и двумя похожими: sin(3)+1; и sin(3)+1: Результат последней не отобразится на экране — т.к. команда завершена знаком:.
Такой знак используется, когда вам не нужен результат, и/или он слишком громоздкий. Например, присвоив переменной a значение: a:=Pi: Мы не нуждаемся в подтверждении того, что a равно 3.1415…. Мы можем далее это a использовать например так:
результат отобразится как $b:=2\pi$. Заметьте, что присваиваем мы с помощью := . Обычный знак равенства используется с несколько иной целью. Maple знает, что Pi означает число $\pi$. Чтобы получить его численное значение нужно использовать специальную функцию таким например образом:
b:=evalf(2*a);
В результате мы получим значение числа пи с точностью которая в настоящий момент используется в Maple . И здесь внимание! Maple может использовать много-много значные числа. По умолчанию 10 знаков. Это число можно легко поменять. Я обычно в документе пишу в самом начале так:
restart: Digits:=16:
Таким образом, в документе будут использоваться вычисления с 16 цифрами. Это число можно менять максимальное значение для вашей ОС можно получить командой
kernelopts(maxdigits);
У меня максимальное значение Digits=38654705646. Заметьте, что я также использовал в начале команду restart: Эта команда очень удобна, если вы исправляете документ во время одной сессии, в этом случае вам не надо перезапускать Maple закрывая и открывая его. Вы просто после иправлений нажимете кнопку . в верхней панели Maple и все пересчитывается с полным обновлением всех переменных.
Основные объекты (определение, ввод, действия с ними)
Maple V работает с числами следующего типа:
целыми десятичными (О, 1, 123, -456 и т.д.),
рациональными в виде отношения целых чисел (7/9, -123/127 и т.д.),
вещественными с мантиссой и порядком (1.23E5, 123.456E-10)
Целые числа задаются в виде последовательности цифр от 0 до 9.
Получить список всех команд для работы с целыми числами можно, набрав команду: ?integer . Приведем некоторые из этих команд:
Обыкновенные дроби задаются с помощью операции деления лвух целых чисел.

Заметим, что Maple автоматически произвадит сокращение дробей. Над обыкновенными дробями можно выполнять все основные арифметические операции. Если при задании дроби ее знаменатель сокращается, то такая «дробь» трактуется программой Maple как целое число. Для преобразования обыкновенной дроби в десятичную служит команда evalf() . Второй параметр этой команды задает число значащих цифр. Заметим, что десятичное представление всего лишь аппроксимация точной величины, представленной обыкновенной дробью, т.е. дробь и ее десятичное представление не являются идентичными объектами Maple.
Радикалы задаются как результат возведения в дробную степень целых или дробных чисел, или вычисления из них же квадратного корня функцией sqrt() , или корня n -ой степени функцией surd(число, n) .
Числа с плавающей точкой задаются в виде целой и дробной частей, разделенных десятичной точкой. Их можно представтить также, используя так называемую экспоненциальную форму записи (для указания порядка применяется символ e или E ).
Maple содержит целый ряд предопределенных именованных констант — таких, к значениям котрых можно обращаться по имени. Часть этих констант не может быть изменена. К ним относятся:
Число е задается как exp(1) .
Посмотреть все константы, определенные в Maple, можно, исполнив команду: ?ininame
Кроме перечисленных на странице Cправки констант все прерменные, имена которых начинаются с _Env , по умолчанию являются системными константами Maple.
Строки — любой набор символов, заключенный в ДВОЙНЫЕ кавычки. Длина строки в Maple практически не ограничена и может достигать на 32-битных компьютерах длины 268 435 439 символов.
Переменные, неизвестные и выражения
Каждая переменная Maple имеет имя, представляющее последовательность латинских символов, начинающихся с буквы, причем строчные и прописные буквы считаются различными. Кроме букв в именах переменных могут использоватьсчя цифры и знак подчеркивания, но ПЕРВЫМ символом имени должна быть БУКВА.
Выражение представляет собой комбинацию имен переменных, чисел и, возможно, других объектов Maple, соединенных знаками допустимых операций.
неизвестная величина , а выражение, содержащее неизвестные, называется символьным выражением. Именно для работы с такими выражениями прежде всего и разрабатывался Maple.
Важной операцией в Maple, связанной с выражениями, является операция присваивания (:=) . Она имеет следующий синтаксис: переменная:= выражение; Здесь в левой части задается имя переменной, а в правой — любое выражение, которое может быть числовым, символьным или просто другой переменной.
Переменные позволяют хранить и обрабатывать разнообразные типы данных. При этом по умолчанию переменная Maple имеет тип symbol, предсталяющий символьную переменную, и ее значением является ее собственное имя. При присвоении перемнной какого-нибудь значения, ее тип изменяется на тип присвоенного ей значения.
Внутренняя структура объектов Maple
Каждое алгебраическое выражение хранися системой Maple в виде древовидной структуры, обеспечивая тем самым доступ к любому ее члену или подвыражению, а также позволяя выполнять над ними разнообразные символьные преобразования. В представлении этой структуры каждый объект Maple делится на подобъекты первого уровня, которые, в свою очередь, такде делятся на подобъекты и т.д.
Команды, позволяющие выделять части объектов:
Выделение правой части уравнения (или конца диапазона)
Выделение левой части уравнения (или начала диапазона)
Выделение числителя числовой или алгебраической дроби
Выделение знаменателя числовой или алгебраической дроби
Определяет количество операндов в выражении
op(выр) op(n,выр)
Выдает операнды выражения в виде списка, Извлекает n-ый операнд выражения
select(б ф, выр)
remove(б ф, выр)
Выделяет в выражении операнды, для которых булева функция дает значение false
indets(выр, тип)
Выделяет в выражении подвыражения заданного типа(«*», «+» . )
Познакомимся с этими командами более подробно.
Уравнение представляется в виде двух выражений, соединенных знаком равенства. Его не следует путать с операцией присваивания (:=). Уравнение является объектом Maple и служит для задания действительных уравнений. Его можно использовать в правой части операции присваивания, именуя тем самым уравнение.
В функции has() можно задать несколько подвыражений в виде списка. Ее результатом будет ИСТИНА тогда и только тогда, когда найдено хотя бы одно из подвыражений в списке.
Подстановка и преобразование типов
При выполнении математических преобразований часто необходимо произвести замену переменных в выражении, функции, уравнении и т.д., то есть вместо какой-то переменной подставить ее представление через некоторые другие переменные. А иногда необходимо выполнить преобразование выражения одного типа в другой. (Такое преобразование типов может потребоваться для выполнения некоторых команд, не работающих с исходным тиом выражения). Для этих целей в Maple существуетy несколько команд:
subs(подстановка, ВЫРАЖЕНИЕ)
Синтаксическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ
algsubs(подстановка, ВЫРАЖЕНИЕ)
Алгебраическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ
subsop(N=новое значение, ВЫРАЖЕНИЕ)
Подстановка нового значения вместо N-го операнда ВЫРАЖЕНИЯ
convert(ВЫРАЖЕНИЕ, тип)
Преобразует ВЫРАЖЕНИЕ в новый тип данных
whattype(ВЫРАЖЕНИЕ)
Определяет тип выражения.
Для подстановки вместо некоторой переменной (выражения) другого выражения служит команда subs() , синтаксис которой имеет следующий вид: subs(старое выражение=новое выражение, ВЫРАЖЕНИЕ) subs(s1, s2, .. sn, ВЫРАЖЕНИЕ) subs(, ВЫРАЖЕНИЕ) где каждое из s1. sn является уравнением, определяющим подстановку.
Первая форма команды анализирует ВЫРАЖЕНИЕ , определяет в нем все вхождения старое выражение и подставляет вместо них новое выражение .
Вторая форма команды позволяет выполнить серию подстановок в ВЫРАЖЕНИЕ , причем подстановки выполняются последовательно, начиная с s1 . Это означает, что после выполнения первой подстановки, определенной s1 , Maple отыскивает вхождения левой части уравнения s2 во вновь полученном выражении и заменяет каждое такое вхождение на выражение, заданное в правой части уравнения s2 .
То есть вхождения выражений, заданных в левых частях уравнений s1, s2 , определяются в исходном параметре ВЫРАЖЕНИЕ . (см. примеры)
Воспользоваться командой simplify() , указав в качестве параметра требуемую замену (см. след раздел).
Воспользоваться командой algsubs() , которая осуществляет алгебраическую подстановку.
Отметим, что полное исключение «старой» переменной произведено только при использовании первого из указанных способов. В остальных случаях «старая» переменная все-таки остается в преобразованном выражении.
Кафедра: Информационные Технологии
Лабораторная Работа
На тему: «СИНТАКСИС, ОСНОВНЫЕ ОБЪЕКТЫ И КОМАНДЫ СИСТЕМЫ MAPLE «
Москва, 2008 год
· знать основные объекты и переменные системы Maple;
· знать и уметь применять команды, используемые при работе с объектами и переменными системы Maple;
· знать синтаксис основных математических функций системы Maple.
Система аналитических вычислений Maple – интерактивная система. В данном случае это означает, что пользователь вводит команду или оператор языка Maple в области ввода рабочего листа и, нажав клавишу , сразу же передает ее аналитическому анализатору системы, который выполняет ее. При правильном введении команды в области вывода появляется результат выполнения этой команды, если команда содержит синтаксические ошибки или ошибки выполнения, система печатает сообщение об этом. Если ошибку надо исправить, то следует вернуться к оператору, откорректировать его и снова выполнить. Выполнив введенную команду, система ожидает очередной команды от пользователя. Можно вернуться в любой момент к любой команде или оператору на рабочем листе, подкорректировать его и снова выполнить. Однако, если на рабочем листе есть команда, использующая результат вновь вычисленной, то ее следует также снова вычислить, установив на нее курсор, и, нажав клавишу , а если таких команд много, то можно выполнить команду графического интерфейсаEdit ® Execute ® Worksheet для повторного вычисления всех команд рабочего листа.
Каждый оператор или команда обязательно завершаются разделительным знаком. Таких знаков в системе Maple два – точка с запятой (;) и двоеточие (:). Если предложение завершается точкой с запятой, то оно вычисляется, а в области вывода отображается результат. При использовании двоеточия в качестве разделителя команда выполняется, но результаты ее работы не отображаются в области вывода рабочего листа. Это удобно, например, при программировании в Maple, когда нет необходимости в выводе каких-то промежуточных результатов, получаемых из операторов цикла, так как вывод этих результатов может занять много места на рабочем листе, да и может потребоваться значительное количество времени на их отображение.
Здесь и далее для команд Maple используется запись в форме синтаксиса языка Maple. Если при выполнении примеров возникает желание отображать команды в математической нотации, то следует командой Options ® Input Display ® Standard Math Notation установить соответствующий режим отображения.
В Maple реализован свой язык, с помощью которого происходит общение пользователя с системой. Базовыми понятиями являются объекты и переменные, из которых с помощью допустимых математических операций составляются выражения.
Простейшими объектами , с которыми может работать Maple , являются числа, константы и строки.
Числа в системе Maple могут быть следующих типов: целые, обыкновенные дроби, радикалы, числа с плавающей точкой и комплексные. Первые три типа чисел позволяют выполнять точные вычисления (без округлений) разнообразных математических выражений, реализуя точную арифметику. Числа с плавающей точкой являются приближенными, в которых число значащих цифр ограничено. Эти числа служат для приближения (или аппроксимации) точных чисел Maple. Комплексные числа могут быть как точными, если действительная и мнимая части представлены точными числами, так и приближенными, если при задании действительной и мнимой частей комплексного числа используются числа с плавающей точкой.
Целые числа задаются в виде последовательности цифр от 0 до 9. Отрицательные числа задаются со знаком минус (–) перед числом, нули перед первой ненулевой цифрой являются не значащими и не влияют на величину целого числа. Система Maple может работать с целыми числами произвольной величины, количество цифр практически ограничено числом 2 28 . Вычисления с целыми числами реализуют четыре арифметических действия (сложение +, вычитание –, умножение *, деление /) и вычисление факториала (!).
Maple представляет большое целое число, которое не помещается в строке области вывода используя символ обратного слэша (\) в качестве символа продолжения вывода на следующей строке. Последняя команда вычисляет количество цифр в результате предыдущего вычисления. В ней в качестве параметра используется операция%, которая является всего лишь удобной формой ссылки на результат выполнения предыдущей операции. В Maple имеются еще две подобные операции, которые идентифицируют результаты предпредыдущей и предпредпредыдущей команд.Их синтаксис выглядит, соответственно, следующим образом:
В Maple имеется достаточно большой набор команд, позволяющих выполнить действия, специфичные при обработке целых чисел: разложение на простые множители (ifactor), вычисление частного (iquo) и остатка (irem) при выполнении операции целого деления, нахождения наибольшего общего делителя двух целых чисел (igcd), выполнение проверки, является ли целое число простым (isprime) и многое другое.
Для проверки вычисления частного и остатка двух целых чисел использованы операции получения результата выполнения предыдущей (вычисление частного) и предпредыдущей (вычисление остатка) команд. Результатом команды isprime () является булева константа true (истина) или false (ложь).
Набрав в области ввода рабочего листа команду? integer, можно получить список всех команд для работы с целыми числами
Обыкновенные дроби задаются с помощью операции деления двух целых чисел. Заметим, что Maple автоматически производит операцию сокращения дробей. Над обыкновенными дробями можно выполнять все основные арифметические операции.
Если при задании дроби ее знаменатель сокращается (см. последнее вычисление в примере), то такая «дробь» трактуется системой Maple как целое число.
Часто представление результата в виде обыкновенной дроби не совсем удобно, и возникает задача преобразования ее в десятичную дробь. Для этого используется команда evalf(), которая аппроксимирует обыкновенную дробь числами с плавающей точкой, используя десять значащих цифр в мантиссе их представления. Если точность по умолчанию не достаточна, то ее можно задать вторым параметром указанной функции.
Дробь и ее десятичное представление не являются идентичными объектами Maple. Десятичное представление всего лишь аппроксимация точной величины, представленной обыкновенной дробью.
Радикалы задаются как результат возведения в дробную степень целых или дробных чисел, или вычисления из них же квадратного корня функцией sqrt(), или вычисления корня n ‑ой степени с помощью функции surd (число, n). Операция возведения в степень задается символом ^ или последовательностью из двух звездочек (**). При возведении в степень дробей их следует заключать в круглые скобки, как, впрочем, и дробный показатель степени. При задании радикалов также производятся возможные упрощения, связанные с вынесением из-под знака радикала максимально возможной величины.
Вычисления с целыми, дробями и радикалами являются абсолютно точными, поскольку при работе с этими типами данных программа Maple не производит никаких округлений в отличие от чисел с плавающей точкой.
Числа с плавающей точкой задаются в виде целой и дробной частей, разделенных десятичной точкой, с предшествующим знаком числа, например, 3.4567, -3.415. Числа с плавающей точкой можно задавать, используя так называемую экспоненциальную форму записи, в которой сразу же после вещественного числа с плавающей точкой или обычного целого, называемого мантиссой, ставится символ е или е, после которого задается целое число со знаком (показатель степени). Такая форма записи означает, что мантиссу следует умножить на десять в степени числа, соответствующего показателю степени, чтобы получить значение числа, записанного в такой экспоненциальной форме. Например, 2.345е4 соответствует числу 23450.0. Таким образом, можно представлять очень большие по абсолютному значению числа (показатель степени положительное число) или очень маленькие (показатель степени отрицательное число).
Из чисел составляются математические выражения с помощью арифметических операций. Символы арифметических операций в Maple перечислены в табл. 1.
Таблица 1. Арифметические операции
Последовательность выполнения арифметических операций соответствует стандартным правилам старшинства операций в математике: сначала производится возведение в степень, затем умножение и деление, а в конце – сложение и вычитание. Все действия выполняются слева направо. Операция вычисления факториала имеет наибольший приоритет. Для изменения последовательности арифметических операций следует использовать круглые скобки.
Если все числа в выражении являются целыми, дробями или радикалами, то результат представляется также с использованием этих типов данных, но если в выражении присутствует число с плавающей точкой, то результатом вычисления такого «смешанного» выражения будет также число с плавающей точкой, если только в выражении не присутствует радикал. В этом случае радикал вычисляется точно, а коэффициент при нем вычисляется либо точно, либо в виде числа с плавающей точкой в зависимости от типа сомножителей.
Система аналитических вычислений Maple всегда пытается произвести вычисления с абсолютной точностью. Если это не получается, тогда подключается арифметика с вещественными числами.
Maple умеет работать и с комплексными числами . Для мнимой единицы
в Maple используется константа I . Задание комплексного числа не отличается от его обычного задания в математике.
Похожие публикации:
- Как задать матрицу в mathcad
- Как записать ctg в mathcad
- Как запустить windows movie maker в windows 7
- Как зарегистрироваться в wechat в казахстане
Как я могу решить уравнения в Python?
Скажем, у меня есть уравнение: 2x + 6 = 12 С алгеброй видно, что x = 3 . Как я могу сделать программу на Python, которая может решить для x ? Я новичок в программировании, и я смотрел на eval() и exec() , но я не могу понять, как заставить их делать то, что я хочу. Я не хочу использовать внешние библиотеки (например, SAGE), я хочу сделать это в простом Python.
user1221937 08 май 2012, в 16:09
Поделиться
Я хочу автомобиль, который делает 0 до 60 за 4,5 секунды и получает 45 миль на галлон. Может быть, вы могли бы рассмотреть возможность удаления требования для простого Python и использовать внешние библиотеки
Mike Pennington 08 май 2012, в 13:51
Если вы хотите решить какое-либо уравнение, вам придется создать свою собственную библиотеку. Также 4,5 секунды недостаточно для этого примера: D
jamylak 08 май 2012, в 13:52
Будут ли проблемы всегда выглядеть так: solve y = mx + c for x ?
Li-aung Yip 08 май 2012, в 13:53
@MikePennington: если он хочет разрешить только очень ограниченный набор уравнений, это вполне выполнимо. В абстрактном случае, конечно, вам придется создать свой собственный символический математический движок в духе maxima или Mathematica , но я не думаю, что это цель.
Li-aung Yip 08 май 2012, в 13:54
Можно не использовать внешние библиотеки, но вам придется выяснить процесс получения ответа (не должно быть слишком сложно со стандартной алгеброй), а затем кодировать его.
Lostsoul 08 май 2012, в 13:55
@Li-aungYip Li-aungYip, если он хочет решить только ограниченный набор уравнений, он должен указать это в вопросе
Mike Pennington 08 май 2012, в 13:56
это домашнее задание? или почему вы не хотите использовать внешние библиотеки?
Niek de Klein 08 май 2012, в 14:02
Показать ещё 5 комментариев
Поделиться:
calculator
5 ответов
Как насчет SymPy? Их solver выглядит так, как вам нужно. Посмотрите их исходный код, если вы хотите сами построить библиотеку.
eumiro 08 май 2012, в 15:16
Поделиться
Забавно видеть ответ, подобный этому, через несколько минут после всех глупых комментариев по этому вопросу: D
naught101 30 янв. 2015, в 02:30
Существует два способа подхода к этой проблеме: численно и символически.
Чтобы решить его численно, вы должны сначала закодировать его как функцию «runnable» — вставьте значение в значение, получите значение. Например,
def my_function(x): return 2*x + 6
Весьма возможно проанализировать строку для автоматического создания такой функции; скажем, разберите 2x + 6 в список, [6, 2] (где индекс списка соответствует мощности x — так 6 * x ^ 0 + 2 * x ^ 1). Тогда:
def makePoly(arr): def fn(x): return sum(c*x**p for p,c in enumerate(arr)) return fn my_func = makePoly([6, 2]) my_func(3) # returns 12
Затем вам понадобится другая функция, которая повторно подключает значение x в вашу функцию, анализирует разницу между результатом и тем, что она хочет найти, и изменяет ее значение x (надеюсь) минимизирует разницу.
def dx(fn, x, delta=0.001): return (fn(x+delta) - fn(x))/delta def solve(fn, value, x=0.5, maxtries=1000, maxerr=0.00001): for tries in xrange(maxtries): err = fn(x) - value if abs(err) < maxerr: return x slope = dx(fn, x) x -= err/slope raise ValueError('no solution found')
Здесь есть много потенциальных проблем - найти хорошее начальное значение x, считая, что функция фактически имеет решение (т.е. нет никаких однозначных ответов на x ^ 2 + 2 = 0), попав в пределы точность вычислений и т.д. Но в этом случае функция минимизации ошибок подходит и получается хороший результат:
solve(my_func, 16) # returns (x =) 5.000000000000496
Обратите внимание, что это решение не совсем, точно верно. Если вам нужно, чтобы это было идеально, или если вы хотите аналитически анализировать решения уравнений, вам нужно обратиться к более сложному зверю: символическому решателю.
Символьный решатель, такой как Mathematica или Maple, представляет собой экспертную систему с множеством встроенных правил ( "знаний" ) об алгебре, исчислении и т.д.; он "знает", что производная от sin is cos, что производная от kx ^ p равна kpx ^ (p-1) и т.д. Когда вы даете ему уравнение, он пытается найти путь, набор правил-приложений, откуда он (уравнение), туда, где вы хотите быть (простейшая форма уравнения, которое, мы надеемся, является решением).
Ваше примерное уравнение довольно простое; символическое решение может выглядеть так:
=> LHS([6, 2]) RHS([16]) # rule: pull all coefficients into LHS LHS, RHS = [lh-rh for lh,rh in izip_longest(LHS, RHS, 0)], [0] => LHS([-10,2]) RHS([0]) # rule: solve first-degree poly if RHS==[0] and len(LHS)==2: LHS, RHS = [0,1], [-LHS[0]/LHS[1]] => LHS([0,1]) RHS([5])
и есть ваше решение: x = 5.
Я надеюсь, что это придает дух идеи; детали реализации (поиск хорошего, полного набора правил и принятие решения о применении каждого правила) могут легко потреблять много человеко-лет усилий.
