Как записать систему уравнений в maple

GeekBrains

maple

3. Найти модуль и аргумент комплексного числа z = − 1 − i 3 и вычислить z 4 . Наберите:

Чему равен модуль и аргумент этого числа?

− 8 − 8 3 I

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

Решение обыкновенных уравнений.

Для решения уравнений в Maple существует универсальная команда solve(eq,x) , где eq – уравнение, x – переменная, относительно которой уравнение надо разрешить. В результате выполнения этой команды в строке вывода появится выражение, которое является решением данного уравнения. Например:

Если уравнение имеет несколько решений, которые вам понадобятся для дальнейших расчетов, то команде solve следует присвоить какое-нибудь имя name . Обращение к какому-либо k –ому решению данного уравнения производится указанием его имени с номером решения k в квадратных скобках: name[k] . Например:

x : = − a , a

a

a

Методы решения математических задач в Maple

Решение систем уравнений.

Системы уравнений решаются с помощью такой же команды solve(,) , только теперь в параметрах команды следует указывать в первых фигурных скобках через запятую уравнения, а во вторых фигурных скобках перечисляются через запятую переменные, относительно которых требуется решить систему. Если вам будет необходимо для дальнейших вычислений использовать полученные решения уравнений, то команде solve следует присвоить какое-нибудь имя name . Затем выполняется присвоения команда assign(name) . После этого над решениями можно будет производить математические операции. Например:

Численное решение уравнений.

Для численного решения уравнений, в тех случаях, когда трансцендентные уравнения не имеют аналитических решений, используется специальная команда fsolve(eq,x) , параметры которой такие же, как и команды solve . Например:

> x:=fsolve(cos(x)=x,x); x : = .7390851332

Решение рекуррентных и функциональных уравнений.

Команда rsolve(eq,f) позволяет решить рекуррентное уравнение eq для целой функции f . Можно задать некоторое начальное условие для функции f(n) , тогда получиться частное решение данного рекуррентного уравнения. Например:

eq : = 2 f ( n ) = 3 f ( n − 1) − f ( n − 2)

Универсальная команда solve позволяет решать функциональные уравнения, например:

Методы решения математических задач в Maple

F := proc ( x ) RootOf(_ Z ^2 — 3*_ Z + 2* x ) end

В результате получается решение в неявном виде. Однако Maple может работать с такими решениями. Неявное решение функционального уравнения можно попытаться преобразовать в какую-либо элементарную функцию с помощью команды convert . Продолжая приведенный выше пример, можно получить решение в явном виде:

Решение тригонометрических уравнений.

Команда solve , примененная для решения тригонометрического уравнения, выдает только главные решения, то есть решения в интервале [0,2 π ]. Для того, чтобы получить все решения, следует предварительно ввести дополнительную команду

В Maple символ _ Z

обозначает константу целого типа, поэтому решение данного уравнения в привычной форме имеет вид x : = π / 4 + π n , где n – целые числа.

Решение трансцендентных уравнений.

При решении трансцендентных уравнений для получения решения в явном виде перед командой solve следует ввести дополнительную команду _EnvExplicit:=true . Пример решения сложной системы трансцендентных уравнений и упрощения вида решений:

Методы решения математических задач в Maple

1. Найти все решения системы уравнений x 2 − y 2 = 1,

Теперь найдите сумму двух наборов решений. Наберите:

Чему равны эти суммы решений?

2. Численно решите уравнение x 2 = cos( x ) . Наберите:

3. Найдите функцию f ( x ), удовлетворяющую уравнению f 2 ( x ) − 2 f ( x ) = x . Наберите:

F := proc ( x ) RootOf(_ Z ^2 − 2*_ Z − x ) end

f : = 1 + 1 + x

4. Найдите все решения уравнения 5sin x + 12cos x = 13 . Наберите:

§4. Решение неравенств

Решение простых неравенств.

Команда solve применяется также для решения неравенств. Решение неравенства выдается в виде интервала изменения искомой переменной. В том случае, если решение неравенства полуось, то в поле вывода появляется конструкция вида RealRange(– ∞ , Open( a )),

Методы решения математических задач в Maple

которая означает, что x (– ∞ , a ), а – некоторое число. Слово Open означает, что интервал с открытой границей. Если этого слова нет, то соответствующая граница интервала включена во множество решений. Например:

Если вы хотите получить решение неравенства не в виде интервального множества типа x ( a , b ), а в виде ограничений для искомой переменной типа a < x , x < b , то переменную, относительно которой следует разрешить неравенство, следует указывать в фигурных скобках. Например:

Решение систем неравенств.

С помощью команды solve можно также решить систему неравенств. Например:

1. Решите неравенство 13 x 3 − 25 x 2 − x 4 − 129 x + 270 > 0 . Наберите:

RealRange(Open(-3), Open(2)), RealRange(Open(5), Open(9))

Запишите этот результат в аналитическом виде. Получите решение этого неравенства в виде ограничений для искомой переменной. Проделайте это самостоятельно.

2. Решите неравенство e (2 x + 3) < 1 . Наберите:

Теперь получите самостоятельно решение этого неравенства в виде ограничений для искомой переменной.

Методы решения математических задач в Maple

