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

GeekBrains

Решение нелинейных уравнений средствами системы 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. Ее возможности для решения линейных и нелинейных уравнений и неравенств. Применение функции solve.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.09.2017
Размер файла 189,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

  • Введение
  • Глава 1. История развития и основные принципы системы Maple
  • 1.1 Системы компьютерной математики
  • 1.2 История и основные принципы системы Maple
  • 2.1 Решение уравнений
  • 2.2 Решение систем уравнений
  • 2.3 Решение неравенств

? раскрытие понятия «системы компьютерной математики», история их развития,

? изучение основных принципов системы Maple,

? изучение возможностей системы Maple для решение уравнений, неравенств и систем уравнений.

Глава 1. История развития и основные принципы системы Maple

1.1 Системы компьютерной математики

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

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

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

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

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

В тот момент времени каждая область науки или производства оказались охваченными каждая своим собственным математическим аппаратом и для них были разработаны собственные пакеты прикладного программного обеспечения (ППО). Так как пользователи не являлись ни профессионалами в математике, ни программистами, то понадобился продукт, ориентированный на широкий круг пользователей. Книги по этому направлению были перенасыщенности их узкоспециальным теоретическим материалом и весьма специфическим языком описания. Материал таких книг интересен математикам, занимающимся разработкой систем компьютерной алгебры, но не основной массе их пользователей.

Большинство пользователей системы заинтересовано в том, чтобы правильно выполнить конкретные аналитические преобразования, вычислить в символьном виде производную или первообразную заданной функции, разложить ее в ряд Тейлора или Фурье, провести аппроксимацию и т. д., а вовсе не в детальном и сложном математическом и логическом описании того, как это делается компьютером (или, точнее, его программистом).

Все это привело к созданию компьютерных систем символьной математики, рассчитанных на широкие круги пользователей — непрофессионалов в математике. Так началась с середины 60-х годов ХХ века эра систем компьютерной математики (СКМ) или систем компьютерной алгебры (СКА), по-английски CAS — Сomputer algebra system.

Западные фирмы приступили к созданию компьютерных систем символьной математики, ориентированных на широкие круги пользователей, не являющихся профессионалами в компьютерной алгебре. Учитывая большую сложность автоматизации решения задач в аналитическом виде (число математических преобразований и соотношений весьма велико, и некоторые из них неоднозначны в истолковании), первые подобные системы удалось создать лишь для больших ЭВМ. Но затем появились и системы, доступные для мини-ЭВМ. Заметное развитие получили языки программирования для символьных вычислений Reduce, система muMath для малых ЭВМ, а в дальнейшем — интегрированные системы символьной математики для персональных компьютеров: Derive, MathCAD, Mathematica, Maple V и др.

В бывшем СССР большой вклад в развитие систем символьной математики внесла школа покойного академика Глушкова. В конце 70-х годов были созданы малые инженерные ЭВМ класса «Мир», способные выполнять аналитические вычисления даже на аппаратном уровне. Был разработан и успешно применялся язык символьных вычислений «Аналитик». Была реализована СКМ на языке программирования "Аналитик", обладающая всеми возможностями символьных вычислений, с достаточно скромными, по нынешним понятиям, характеристиками.

Эти работы отчасти предвосхитили развитие систем символьной математики. К огромному сожалению, они появились слишком рано для своего времени и не соответствовали «генеральной линии» развития советской вычислительной техники в те годы. Уклон в сторону развития больших ЭВМ серии ЕС, навязанный в СССР компьютерными чиновниками, отодвинул компьютеры «Мир» на задний план, а затем этот класс компьютеров просто прекратил свое существование и развитие.

Системы компьютерной математики (СКМ) условно делятся на две категории — системы компьютерной алгебры (или системы символьной математики) СКА и системы для численных вычислений. Все современные системы являются универсальными, и их отношение к СКА или СКМ является довольно условным и определяется просто тем, к какой из систем они относились изначально.

К наиболее распространенным средствам, предоставляемым системами для численных расчетов, относятся:

? арифметические и алгебраические операторы и функции;

? функции для работы с комплексными числами;

