Система компьютерной математики 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. Решение уравнений и неравенств в системе Maple
    • 2.1 Решение уравнений
    • 2.2 Решение систем уравнений
    • 2.3 Решение неравенств
  • Заключение
  • Список использованных источников
  • Введение
  • Системы компьютерной математики (СКМ) находят все более широкое применение во многих областях науки таких как математика, физика, химия, информатика и др., техники, технологии, образовании и т.д. СКМ типа Maple, Mathematica, MathCad, MuPAD, Macsyma, Reduce, Axiom и Magma становятся все более популярными для решения задач преподавания математически ориентированных дисциплин, как в научных исследованиях, так и в промышленности. Данные системы являются мощными инструментами для ученых, инженеров и педагогов. Исследования на основе СКМ-технологии, как правило, сочетают алгебраические методы с продвинутыми вычислительными методами. В этом смысле СКМ - междисциплинарная область между математикой и информатикой, в которой исследования сосредотачиваются как на разработке алгоритмов для символьных (алгебраических) вычислений и обработки на компьютерах, так и на создании языков программирования и программной среды для реализации подобных алгоритмов и базирующихся на них проблем различного назначения.
  • Целью курсовой работы является изучение основных принципов системы компьютерной математики Maple. Исходя из указанной цели, можно выделить частные задачи, поставленные в курсовой работе:

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

? изучение основных принципов системы 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 - типичная интегрированная программная система. Она объединяет в себе следующие составляющие:

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

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

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

- язык программирования;

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

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

- библиотеки, написанные на 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({eqnl,eqn2... .},{varl,var2,...}), где 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(x^2-2*x+1,x);

1.1

> solve(x^2-5*x+1,x);

> solve(sqrt(ln(x))-2,x);

> evalf(%);

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

> evalf(%);

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

> evalf(solve(x^2-5*x+1,x));

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

> eq:=2*x^2+x+3=0;

> s:=[solve(eq,x)];

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

> s[1];

> s[2];

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

> subs(x=s[1],eq);

> subs(x=s[2],eq);

> evalf(%);

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

> solve(x^2=3*x+4,x);

> eq1:=(x^2+1)/(x-4);

> eq2:=23+(x^2-1)/(x+3);

> solve(eq1=eq2,x);

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

> solve(x^4=-x-1,x);

> evalf(%);

> solve(exp(x)=sin(x),x);

> evalf(%);

> solve(x^4=2*x,x);

> evalf(%);

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

> eq:=b/(x-a)+a/(x-b)=2;

> solve(eq,x);

> solve(eq,a);

> solve(eq,b);

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

> eq:=5*x^2+abs(x+7)-13=0;

> y:=[solve(eq,x)];

> subs(x=y[1],eq);

> subs(x=y[2],eq);

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

> eq:=(abs(x+1)-3)/(abs(x)-2)=1;

> solve(eq,x);

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

> subs(x=0,eq);

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

> eq:=sqrt(15-x)+sqrt(3-x)=6;

> solve(eq,x);

> eq:=(1+sqrt(x))^(1/3)+(1-sqrt(x))^(1/3)=2;

> solve(eq,x);

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

> eq:=3*log10(x^2)-(log10(-x))^2=9;

> solve(eq,x);

> eq:=5^(x+1)-2*9^(x-1)=4*5^x+3^(2*x-1);

> solve(eq,x);

> evalf(%);

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

> solve(cos(x)=0.5,x);

> solve(cos(x)=1/2,x);

> solve(sin(x)=cos(x)-1,x);

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

> _EnvAllSolutions:=true;

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

> solve(cos(x)=1/2,x);

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

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

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

> eq:=3*sin(2*x)^2+7*cos(2*x)-3=0;

> solve(eq,x);

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

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

> eq:=sqrt(1-cos(2*x))=sqrt(6)*cos(x);

> solve(eq,x);

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

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

Рассмотрим пример.

> eq1:=abs(sin(2*x))=cos(x);

> solve(eq1,x);

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

> eq2:=sqrt(sin(2*x)^2)=cos(x);

> solve(eq2,x);

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

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

> solve(sin(x)=cos(x)-1,x);

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

> plot([y1,y2],x=-10..10);

Рис. 1

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

> eq:=2*arcsin(x)-arccos(4*x);

> solve(eq,x);

> eq:=2*arccos(x)-arctan(x);

> solve(eq,x);

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

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

- сomplex - находит один или все корни полинома в комплексной форме;

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

- maxsols=n - задает нахождение только n корней;