3. Выполните все контрольные задания. Перед их выполнением наберите в текстовом режиме «Контрольные задания». Результаты выполнения заданий покажите преподавателю. Сохраните файл со всеми выполненными заданиями на диск. Ответьте на все контрольные вопросы.

1. Дано комплексное число z = ( 2 e i π / 6 ) 5 . Найти его вещественную и мнимые части, алгебраическую форму, модуль и аргумент.

функционального оператора и вычислите ее значения при x =1, y =0

и при x = (1 + 3) / 2 , y = (1 −

3. Записать функцию f ( x , y ) =

с помощью оператора

присваивания и вычислите ее значение при x = a , y =1/ a , используя команду подстановки subs .

все точные решения системы x

sin 4 x − cos 4 x = 1/ 2 .

6. Найти численное решение уравнения e x = 2(1 − x ) 2 .

7. Решить неравенство 2ln 2 x − ln x < 1 .

1. Опишите способы задания функций в Maple .

2. Какие операции оценивания производятся в Maple с действительными выражениями?

3. Для чего предназначена команда evalf ?

4. С помощью каких команд можно найти вещественную и мнимую части комплексного выражения, а также его модуль и аргумент, и комплексно сопряженное ему число? Какую роль выполняет команда evalc ?

5. Для чего предназначена команда solve ?

Методы решения математических задач в Maple

6. Какие команды используются для численного решения уравнений и для решения рекуррентных уравнений?

7. Какие дополнительные команды следует ввести для того, чтобы получить точное решение уравнения, все решения уравнения?

8. В каком виде выдается решение неравенства? Как отличить в строке вывода закрытый интервал от открытого?

III. Построение графиков

1. Двумерные графики.

2. Трехмерные графики. Анимация.

§1. Двумерные графики

Команда plot и ее параметры.

Для построения графиков функции f(x) одной переменной (в интервале a ≤ x ≤ b по оси Ох и в интервале c ≤ y ≤ d по оси Оу )

используется команда plot(f(x), x=a..b, y=c..d, parameters), где parameters – параметры управления изображением. Если их не указывать, то будут использованы установки по умолчанию. Настройка изображения также может осуществляться с панели инструментов.

Основные параметры команды plot :

1) title=”text”, где text- заголовок рисунка (текст можно оставлять без кавычек, если он содержит только латинские буквы без пробелов).

2) coords=polar – установка полярных координат (по умолчанию

3) axes – установка типа координатных осей: axes=NORMAL – обычные оси; axes=BOXED – график в рамке со шкалой; axes=FRAME – оси с центром в левом нижнем углу рисунка; axes=NONE – без осей.

4) scaling – установка масштаба рисунка: scaling=CONSTRAINED

– одинаковый масштаб по осям; scaling=UNCONSTRAINED – график масштабируется по размерам окна.

5) style=LINE(POINT) – вывод линиями (или точками).

6) numpoints=n – число вычисляемых точек графика (по умолчанию n=49 ).

Методы решения математических задач в Maple

7) сolor – установка цвета линии: английское название цвета, например, yellow – желтый и т.д.

8) xtickmarks=nx и ytickmarks=ny – число меток по оси Оx и

оси Оy , соответственно.

9) thickness=n, где n=1,2,3… — толщина линии (по умолчанию

10) linestyle=n – тип линии: непрерывная, пунктирная и т.д. ( n=1

– непрерывная, установлено по умолчанию).

11) symbol=s – тип символа, которым помечают точки: BOX,

CROSS, CIRCLE, POINT, DIAMOND .

12) font=[f,style,size] – установка типа шрифта для вывода текста: f задает название шрифтов: TIMES, COURIER, HELVETICA, SYMBOL; style задает стиль шрифта: BOLD, ITALIC, UNDERLINE; size – размер шрифта в pt.

13) labels=[tx,ty] – надписи по осям координат: tx – по оси Оx и ty – по оси Оy .

14) discont=true – указание для построения бесконечных разрывов.

С помощью команды plot можно строить помимо графиков

функций y=f(x), заданной явно, также графики функций, заданных параметрически y=y(t), x=x(t) , если записать команду plot([y=y(t), x=x(t), t=a..b], parameters) .

1. Построить график y = sin x x жирной линией в интервале от -4 π до

> plot(sin(x)/x, x=-4*Pi..4*Pi, labels=[x,y], labelfont=[TIMES,ITALIC,12], thickness=2);

Методы решения математических задач в Maple

2. Построить график разрывной функции y =

Замечание : на рисунке автоматически появляются вертикальные асимптоты.

3. Построить график параметрической кривой y = sin 2 t , x = cos3 t , 0 ≤ t ≤ 2 π в рамке. Наберите:

> plot([sin(2*t),cos(3*t),t=0..2*Pi], axes=BOXED, color=blue);

4. Построить в полярных координатах график кардиоиды

ρ = 1 + cos ϕ с названием. Наберите:

> plot(1+cos(x), x=0..2*Pi, title="Cardioida", coords=polar, color=coral, thickness=2);

Методы решения математических задач в Maple

5. Построить два графика на одном рисунке: график функции y = ln(3 x − 1) и касательную к нему y = 2 3 x − ln 2 . Наберите:

> plot([ln(3*x-1), 3*x/2-ln(2)], x=0..6, scaling=CONSTRAINED, color=[violet,gold], linestyle=[1,2], thickness=[3,2]);

Построение графика функции, заданной неявно.

Функция задана неявно, если она задана уравнением F ( x , y ) = 0 .

Для построения графика неявной функции используется команда implicitplot из графического пакета plots: implicitplot(F(x,y)=0, x=x1..x2, y=y1..y2).

Вывод текстовых комментариев на рисунок.

В пакете plots имеется команда textplot для вывода текстовых комментариев на рисунок: textplot([xo,yo,’text’], options), где xo, yo – координаты точки, с которой начинается вывод текста ’text’ .

Решение систем линейных уравнений (СЛУ)

Как известно, одной из первых задач решаемых в курсе линейной алгебры, является задача решения систем линейных алгебраических уравнений. Существует много способов ее решения, но классическими являются два — метод Крамера и метод исключения Гаусса. Первый в настоящее время практически не используется из-за накопления ошибок округления при реальных вычислениях на подмножестве вещественных чисел с ограниченной мантиссой, хотя, справедливости ради следует заметить, что при вычислениях в Maple подобной проблемы не возникает, так как пользователь всегда может увеличить количество цифр в мантиссе используемых чисел, присвоив системной переменой Digits требуемое значение. Именно поэтому мы и приведем оба варианта решения систем линейных уравнений и методом Крамера и Гаусса.

Данная программа реализует классический метод решения систем линейных уравнений методом Крамера и выполняет проверку. Программа способна решать системы уравнений с n — неизвестными. > restart;

Подключим пакет Linalg о котором мы уже не раз говорили ранее.

Введем размерность матрицы системы

Введем коэффициенты основной матрицы, и вычислим их определитель.

Введем коэффициенты свободных членов

Для превращения программы в программу для общего случая, необходимо использовать цикл, с помощью цикла нам удалось автоматически подставлять вектор столбец свободных членов сначала на место первого столбца, затем на место второго и т.д. в зависимости от размерности матрицы системы. И соответственно вычислять определители данных матриц и значения х1, х2, и т.д.

for m from 1 to n do

Получив все необходимые данные, а именно значения неизвестных переменных — х, необходимо провести проверку.

Для наглядности выведем значении полученных неизвестных коэффициентов:

> for m from 1 to n do X[m]=x[m]; od;

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

> for m from 1 to n do W[m]:=submatrix(A,1..n,m..m);od;

for m from 1 to n do W[m]:=evalm(W[m]*x[m]); od;

Сложим полученные значения

Очевидно, что полученный вектор столбец равен вектору столбцу, введенному ранее — столбцу свободных членов, значит решение данной системы верно, и полученные неизвестные коэффициенты действительно являются решениями данной системы.

Пусть в условии задачи нам дана некоторая система линейных алгебраических уравнений

  • 3*x1 + 2*x2 + x3 = 5
  • 2*x1 + 3*x2 + x3 = 1
  • 2*x1 + x2 + 3*x3 = 11

Необходимо доказать ее совместимость и решить методом Гаусса.

Неоднородная квадратная система линейных уравнений совместна при любом векторе правой части, если определитель не равен нулю.

Вычислить определитель в Maple можно обратившись к команде det( ).

Мы должны получить решение с помощью метода исключения Гаусса. В Maple нет специальной команды решения системы линейных уравнений этим методом, поэтому нам придется создать собственную идею вычисления:

> for i from 1 to m do r:=1/c[i,i];c:=mulrow(c,i,r); if i<>m then for j from i+1 to m do r:=-c[j,i];c:=addrow(c,i,j,r);end do;end if; end do;

> x[m]:=c[m,m+1]; for i from m-1 to 1 by -1 do x[i]:=c[i,m+1]-sum(x[k]*c[i,k],k=(i+1)..m); end do; sol:=eval(x);

Здесь мы получили значения х1, х2, х3, проверим правильность нашего решения с помощью сравнения вектора свободных членов, с нашей матрицей A помноженной на соответственные значения полученных иксов

Из полученного результата мы видим, что полученный результат полностью совпадает со столбцом свободных членов, а значит наше решение верно.

В прямом ходе метода расширенная матрица системы приводится к верхнему треугольному виду с единицами на главной диагонали. В обратном ходе в векторе х процедуры вычисляется вектор решения системы, который и является ее обратным значением. При приведении матрицы к верхнему треугольному виду в двойном цикле используется команда addrow принадлежащая пакету linalg, а при последовательном вычислении элементов вектора решения — команда sum. Эти команды реализуют циклы.

Как записать систему уравнений в maple

В настоящее время преподавание многих дисциплин, в частности, математической направленности, переживает этап значительных перемен, связанных с внедрением в учебный процесс различных пакетов современной компьютерной математики. В качестве средств компьютерной математики нами выбраны системы Mathcad и Maple. Почему?

Первая из них обладает чрезвычайной простотой интерфейса, которая сделала Mathcad одним из самых популярных среди обучающихся математическим пакетом. Математические выражения на экране компьютера представляются в общепринятой и знакомой нотации – имеют такой же вид, как в книге, тетради, на доске. С ними можно выполнять численные или символьные операции, строить графики и т.п.