? тригонометрические и гиперболические функции;

? обратные тригонометрические и гиперболические функции;

? логические операторы и функции;

? векторные и матричные операторы и функции;

? средства для решения систем линейных алгебраических уравнений;

? специальные математические функции;

? средства арифметики степенных многочленов (полиномов);

? функции для нахождения комплексных корней многочленов;

? функции для решения систем нелинейных алгебраических уравнений;

? средства для решения систем дифференциальных уравнений;

? средства оптимизации функций и линейного программирования;

? средства одномерной и многомерной интерполяции;

? средства создания двухмерных и трехмерных графиков;

? типовые средства программирования.

Рассмотрим внутреннюю архитектуру СКМ.

Центральная часть — ядро (Kernel) системы СКМ реализует алгоритм функционирования СКМ, обеспечивает совместное функционирование всех ее частей, организует прием и интеллектуальную обработку запроса пользователя, а затем — вызов нужной процедуры решения. В ядре помещается большое количество встроенных функций и операторов системы. Их количество в современных СКМ может достигать многих тысяч. Поиск и выполнение функций и процедур, встроенных в ядро СКМ, выполняется быстро, если их там не слишком много. Поэтому объем ядра ограничивают, но к нему добавляют встроенные в СКМ библиотеки процедур и функций, использующихся относительно редко. При этом общее число доступных пользователю математических функций ядра и этих встроенных библиотек достигает многих тысяч. Кардинальное расширение возможностей СКМ и их приспособленность к нуждам конкретных пользователей для углубленного решения определенного круга задач достигается за счет установки внешних пакетов расширения. Эти пакеты, приобретаемые отдельно, делают возможности СКМ практически безграничными. В состав любой СКМ входит набор редакторов: текстовый, формульный, графический редакторы, средства поддержки работы в сети и HTML(XML)-средства, пакеты анимации и аудио-средства.

Одной из старейших и популярнейших систем компьютерной математики является система Maple.

1.2 История и основные принципы системы Maple

Система компьютерной математики Maple — своего рода патриарх в семействе систем символьной математики. Она предоставляет пользователю удобную интеллектуальную среду для математических исследований любого уровня и пользуется особой популярностью в научной среде. Символьный анализатор программы Maple является наиболее сильной частью этого ПО, поэтому именно он был позаимствован и включен в ряд других CКМ, таких как MathCad и MatLab, а также в состав пакетов для подготовки научных публикаций Scientific WorkPlace и Math Office for Word.

Система Maple прошла долгий путь развития и апробации. Она реализована на больших ЭВМ, рабочих станциях Sun, ПК класса IBM PC, Macintosh и др., работающих с операционной системой Windows, Unix, Linux и совместимых.

Maple — система компьютерной алгебры, в основу которой были положены исследования группы ученых, организованной в 1980 году в университете Waterloo (шт. Онтарио, Канада) К. Геддом (Keith Geddes) и Г. Гонэ (Gaston Gonnet) совместно с Высшей технической школой (ETHZ, Цюрих, Швейцария). Компания Waterloo Maple, Inc. была создана для продажи продукта, но занималась больше математической проработкой своего продукта, в результате чего система Maple была больше известна в узком кругу профессионалов. В последующие годы компания работала совместно с более преуспевающей в коммерции и в проработке пользовательского интерфейса математических систем фирмой MathSoft, Inc. — создательницей весьма популярных и массовых систем для численных расчетов MathCad. В настоящее время Maple — продукт компании MapleSoft. которая в настоящее время является подразделением Cybernet Systems Co. Ltd. In Japan (Watcom Products Inc. — 1984 г., Waterloo Maple Inc. — 1988 г.).

На начальном этапе исследователи университета Waterloo разрабатывали систему для внутреннего использования, но сразу после демонстрации на профильных конференциях она заинтересовала преподавателей других университетов. К концу 1983 г. её использовали, более чем 50 университетов. Система с самого начала имеет собственное ядро, которое, как уже было сказано выше, было включено и в целый ряд других СКМ. Например, в Mathcad 11/12/13 и MATLAB (с пакетом расширения Symbolic Math Toolbox).