- interval - задается в виде a..b или {x=a..b, y=c..d, …} и обеспечивает поиск корней в указанном интервале.

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

> fsolve(cos(x)=Pi/4,x);

> fsolve(2*x^2+x-1=10,x);

> fsolve(x^5-x,x);

> fsolve(x^5-x,x,complex);

> solve(erf(x)=1/2,x);

> fsolve(cos(x)=Pi/4,x=4..8);

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

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

> solve(erf(x)=1/2,x);

> evalf(%);

> fsolve(erf(x)=1/2,x);

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

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

> solve(x^4-x^3+2*x-2=0,x);

> isolve(x^4-x^3+2*x-2=0,x);

> solve(x^4-2*x^3+x-10=0,x);

> isolve(x^4-2*x^3+x-10=0,x);

Последнее уравнение не имеет целых корней.

> isolve(2*x-5=3*y);

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

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

solve({eq1,eq2,…,eqn},{x1,…,xn})

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

> restart; with(plots):

Warning, the name changecoords has been redefined

> sys:={3*x+5*y=15, y=x-1};

> solve(sys,{x,y});

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

> implicitplot(sys,x=-10..10,y=-10..10,color=blue);

Рис. 2

Видим, что решение найдено верно.

> sys:={2*x+2*y-z=3, x-y+z=2, 2*x+y+z=7};

> solve(sys,{x,y,z});

> sys:={5*x+3*y=30, 10*x+6*y=-30};

> solve(sys,{x,y});

При решении этого уравнения функция solve не возвращает никакого результата. Проиллюстрируем решение графически

> implicitplot(sys,x=-10..10,y=-10..10,color=green);

Рис. 3

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

Решим систему из четырех линейных уравнений

> sys:={4*x1+7*x2-x3+3*x4=11,

-2*x1+2*x2-6*x3+x4=4,

x1-3*x2+4*x3-x4=-3,

3*x1-5*x2-7*x3+5*x4=8};

> solve(sys,{x1,x2,x3,x4});

Рассмотрим решение неполной системы уравнений (3 уравнения и 4 неизвестных):

> sys:={x1+2*x2+3*x3+4*x4=51,

x1-3*x2+4*x3+x4=32,

x1+2*x2-6*x3+x4=-23};

> solve(sys,{x1,x2,x3,x4});

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

> s:=solve({x*y=2,x+y=3},{x,y});

> solve({x*y=a,x+y=b},{x,y});

> allvalues(%);

Функция allvalues позволяет найти все решения уравнения, если его решение представлено через функцию RootOf.

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

> sys:={x^2*y+x*y^2=6, x*y+x+y=5};

> solve(sys,{x,y});

> evalf(%);

> sys:={cos(x)+cos(y)=sqrt(3),x+y=Pi/3};

> solve(sys,{x,y});

2.3 Решение неравенств

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

> restart;

> solve(5*x>10,x);

> solve(5*x>=10,x);

> solve(ln(x)>5,x);

> solve(exp(x)>5,x);

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

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

> solve(x^2-2*x-3>0,x);

> plot(x^2-2*x-3,x=-3..4,y=-4..3);

Рис. 4

> eq:=abs(x)^2/(x+1)<exp(2)/(exp(1)-1);

> solve(eq,{x});

> eq:=(x-1)*(x-2)/(x-3)-1;

> solve(eq<0,x);

> plot(eq,x=-3..4,y=-4..3);

Рис. 5

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

> eq:=sqrt(24-10*x+x^2)>x-4;

> solve(eq,x);

а также логарифмические неравенства:

> eq:=log[2*x](x^2-5*x+6)<1;

> solve(eq,x);

Системы неравенств также решаются с помощью функции solve:

> sys1:={(x-1)/2-(2*x+3)/3+x/6<2-(x+5)/2,1-(x+5)/8+(4-x)/2<3*x-(x+1)/4};

> solve(sys1,x);

Рассмотрим решение системы неравенств c помощью функции solve:

> sys1:={(x-1)/2-(2*x+3)/3+x/6<2-(x+5)/2,1-(x+5)/8+(4-x)/2<3*x-(x+1)/4};

> solve(sys1,x);

Получили решение системы. Эту же систему можно решить в целых числах:

> isolve(sys1,x);

Рассмотрим еще один пример. Найти все целые значения параметра b, при которых значение x=2 удовлетворяет неравенству

Для решения данного неравенства используем функцию subs и функцию isolve

eqs:=(x^3-x^2)/(b^2*x^2+x+2)<=(x^2-3)/(b^2*x+b-1);