Система Maple в диалоговом режиме решает огромное число математических задач, от простых расчетов и численного моделирования до сложнейших аналитических преобразований и вычислений. Она имеет мощные графические средства, встроенный язык программирования, является справочником по практически всем разделам современной математики. Maple, как и Mathcad, – это среда для всех. В ней есть пакет для студентов STUDENT, имеются пакеты узкого назначения для профессиональных математиков.

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

Даются рекомендации по применению пакетов Mathcad и Maple в задачах, связанных с решением уравнений. Цель данной статьи – показать, как быстро и легко можно решать в указанных средах задачи по означенной тематике.

Учащемуся полезно иметь под рукой справочные пособия или руководства по указанным системам, например, книги [1–5]. Предполагается наличие хотя бы первичных навыков работы в этих системах, в частности, умение редактировать и форматировать графики, формулы, результаты вычислений. Основным объектом в работе будут функции. Их имена в Mathcad и Maple могут быть различными, например, арктангенс – соответственно atan(x), arctan(x). Для получения информации о функции в Mathcad следует щелкать

dal02.wmf,

а в системе Maple набрать? f;, где f – имя интересующей Вас функции.

Перейдем к рассмотрению некоторых знаменитых уравнений и к их решению. К их числу относятся, конечно, кубические уравнения. Начнем со следующего наводящего примера.

Пример 1. Требуется доказать, не используя средств вычислений, что число dal03.wmfесть 1.

Решение. Согласно формуле dal04.wmfполучим

dal05.wmf,

откуда вытекает, что r есть корень кубического уравнения

dal06.wmf. (1)

Видно, что y = 1 является также его корнем. Других действительных корней нет, так как кубический многочлен есть возрастающая функция (у него производная всюду положительная). В силу единственности корня имеем r = 1. Но попробуйте это доказать непосредственно! Фактически любое доказательство предполагает использование того, что r является корнем уравнения (1). Если же не угадать этого, то при преобразованиях будут возникать неистребимые кубические радикалы.

Методы решения линейных и квадратных уравнений были известны еще древним грекам. Решения в радикалах уравнений третьей и четвертой степеней были получены усилиями итальянских математиков С. Ферро, Н. Тартальи, Д. Кардано, Л. Феррари в эпоху Возрождения. Увлекательную историю этих открытий можно найти в работах или в интернете. Затем наступила пора поиска формул корней алгебраических уравнений более высоких степеней. Настойчивые, но безрезультатные попытки продолжались около 300 лет и завершились в 19 веке работами норвежского математика Н. Абеля. Он доказал, что общее уравнение степени пятой и выше неразрешимо в радикалах: решение нельзя выразить через коэффициенты уравнения с помощью арифметических действий и извлечений корней. А если рассматриваются неалгебраические уравнения, то ситуация еще более ухудшается. В этом случае найти для корней явные выражения, за редким исключением, не удается. Примером может служить очень простое уравнение x = cos x, имеющее вполне реальное происхождение (см. далее задачу о вычислении площади поверхности испарения). Поэтому читателю следует уяснить себе, взять на вооружение тот факт, что решение уравнения в виде формулы – это не правило, а исключение!

Вернемся к кубическому уравнению – уравнению третьей степени

dal07.wmf.

Подстановкой dal08.wmfоно сводится к так называемому каноническому виду

dal09.wmf,

dal10.wmf.

Решение канонического уравнения получается по формуле Кардано

dal11.wmf.

Ясно, что если выражение под знаком квадратного корня положительное, то уравнение имеет один действительный корень. Именно так обстоит дело с уравнением (1). По формуле Кардано его корень – тот самый, который выше в наводящем примере был обозначен через r. Пример показывает, что даже готовая формула корня является неудобной или даже бесполезной для практического применения.

Первые попытки найти решения задач, сводящихся к кубическим уравнениям, были сделаны в древности. К таким уравнениям сводятся, например, задачи об удвоении куба и трисекции угла. Рассмотрим последнюю из них.

Трисекция угла – это разделение его на три равные части. Наряду с другими классическими задачами она сыграла большую роль в развитии математических методов. Первоначально трисекцию угла стремились осуществить с помощью циркуля и линейки, что удавалось лишь в отдельных случаях (для углов dal13.wmf). Трисекция угла сводится к решению кубического уравнения вида

dal14.wmf. (2)

В XV веке арабский астроном аль-Каши для составления весьма точных таблиц тригонометрических функций и вычисления синуса одного градуса по известному синусу трех градусов впервые применил итерационный метод решения такого кубического уравнения. Ниже мы пройдем по следам аль-Каши, проделав его вычисления в Mathcad как упражнение на усвоение системы. Что касается точной трисекции угла в общем случае с помощью циркуля и линейки (т.е. разрешимости соответствующего кубического уравнения в квадратичных радикалах), то оказалось, что она невозможна (П. Ванцель, 1837 г.).

Аль-Каши исходил из формулы синуса тройного угла dal15.wmf. Полагая sin 3 ° = s, sin 1 ° = x, получим согласно этой формуле кубическое уравнение вида (2) с q = s/4, p = 3/4. Из него