Началом промышленного распространения СКА Maple считается 1984 год. Последняя версия Maple 2015 выпущена 5 марта 2015 года.

Maple — типичная интегрированная программная система. Она объединяет в себе следующие составляющие:

- редактор для подготовки и изменения документов и программных модулей;

GeekBrains

- ядро алгоритмов (процедуры, написанные на языке С и хорошо оптимизированные) и правил преобразования математических выражений;

- численный и символьный процессоры;

- многооконный пользовательский интерфейс с возможностью работы в диалоговом режиме;

- справочную систему с пояснениями всех функций и опций;

- библиотеки, написанные на Maple-языке;

- поддержку нескольких других языков программирования.

Ядро выполняет большинство базовых операций, а библиотека содержит множество команд — процедур, выполняемых в режиме интерпретации.

Основной документ Maple — рабочий лист (worksheet), работа с которым подобна обычному редактированию в текстовом редакторе. Содержимое документа можно структурировать по секциям, подсекциям и т.д. вплоть до ячеек. Секция может состоять из различных объектов: текстовых комментариев, строк ввода, строк вывода, графиков и других секций (подсекций), а также гиперссылок. Гиперссылка является навигационным средством. Одним щелчком мыши по ней вы можете перейти к другой точке в пределах рабочего листа, к другому рабочему листу, к странице помощи, к рабочему листу на Web-сервере или к любой другой Web-странице.

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

Рабочие окна (листы) системы Maple могут быть использованы либо как интерактивные среды для решения задач, либо как система для подготовки технической документации.

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

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

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

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

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

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

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

Система Maple использует процедурный язык 4-го поколения (4GL). Этот язык специально предназначен для быстрой разработки математических подпрограмм и пользовательских приложений. Синтаксис данного языка аналогичен синтаксису универсальных языков высокого уровня: C, Fortran, Basic и Pascal. Maple может генерировать код, совместимый с такими языками программирования, как Fortran или C, и с языком набора текста LaTeX, который пользуется большой популярностью в научном мире и применяется для оформления публикаций.

Maple является первым универсальным математическим пакетом, который предлагает полную поддержку стандарта MathML 2.0, управляющего как внешним видом, так и смыслом математики в Интернете. Эта эксклюзивная функция делает текущую версию MathML основным средством Интернет-математики.

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

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

К недостаткам системы Maple можно отнести лишь ее некоторую медлительность, а также очень высокую стоимость этой программы. Тем не менее версия Maple М R4 распространяется свободно в виде демо-версии. Это практически полноценная версия, не требующая паролей и регистрации. Данной версии достаточно для обучения и решения не очень сложных задач.

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

компьютерный математика maple уравнение

Глава 2. Решение уравнений и неравенств в системе Maple

В этой главе рассмотрим методику решения уравнений, неравенств и систем, а также проверку правильности полученных решений.

2.1 Решение уравнений

Решение линейных и нелинейных уравнений и неравенств — одна из важнейших областей математического анализа. Maple имеет мощные средства для такого решения.

Для решения линейных и нелинейных уравнений в аналитическом виде используется достаточно универсальная и гибкая функция solve (eqn, var) или solve(,), где eqn — уравнение, содержащее функцию ряда переменных, var — переменная, по которой ищется решение. Если при записи eqn не используются знак равенства или знаки отношения, считается, что solve ищет корни уравнения eqn=0.

Характер решений можно изменить с помощью глобальных переменных:

? _So1utionsMayBeLost — при значении true дает решение, которое при обычном применении функции solve возвращает значения NULL;

? _MaxSols — задает максимальное число решений;

? _EnvAllSolutions — при значении true задает выдачу всех решений.

В решениях могут встречаться следующие обозначения:

? _NN — указывает на неотрицательные решения;

? _В — указывает на решения в бинарной форме;

? _Z — указывает на то, что решение содержит целые числа;

? %N — при текстовом формате вывода задает общие члены решения и обеспечивает более компактную форму его представления.