> subs(x=2,eqs);

> isolve(%,b);

Заключение

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

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

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

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

Maple также имеет и свой язык процедурного программирования - Maple-язык. Этот язык имеет вполне традиционные средства структурирования программ: операторы циклов, операторы условных переходов, функции пользователя, процедуры и т.д.

Несмотря на возможности программирования и ориентацию на решение сложных задач, решение простых задач вполне возможно и уместно.

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

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

Рассмотрено применение функции solve для решения нелинейных, трансцендентных и иррациональных уравнений. Отдельно рассмотрено решение тригонометрических уравнений, показано, что функция solve дает только главное решение тригонометрического уравнения, но все периодические решения можно получить с помощью команды _EnvAllSolutions:=true.

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

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

Приведено большое количество примеров.

Результатам, полученные в Maple, можно доверять. Maple - первая компьютерная программа, прошедшая тестирование с результатом 100%.

Список использованных источников

1. Аладьев В.3., Бойко В.К., Ровба Е.А. Программирование и разработка приложений в Maple. Гродно, Таллин, 2015.

2. Говорухин В.Н., Цибулин В.Г. Введение в Maple. Математический пакет для всех. - М: Мир, 1997. - 208 с.

3. Дьяконов В.П. Maple 7. Учебный курс. - СПб.: Питер, 2002. - 672 с.

4. Дьяконов В.П. Maple 9.5/10 в математике, физике и образовании. - М.: СОЛОН-Пресс, 2006. - 720 с.

5. Дьяконов В.П. Энциклопедия компьютерной алгебры. - М.: ДМК Пресс, 2009. - 1265 с.

6. Манзон Б.М. Maple V Power Edition. - М: Информационно-издательский дом Филинъ, 1998. - 240 с.

7. Савотченко С. Е., Кузьмичева Т.Г. Методы решения математических задач в Maple: Учебное пособие - Белгород: Изд. Белаудит, 2001. - 116 с.

8. Сдвижков О.А. Математика на компьютере: Maple 8. - М.: СОЛОН-Пресс, 2003. - 173 с.

9. Прохоров Г.В., Колбеев В.В., Желнов К.И., Леденев М.А. Математический пакет Maple V Release 4: Руководство пользователя. - Калуга: Облиздат, 1998. - 200 с.

10. Таранчук В.Б. Основные функции систем компьютерной алгебры: пособие для студентов. - Минск: БГУ, 2013. - 59 с.

11. Образовательный математический сайт Exponenta.ru

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [1,5 M], добавлен 12.01.2016

  • Современные системы компьютерной математики. Графический способ решения уравнений с параметрами. Возможности системы Mathcad для создания анимации графиков функций. Процесс создания анимации. Использование анимационной технологии систем математики.

    контрольная работа [617,1 K], добавлен 08.01.2016

  • Алгебраїчні перетворення в Maple за допомогою вбудованих функцій елементарних перетворень. Позбавлення від ірраціональності в знаменнику. Побудування графіку функції в пакеті Maple-8. Пакет plottools – пакет для створення та роботи з графічними об’єктами.

    контрольная работа [2,4 M], добавлен 18.07.2010

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

    курсовая работа [307,5 K], добавлен 04.06.2013

  • Вопросы программирования в Maple версий 6-11 и разработка приложений. Рассматривает эффективные приемы программирования и разработки приложений для многих разделов техники, математики, физики, для решения которых пакет не имеет стандартных средств.

    монография [4,8 M], добавлен 13.03.2008

  • Команды, используемые при решении уравнений и их систем, неравенств и их систем в системе аналитических вычислений Maple. Выражения, соединенные знаком равенства. Проверка типа переменной. Решение одного уравнения относительно заданной переменной.

    лабораторная работа [41,7 K], добавлен 15.07.2009

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

    презентация [1,6 M], добавлен 29.04.2019

  • Використання встроених функцій елементарних перетворень пакету Maple. Зображення основних геометричних фігур. Використання функції RootOf для позначення будь-якого кореня виразу, заданого як її параметр. Оператор виділення повного квадрату в чисельнику.

    контрольная работа [2,8 M], добавлен 18.07.2010

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

    контрольная работа [51,5 K], добавлен 07.05.2009

  • Прикладной математический пакет Maple. Набор инструментов для работы с дифференциальными уравнениями в частных производных. Метод разделения переменных. Метод функций Грина. Построение формального решения на входном Maple-языке. Основные типы операций.

    курсовая работа [193,2 K], добавлен 03.08.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.