dal16.wmf.

Функция f(x) непрерывна на отрезке [0; 1/4] отображает его в себя и имеет неотрицательную производную, не превосходящую 0,5. Этого достаточно, чтобы отображение f:[0; 1/4]>[0; 1/4] было сжимающим. Согласно принципу сжатых отображений его единственная неподвижная точка является пределом итерационной последовательности dal17.wmf, в которой начальное приближение dal18.wmfпроизвольное, а каждое последующее приближение находится через предыдущее по формуле dal19.wmf. Примем x0 = 0 и проделаем 5 итераций в системе Mathcad.

GeekBrains

dal20.wmf

dal21.wmf

dal22.wmfdal23.wmf

dal24.wmf

Несколько комментариев к этому документу. В нем с десятью десятичными знаками найден синус трех градусов (аль-Каши эта величина была известна), задана функция. Во второй строке вычислены ее значения на концах отрезка для подтверждения того, что действительно происходит отображение «в себя». В третьей строке заказано число итераций и индексная переменная (счетчик). Далее – начальное приближение, итерационная формула и результаты счета с 10 D. Если нарисовать график отображающей функции вместе с биссектрисой первого координатного угла, то увидим, что график f(x) идет почти прямолинейно и почти горизонтально. Это дает плохую визуализацию вычислений, поэтому лучше обратиться к рис. 1, на котором изображена «лестницеобразная» ломаная, показывающая одностороннюю сходимость (одинаковый масштаб для наглядности не соблюден).

Из кубических уравнений, вошедших в историю математики, отметим еще два. Одно из них – это уравнение dal25.wmf, которое в X веке рассматривал аль-Бируни в связи с определением стороны правильного 9-угольника. Позже Л. Фибоначчи (XII век) решал уравнение dal26.wmf. Его анализ показал: единственный действительный корень не может быть ни одной из иррациональностей, встречающихся у Евклида. Это было первым шагом в вопросе о решениях уравнений в радикалах.

В системе Mathcad для нахождения всех корней алгебраического уравнения есть встроенная функция polyroots(c), вычисляющая корни по вектору c коэффициентов уравнения. С ее действием познакомимся на примере уравнения Фибоначчи. Перепишем его с нулем в правой части dal27.wmfи приведем фрагмент документа, выводя результаты с 6D.

dal28.wmf

dal29.wmf

Обратите внимание на запись вектора коэффициентов: сначала указывается (при движении сверху вниз) свободный член уравнения, затем коэффициент при x и т.д.

Кубические уравнения, возникшие в глубокой древности, и сегодня встречаются в теоретических и прикладных исследованиях. Например, при вычислении dal30.wmf, когда аргумент очень близок к 1, возникает опасность неустойчивости (аргумент изменится мало, функция – намного). Поэтому используется следующий прием: dal31.wmf, где y – корень уравнения dal32.wmf, который можно легко найти, например, методом Ньютона. Если, например, 0,966 < x < 1, то 0,422 < y <0,5.

К кубическому уравнению приводят задачи, связанные с объемом шарового сегмента dal33.wmf(см. рис. 2). Пусть, например, требуется выполнить трисекцию шара – двумя параллельными плоскостями разрезать его на три равновеликие по объему части. В фольклорном варианте такой задачей занималась Лиса, деля круглую головку сыра себе и двум медвежатам (см. работу [6, с. 19, задача 54]). Плутовка не без выгоды оставляла себе среднюю часть. Какую часть диаметра должна составлять ее толщина, чтобы дележ сыра был «справедливым»?

Пусть толщина средней части равна 2a, так что h = R – a. Надо найти величину dal34.wmf. Вспоминая формулу объема шара, имеем по условию, что

dal35.wmf.

Отсюда с 6D x = 0,226074, так что толщина средней части около 23 % диаметра.

dal1.tif

Рис. 1. «Лестницеобразная» ломаная

dal2.tif

Рис. 2. Трисекция шара

Далее рассмотрим некоторые уравнения, не являющиеся алгебраическими. Для их решения система Mathcad предоставляет ряд мощных встроенных функций с именами root, find, minerr. Продемонстрируем их действия на примере уравнения dal36.wmf, возникшего из коммерческой арифметики, которое решал Лука Пачоли (XV век). Перепишем уравнение с нулем в правой части, после чего левую часть обозначим f(x). Если построить график этой функции, то увидим, что искомый корень лежит где-то между 3 и 4. Наберем с клавиатуры следующий текст.

dal37.wmfdal38.wmf

dal39.wmf

Здесь после ввода функции была задана начальная точка поиска и найдена конечная точка x1 с помощью функции root. Значение функции в точке x1 не есть точный ноль, но весьма близкая к нему величина. Более точные результаты получены в следующем фрагменте при использовании функций find и minerr. Обратите внимание, что они «работают» в директиве Given, перед именем которой также задаются начальные приближения к искомому корню.

dal40.wmf

dal41.wmf

dal42.wmf

dal43.wmf

dal44.wmf

dal45.wmf