В форме solve[subtopic] возможны параметры subtopic функции solve следующих типов: floats, functions, identity, ineq, linear, radical, scalar, series, system.

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

Решение одиночных нелинейных уравнений вида обеспечивается функцией solve(f(x),x). Продемонстрируем это на примерах:

Функция solve старается дать решение в аналитическом виде. Это не означает, что ее нельзя использовать для получения корней уравнений в численном виде. Для этого придется использовать функции evalf или convert.

где знак % означает результат предыдущей операции. Или можно сразу записать следующим образом:

Бывает удобно представлять уравнение и его решение в виде отдельных объектов, каждый из которых отождествлен с определенной переменной:

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

В частности, это позволяет легко проверить решение (даже если оно не одно) подстановкой (subs):

Уравнения вида также решаются с помощью функции solve(f1(x)=f2(x),x). Рассмотрим примеры.

Если результат решения представлен через функцию RootOf, то часто можно получить все корни с помощью функции evalf:

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

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

Рассмотрим следующий пример:

Получили не решение уравнения, а решение неравенства. Делаем вывод, что корнями могут быть только два значения 0 и 2. Значение 2 не входит в ОДЗ, поэтому его отбрасываем. С помощью проверки убеждаемся, что x=0 является корнем

Рассмотрим примеры решения иррациональных уравнений.

Рассмотрим решение логарифмического и показательного уравнений.

Функция solve может использоваться для решения тригонометрических уравнений:

Из примеров видим, что найдено только одно (главное) решение уравнения. Так как тригонометрические функции являются периодическими, то каждое уравнение имеет множество решений, но Maple это проигнорировал. Попытаться найти все периодические решения можно с помощью следующей команды:

Данная системная переменная отвечает за поиск всех периодических решений, если ее значение равно true, и находит только главное решение при значении false.

В решениях встречаются переменные и , означающие ряд натуральных чисел. Переменная принимает значения из множества <0,1>, а значения принадлежат множеству целых чисел. Таким образом, ответ можно записать следующим образом

или можно записать в привычном виде

Решим еще одно тригонометрическое уравнение:

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

Решим иррационально-тригонометрическое уравнение

Ответ можно записать в виде .

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

Полученное решение не полное. Перепишем модуль через квадратный корень

Это решение является полным.

Иногда решение уравнений полезно проводить двумя способами — графическим и аналитическим. Решим уравнение и построим график левой и правой частей уравнения.

> restart; y1:=sin(x); y2:=cos(x)-1;

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

Для получения численного решения нелинейного уравнения или системы нелинейных уравнений в форме вещественных чисел удобно использовать функцию fsolve(eqns, vars, options).

Эта функция может быть использована со следующими параметрами:

&#45; сomplex — находит один или все корни полинома в комплексной форме;

&#45; fulldigits — задает вычисления для полного числа цифр, заданного функцией Digits;

&#45; maxsols=n — задает нахождение только n корней;

&#45; interval — задается в виде a..b или и обеспечивает поиск корней в указанном интервале.

Функция fsolve дает решения сразу в форме вещественных или комплексных чисел, что и показывают следующие примеры:

Локализация поиска корней в заданном интервале позволяет отыскивать такие решения, которые не удается получить с помощью функций solve и fsolve.

Покажем различие между функциями solve и fsolve. Для этого рассмотрим решение c их помощью одного и того же уравнения erf(x)=1/2

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

Иногда нужны только те корни, которые являются целыми числами. Для этого используется функция isolve(eqns,vars), дающая решение в виде целых чисел. Рассмотрим примеры применения:

Введение

Системы компьютерной математики (СКА) творят чудеса. Развитие математических пакетов достигло того уровня, когда невольно закрадывается мысль — а зачем нам теперь нужны классические методики преподавания математики (или физики, или механики) в школе или вузе, если большую часть «грязной» работы по преобразованию выражений можно переложить на плечи машины. А если нельзя, или трудно получить аналитическое решение задачи, то почему бы не «прощелкать» её численно в одном из популярных пакетов. Так что, давайте ограничим уровень понимания учеников составлением исходной системы уравнений, а решать учить не будем — всё легко и непринужденно сделает за них компьютер.

Не буду скрывать, что катализатором для написания данного поста послужила статья про задачу о двух старушках, любительницах пеших прогулок, взятая из книги В. И. Арнольда. В связи с этим, появилась мысль рассмотреть простую математическую задачу, решение которой показывает, что возможности СКА часто упираются в, довольно закономерный, верхний предел, и для получения компактного решения, пригодного для дальнейшего анализа, необходимо таки немного напрячь извилины.

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

Когда, в не слишком далеком 2003 году я начал работать над кандидатской диссертацией, я столкнулся с необходимостью решать систему тригонометрических уравнений вида

Параметры a, b, A, B — положительны. На корни уравнения накладываются условия

Где мы сталкиваемся с такими системами? При расчете кинематики замкнутых четырехзвенников, например. Такой замкнутый четырехзвенник был в моей работе, почти такой же попался мне около года назад, когда я взялся сделать «шабашку» (помог одному профессору в его работе).

Тогда, в 2003-м я только познакомился с системой Maple и был в восторге от её возможностей, естественно я поручил эту систему ей. И меня ждал «облом»… Посмотрим, какое решение дают Maple 18 и Mathematica 10 для этой задачи сегодня.

2. Решение задачи в СКА «в лоб»

В моем любимом Maple задаем систему уравнений

и пробуем решить

и получаем…

Эта бяка не влезла в онлайн-LaTeX, поэтому пришлось привести скриншот. Такой результат получается из-за того, что постановка задачи слишком общая. Необходимо указать системе, какое решение нас интересует, воспользовавшись условием (3)

В этом случае результат выглядит получше

Ещё раз попрошу прощения у читателя за корявый скриншот и замечу, что мы получили два решения системы (1) — (3) и нам теперь ещё предстоит разобраться, какой ответ соответствует механическому смыслу задачи (он там есть, да), а учитывая, что за a, b, A и B могут таится довольно значительные выражения (не зависящие, естественно, от x и y) нам должно стать довольно грустно в этот момент.

У системы Mathematica 10 с этими уравнениями лучше дела обстоят в том смысле, что она получает конечную форму общего решения, часть которого на скрине

Если систему дополнить условием (3), то Вольфрам говорит нам, что Solve[. ] не имеет метода решения для такого случая (был бы признателен читателю за подсказку по этому вопросу, ибо считаю что сам я вопрос изучил не полностью, а пока продолжу повествование).

Кроме того, обе СКА выдают в решении богомерзкий арктангенс, который не всегда удобен по разным причинам, о которых говорить не буду — в каждом случае причины свои.

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

3. СКА + головной мозг

Чтобы получить достаточно компактное решение, надо преобразовать систему (1) — (3) к линейной относительно неизвестных. Для этого надо воспользоваться школьными знаниями по тригонометрии.

Итак, возведем уравнения (1) и (2) в квадрат и сложим, перенеся всё, что не зависит от x и y в правую часть уравнения

используя формулу «косинус суммы», получим новое уравнение

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

Линейное уравнение оно и в Африке линейное — найдя одну неизвестную, получим и другую. Займемся другой неизвестной, исключив x из одного их уравнений. Так как у нас есть условие (3), то очевидно, что

а это дает нам возможность воспользоваться основным тригонометрическим тождеством без неоднозначности «плюс-минус»

Косинус икса берем из первого уравнения

получая, таким образом для синуса икс

Чтобы не пыхтеть над бумагой, поручим всё это Maple

имея на выходе уравнение

Уравнение (7) надо возвести в квадрат и провести некоторые преобразования

придя к уравнению вида

А теперь выполним, известный многим, «финт ушами»

то есть, делим обе части уравнения на и сворачиваем левую часть по формуле косинуса суммы, справедливо полагая что

Получаем новое уравнение,

которое успешно решаем относительно y

Как видим, игрек вышел довольно компактным. Возвращаемся к уравнению (5) и находим икс

А теперь сравнив полученное с вышеприведенными «крокодилами», сделаем

Выводы

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

GeekBrains

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

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