В заключение рассказа об уравнении Пачоли отметим связь задач между поисками корней уравнения и поиском экстремума функции. Когда ищется экстремум, типичный порядок действий обычно таков: найдем у исследуемой функции производную, приравняем ее к нулю, решим полученное уравнение,…. Но возможно и обратное действие: поиск корня уравнения f(x) = 0 свести к минимизации функции dal46.wmfили dal47.wmf. Если минимум достигается в какой-то точке и равен нулю, то эта точка и есть нуль функции f(x). Эту ситуацию и показывает следующий, последний фрагмент документа.

dal48.wmf

dal49.wmf

dal50.wmf

dal51.wmf

Если уравнение Пачоли было трансцендентным, то в следующем примере, именуемом «индийской задачей», оно иррациональное и может быть сведено к алгебраическому. Речь пойдет об одной задаче, широкоизвестной в англоязычной литературе и малоизвестной у нас.

«Индийская задача». К двум диаметрально противоположным точкам дна круглого колодца (рис. 3) приставлены тростинки длинами L, l, которые скрещиваются на высоте h от днища. Можно ли найти диаметр колодца? Решить задачу в случаях:

а) L = 30, l = 20, h = 8;

б) L = 105, l = 87, h = 35.

В литературе указанные величины задавались в футах. Но не в единицах измерения дело. Одна из задач состояла в поиске целочисленных значений диаметра x (см. рис. 3) при целочисленных значениях параметров. Наша задача здесь более скромная – решить уравнение

dal52.wmf, (3)

вывод которого геометрически прозрачен. Из подобий треугольников рис. 3 имеем

dal53.wmf.

Выразим отсюда a, b и сложим их – получим x. Откуда и вытекает равенство (3).

Полученное иррациональное уравнение подстановкой dal54.wmfможно свести к уравнению

dal55.wmf,

решить его в Mathcad с помощью функции polyroots и отсеять посторонние корни. Но проще, по-видимому, сразу решать уравнение (3), задавая начальную точку поиска, равную, например, l/2.

dal56.wmf

dal57.wmf

dal58.wmf

dal59.wmf

dal60.wmf

Любопытно, что «Индийская задача» в одном из рассказов известного советского писателя-фантаста И. Ефремова была основой следующего сюжета. В жрецы посвящался тот, кто мог решить рассматриваемую задачу. В древней Индии кандидата в жрецы заточали в колодец, и если он представлял решение, то считался прошедшим испытание. Иначе…. Герой рассказа справился с заданием, решив, по предположению авторов уравнение четвертой степени, к которому сводится уравнение (3). Но историки математики весьма скептически отнеслись к такой гипотезе: во времена, когда происходило действие рассказа, полные уравнения четвертой степени вряд ли решались. Скорее всего, герой рассказа «на глазок» оценил диаметр колодца и занялся перебором. Например, в случае б) число 63 удовлетворяет уравнению (3).

В заключение рассказа о замечательных уравнениях приведем такую задачу.

«Задача о площади поверхности испарения». При хранении нефтепродуктов, хранящихся в горизонтальных цилиндрических резервуарах (рис. 4, а), происходит их естественная потеря из-за испарения, которая пропорциональна площади поверхности испарения. Эта площадь считается стандартной, если резервуар заполнен на 75 % своего объема. Найдите стандартную площадь поверхности испарения при заданных размерах емкости.

Решение. Искомая площадь S = AB•l (рис. 4, б), причем хорда отсекает от круга (торца резервуара) сегмент AnB площади, составляющей четверть площади круга. Если α – радианная мера центрального угла AOB, то имеем

dal61.wmf.

Здесь площадь сегмента найдена как разность между площадью сектора OAnB и площадью треугольника AOB. Таким образом, dal62.wmf, и если мы положим dal63.wmf, то получим уравнение x = cos x. Его решение методом итераций можно найти в работах или в интернете. С 3D ответ x = 0,739. По найденному x мы найдем угол α, а по нему и хорду, опирающуюся на него, и, следовательно, искомую площадь испарения. Так распутывается клубок, начало действия которому – это корень уравнения x = cos x, который «хоть видит око, да зуб неймет».

dal3.tif

Рис. 3. «Индийская задача»

dal4a.tifdal4b.tif

Рис. 4. Задача о площади поверхности испарения

Перейдем к компьютерному решению систем уравнений.

В системе Mathcad для этих целей используются в основном функции find и minner, действующие в блоке Given, перед которым задается начальная точка поиска (чем ближе она к неизвестному решению, тем лучше). В системе Maple аналогичной функцией является fsolve.

Ясно, что перед началом решения системы следует исследовать ее на совместность, уяснить количество решений. Часто встречаются системы двух уравнений с двумя неизвестными

dal65.wmf

Ими мы только и ограничимся. Количество решений выясняется обычно визуально, если на одном чертеже изобразить графики уравнений системы. Обычно это две кривые, пересекающиеся в конечном числе точек.

Пример 2. Требуется решить систему уравнений

dal66.wmf

Решение. «Набросаем» хотя бы грубо графики уравнений. Ими являются (рис. 5) овалообразная кривая и обычная прямая. Чертеж подсказывает наличие двух решений, близких к (0; 1) и (1; 0). Найдем их соответственно с помощью функций find, minerr. Вот начало документа Mathcad.

dal67.wmf

dal68.wmf

dal69.wmf

dal70.wmf

Здесь результаты счета выводились с 6D, были найдены координаты точки А на рис. 5. По симметрии нетрудно угадать координаты точки B. Нашу догадку подтвердим в следующем фрагменте документа.

dal71.wmf

dal72.wmf

dal73.wmf

dal9.tif

Рис. 5. Овалообразная кривая и обычная прямая

Что касается рис. 5, то он был выполнен в системе Maple с помощью встроенной функции implicitplot, осуществляющей построение графика неявной (implicit) функции, заданной уравнением вида dal74.wmf. То есть строится график этого уравнения (или нескольких уравнений). Применительно к рассмотренному уравнению это могло быть выполнено следующим образом

dal75.wmf

dal76.wmf

dal77.wmf

dal78.wmf

dal79.wmf

После выполнения последней команды и будет осуществлена нужная визуализация (рис. 5). Далее можно решить систему. Для нахождения координат точки A следует набрать

dal80.wmf

dal81.wmf

Аналогично находится второе решение; вместо dal82.wmfследует набрать dal83.wmf.

Заметим, что встроенные в Mathcad и Maple функции find, minerr, fsolve весьма мощные, они позволяют решать уравнения и системы даже с разрывными функциями.

Пример 3. Решить систему уравнений

dal84.wmf

Решение. Здесь скобки [ ] означают целую часть числа, стоящего в них. Как в Mathcad, так и в Maple, целая часть находится с помощью встроенной функции floor(x). Например, dal85.wmf. За счет этой функции левые части системы разрывные. Тем не менее система благополучно решается на компьютере (а сможете ли Вы решить ее чисто аналитически?). Сначала выполним визуализацию системы в Maple:

dal86.wmf

dal87.wmf

dal88.wmf

dal89.wmf.

dal5a.tifdal5b.tif

После этого на экране увидим две параболообразные линии на рис. 6, а), явно пересекающиеся в четырех точках. Эти линии воспринимаются как непрерывные, хотя они на самом деле таковыми не являются. Чтобы в этом убедиться, изобразим часть верхней ветви «параболы», заданной функцией g:

dal90.wmf

dal91.wmf

Здесь sqrt означает квадратный корень, а опция discont = true предназначена для улучшения качества графиков разрывных функций. Вид графика функции u(x) указан на рис. 6, б). Ясно, что целочисленные точки являются точками разрыва первого рода. Кружок на концах участков графика означает, что из соответствующего отрезка правый конец удален.

Но вернемся к рис. 6, а). Из него «на глазок» усматриваем прямоугольные области, содержащие внутри себя точки пересечения кривых:

dal92.wmf.

С учетом этого решим систему, не выходя из Maple.

dal93.wmf

dal94.wmf

dal95.wmf

dal96.wmf

dal97.wmf

Здесь пришлось использовать, не в соответствии с рис. 6, а), символ D1, так как буква D в системе Maple считается «занятой» (protected). Желающим решить рассмотренную систему уравнений аналитически сообщаем ответ:

dal98.wmf.

Как известно, поиск локальных экстремумов дифференцируемой функции начинается с нахождения ее стационарных точек – тех, в которых все частные производные равны нулю, т.е. надо решать систему уравнений. Часто из каких-то соображений (геометрических, физических, экономических и т.д.) есть уверенность в том, что в найденной стационарной точке желаемый экстремум есть. Но аналитический поиск такой точки может быть практически труден или вовсе невозможен.

Пример 4. Решить систему уравнений

dal99.wmf

Решение проведем в системе Mathcad. Построим на одном чертеже графики уравнений, т.е. графики функций

dal100.wmf

над промежутком [0,01; 2]. Увидим, что графики пересекаются в одной-единственной точке с абсциссой, заключенной между 1 и 2, причем более близкой к 2, чем к 1.

Введем целевую функцию

dal101.wmf

Задаем начальную точку поиска минимума этой функции и находим конечную точку:

dal102.wmf

dal103.wmf

dal104.wmf

Заметим, что приближенные координаты точки пересечения графиков можно узнать трассировкой: график выделить и последовательно щелкать

Format Graph Trace.

Затем навести курсор на искомую точку, щелкнуть. Сверху слева на выпадающем табло увидим 1,6736, 1,2237. Но эти координаты приближенные, они зависят от точности наведения курсора.

Перейдем к решению диофантовых уравнений, но перед их решением надо сначала вывести линейное диофантово уравнение (или систему уравнений). Оно будет являться математической моделью, а вычислительная задача будет состоять в его решении. (Обстоятельный разговор о решении диофантовых уравнений читатель найдет в нашей работе [6]).

Пример 5. Вы должны уплатить за покупку 19 руб., располагая лишь трехрублевками. У кассира – только пятирублевки. Можно ли расплатиться с кассиром, если у каждого по 10 купюр?

Решение. Надо решить в натуральных числах уравнение dal105.wmf(обозначения очевидны), среди решений отсеять те, в которых значения x > 10 или y > 10. Частным решением является пара (8; 1). Общее решение описывается в виде dal106.wmf. В силу ограничений dal107.wmfимеем t = 0.

Ответ: x = 8, y = 1, т.е. Вы даете 8 трехрублевок и получаете сдачу одной пятирублевкой.

В системе Maple для решения диофантовых уравнений есть встроенная функция isolve. С ее действием познакомимся на рассмотренном примере. Наберем на экране dal108.wmfПосле нажатия Enter увидим

dal109.wmf

Здесь dal110.wmf– это встроенная целочисленная переменная. Видим, что система выдала то же самое общее решение.

Пример 6. Для перевозки зерна имеются мешки емкостью либо 60, либо 80 кг. Сколько надо заготовить тех и других мешков для загрузки одной тонны зерна, чтобы все мешки были полными? Какое наименьшее количество мешков при этом может понадобиться?

Решение. Пусть x, y – количества мешков емкостью соответственно 60, 80 кг. Имеем задачу целочисленного линейного программирования

dal111.wmf

при условиях dal112.wmf. Запишем это уравнение в виде dal113.wmf.

В Maple-решении будем иметь

dal114.wmf

dal115.wmf

Здесь по смыслу задачи свободная переменная может принимать лишь значения 0, 1, 2 и 3. Из четырех решений dal116.wmfпоследнее является искомым: Zmin = 13.

Внимание! Функция isolve «умеет» решать лишь отдельные уравнения, но не их системы. К счастью, на практике часто удается систему неопределенных уравнений свести к одному уравнению. Покажем это на следующем примере.

Пример 7. В трех сосудах содержатся по 100 г растворов некоторой кислоты: в первом 70-процентный, во втором 60-процентный, в третьем 30-процентный. Смешивая эти растворы, нужно получить 250 г 55-процентной кислоты. Как это осуществить?

Решение. Пусть смешали x г первого раствора, y г второго и z г третьего. По условию

dal117.wmf

Исключим переменное z. Для этого второе уравнение перепишем в виде dal118.wmfи вычтем из него первое, умноженное на 3. Получим уравнение dal119.wmf. Его общее решение функцией isolve :

dal120.wmf.

Или, что для нас привычнее,

dal121.wmf.

Из неотрицательности переменных вытекает, что dal122.wmf, а из условий dal123.wmfследует dal124.wmf. Задача имеет 7 решений. Выпишите их.

Функция isolve может оказаться полезной, когда аналитическое решение задачи вполне «прозрачное», но технически трудоемкое.

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

Решение. Искомые числа находятся из уравнения dal125.wmf, что сводится к перебору делителей числа 1981. Поручим решение компьютеру:

dal126.wmf

dal127.wmf

dal128.wmf

Осталось отобрать нужные (в порядке возрастания) x = 1, 7, 283, 1981. Искомые числа соответственно 11981, 71981, 2831981, 19811981. Не верите – проверьте непосредственными вычислениями.

Пример 9. Решите в целых числах уравнение х (х – 3у) = 2.

Решение. Так как 2 имеет делители 1 и 2, то возможны следующие случаи:

1. dal129.wmfтогда х = 2, dal130.wmf, т.е. система не имеет решения в целых числах.

2. dal131.wmfтогда х = 1, dal132.wmf, т.е. система не имеет решения в целых числах.

3. dal133.wmfтогда х = –1, dal134.wmf, т.е. система не имеет решения в целых числах.

4. dal135.wmfтогда х = –2, dal136.wmf, т.е. система не имеет решения в целых числах.

Ответ: уравнение не имеет решения в целых числах.

Maple тоже решений не нашел.

dal6.tif

Пример 10. Решите уравнение (х + 2у)(2х – у) = –2 в целых числах.

Решение. Так как –2 имеет делители –1 и 2, 1 и –2, то здесь возможно несколько случаев:

1. dal137.wmfоткуда х = 0, у = –1.

2. dal138.wmfоткуда х = 0, у = 1.

3. dal139.wmfоткуда dal140.wmf, значит, данная система уравнений не имеет решения в целых числах.

4. dal141.wmfоткуда dal142.wmf, значит, данная система уравнений не имеет решения в целых числах.

dal8.tif

Пример 11. Решите уравнение dal143.wmfв целых числах.

Решение. Разложим левую часть заданного уравнения на линейные множители:

dal144.wmf.

Уравнение примет вид dal145.wmf.

Так как 7 число простое, то оно равно произведению двух целых чисел в четырех случаях:

1) dal146.wmf2) dal148.wmf3) dal147.wmf4) dal149.wmf

Решая системы, будем иметь

1) dal150.wmf2) dal151.wmf3) dal152.wmf4) dal153.wmf

dal8.tif

В заключение отметим достоинства и недостатки функции isolve.

С помощью этой функции успешно решаются диофантовы уравнения первой и второй степени с двумя неизвестными. Но уравнения более высоких степеней не решаются.

Не решаются системы диофантовых уравнений и уравнения с числом неизвестных более двух.

Неалгебраические неопределенные уравнения не решаются.

Несмотря на эти недостатки, функция isolve может быть полезной при работе с неопределенными уравнениями и их системами. Например, при проверке решений, полученных чисто аналитически, или при проведении «разведочного» анализа на предмет существования решений.

Более обстоятельный разговор об использовании компьютера для решения уравнений, да и других задач, читатель найдет в наших работах [7, 8] и в работах [9–12].

GeekBrains

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *