авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:   || 2 | 3 |
-- [ Страница 1 ] --

Федеральное агентство по образованию Российской Федерации

АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Математический факультет

Серия «Системы компьютерной

алгебры»

С.П. Семенов, В.В. Славский, П.Б. Татаринцев

СИСТЕМЫ КОМПЬЮТЕРНОЙ

МАТЕМАТИКИ

Издательство Алтайского госуниверситета

Барнаул – 2004

УДК 517

С.П. Семенов, В.В. Славский, П.Б. Татаринцев. Системы компьютерной ма-

тематики. Учебное пособие для студентов математического факультета АГУ/ Барнаул:. Изд-во Алт. ун-та, 2004.– 128 с.

Рецензенты:

доктор физико-математических наук, профессор, зав. кафедрой высшей математики Алтайского государственного технического университета Г.В. Пышнограй, доктор физико-математических наук, профессор, зав. кафедрой гео метрии Барнаульского государственного педагогического университета Е.Д. Родионов Рекомендовано НМС по математике и механике УМО по классическому университетскому образованию (Самара, 19-23 апреля 2004 года).

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

Библиогр. 15.

Илл.22.

Сергей Петрович Семенов, Виктор Владимирович Славский, Павел Борисович Татаринцев, 2004 г.

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

В последние годы в процесс математического образования все настой чивее и успешнее внедряются системы компьютерной математики (СКМ), такие как DERIVE, MathCad, MatLab, Maple, Mathematica. Одними из наи более популярных СКМ являются пакеты DERIVE и MathCad. Они осво бождает обучаемого от проведения громоздких, рутинных выкладок, одно типных вычислений и позволяет сосредоточиться непосредственно на ана лизе моделируемого явления. В отличии от создания программ с помощью алгоритмических языков, диалог с пакетом СКМ происходит на достаточно естественном языке, используются традиционные обозначения и способы написания формул. Данная компьютерная технология особенно эффектив на при решении разнообразных прикладных задач, прежде всего математи ческого моделирования в науке, технике, экономике. Несомненным досто инством современных СКМ является прекрасные графические возможнос ти, что позволяет сделать наглядными многие математические понятия и методы.

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

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

В преподавательской среде математиков существует обоснованное опасение, что использование систем компьютерной математики «испортит»

математическую подготовку школьников, подобно тому, как «калькулятор разучил их считать». Выход видится в разнесение во времени обучению клас сическим понятиям и методам элементарной математики и применению СКМ. Здесь в полной мере должна проявиться квалификация и искусство преподавателя. Очевидно, что успешное использование систем СКМ воз можно только при условии знания основ математики. Более того, чтобы ис пользовать все возможности таких пакетов как MatLab, Maple, Mathematica нужна весьма высокая математическая культура.

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

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

Пособие содержит начальные сведения по теоретическим основам компьютерной алгебры, обзор математических пакетов (Matlab, Mathematica, Derive, MathCad, Maple и некоторых других), использующих компьютер ную алгебру. В пособии представлены план-конспекты лабораторных заня тий с заданиями, варианты индивидуальных заданий.

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

В создании данного пособия активное участие принимали студенты и сотрудники математического факультета Алтайского госуниверситета. Ав торы считают своим приятным долгом выразить особую благодарность М.

Мироновой и Е. Дурандиной за неоценимую помощь в подготовке данного издания.

Отличия второго издания — во введении обзор математических паке тов дополнен новыми сведениями, переработан первый раздел, посвящен ный пакету Derive — бурное развитие копьютерной техники и программно го обеспечения подталкивают к осваиванию новых, все более совершенных версий математических программ, поэтому данный раздел был переориен тирован на изучение пятой версии Derive, работающей под управлением ОС Windows. Индивидуальные задания теперь приводятся в конце каждой главы и направлены на закрепление навыков, полученных при рассмотре нии темы. Второй раздел, посвященный пакету MathCad остался без изме нений. Были исправлены ошибки и неточности, выявленные на практичес ких занятиях.

Введение Обзор систем компьютерной математики Целью данного курса является приобретение практических навыков работы с современными математическими пакетами. Что такое математи ческий пакет? Если коротко — это программный продукт, позволяющий общаться с персональным компьютером на языке математики, а не програм мирования.

В конце 50-х годов, в связи с решением задач небесной механики (рас чет траекторий движения ИСЗ), многими исследователями была осознана необходимость автоматизировать длинные математические выкладки, как следствие начали появляться первые компьютерные системы для символь ных (аналитических) преобразований на ЭВМ.

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

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

В литературе различают универсальные и специализированные СКА.

В данном курсе рассматриваются универсальные СКА.

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

Современные СКА не ограничиваются простейшими действиями и упрощением выражений.

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

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

вычислять наибольший общий делитель полиномов;

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

Многие действия математического анализа доступны СКА:

дифференцирование, включая нахождение частных производных;

интегрирование элементарных функций;

разложение в ряды и многое др.

В СКА имеются встроенные операции над матрицами с символьными элементами:

сложение, умножение;

обращение матриц;

вычисление определителей;

решение систем линейных алгебраических уравнений.

Пользователь СКА обладает возможностью:

управлять процессом упрощения математических выражений;

выполнять подстановки;

выделять части формул;

получать численные значения формул.

Как правило, СКА предоставляют возможность определять новые (соб ственные) функции, которые затем используются наравне со встроенными.

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

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

Важным достоинством СКА являются развитые 2-х и 3-х мерные гра фические возможности.

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

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

Наиболее известными на сегодняшний день среди универсальных СКА являются Matlab, MathCad, Maple, Mathematica и Derive.

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

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

Основные функции: быстрые и точные численные алгоритмы;

графи ка для анализа и отображения данных;

интерактивный язык и среда про граммирования;

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

интерфейсы с внешними языками, такими как С, С++, Fortran и Java;

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

преобразование MATLAB приложений в С и С++.

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

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

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

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

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

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

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

В среде Mathematica содержится язык программирования современ ного высокого уровня с более емким и естественным функциональным сти лем и стилем правил преобразований.

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

DERIVE — cамая маленькая из систем компьютерной алгеб ры. Последняя версия Derive под MS-DOS может работать на «древних» ПК даже без жесткого диска, целиком помещаясь на загрузочной дискете. При этом система имеет многоокон ный интерфейс и управляется простой системой меню. Derive тщательно опробованная, надежная и быстрая система. Ядро Derive cодержит около 1000 функций и 23 тысячи строк программного кода. Удивительная компактность ядра связана с использованием языка программирования экс пертных систем LISP.

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

Эта книга является методическим пособием, содержащим лаборатор ные работы позволяющие освоить системы Derive и MathCad.

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

Упрощение полиномиальных уравнений.

Определение 1. Коммутативным кольцом {R, +, •} называется мно жество с двумя бинарными операциями сложением + и умножением • оп ределенными на R и такими, что {R, +} есть коммутативная группа, и a, b, c R выполнены свойства:

коммутативность умножения a • b = b • a ассоциативность умножения ( a•b) •c = a•(b•c) дистрибутивность ( a + b) • c = a • c + b • c.

Пример 1. {Z, +, •} — коммутативное кольцо.

Определение 2. Пусть {R, +, •} коммутативное кольцо с мультипли кативной единицей, {R, +, •} — называется полем если каждый ненулевой элемент из R имеет обратный элемент относительно умножения.

Пример 2. {Q, +, •}, {R, +, •}, {C, +, •} — поля. Но {Z, +, •} — не явля ется полем.

Определение 3. Пусть N множество неотрицательных целых чисел.

Обозначим через = (1, 2,…, n ) N n — мультииндекс, а через x1,x2,… xn — n переменных. Тогда моном x от переменных x1,x2,… xn есть произве дение x = x11 x22 xnn. Полной степенью монома называют число = 1 + 2 + … + n.

Пример 3. x5y2z, x4y3 мономы от x, y, z. Полной степени соответствен но 8 и 7.

Определение 4. Полиномом f от переменных x1,x2,… xn с коэффициен тами из поля K называют конечную линейную комбинацию мономов f ( x1, x2,…, xn ) = a x с коэффициентами из поля K.

Степень полинома f по определению максимум при условии a 0.

Множество всех таких полиномов — K [ x1, x2,…, xn ], образует кольцо по линомов от n неизвестных с коэффициентами из поля K.

Определение 5. Подмножество A K [ x1, x2,…, xn ] называется иде алом, если выполнены условия:

f, g A : f + g A и f K [ x1, x2,…, xn ], g A : f g A.

Определение 6. Идеал A порожден семейством образующих G = { f1, f 2,…, f s }, если каждый элемент из A есть линейная комбинация этих образующих с полиномиальными коэффициентами s A = hi fi : h1, h2,…, hs K [ x1, x2,…, xn ].

i =1 Теорема 1 (Гильберта). Любой идеал A K [ x1, x2,…, xn ] имеет се мейство образующих, состоящее из конечного числа элементов.

Определение 7. Два полинома f(x) и g(x) эквивалентны относительно некоторого идеала A, если их разность принадлежит этому идеалу A.

Пример 4. Рассмотрим механическую систему, образованную двумя стержнями длины 1 и 2 лежащими на плоскости. Положение системы опре деляется четырьмя переменными (две точки по две координаты каждая), подчиненными соотношениям f1 = ( x1 x2 ) + ( y1 y2 ) 1 = 2 (*) f 2 = ( x1 x3 ) + ( y1 y3 ) 4 = 2 или, может быть, соотношениям f1 = ( x1 x2 ) + ( y1 y2 ) 1 = 2 f1 f 2 = ( 2 x1 x2 x3 )( x1 x3 ) + ( 2 y1 y2 y3 )( y1 y3 ) + 3 = Вообще любые полиномы из идеала A = { f1, f 2 } обращаются на множестве (*) в нуль и могут использоваться как определяющие соотношения. Поэто му естественно (так это делается в алгебраической геометрии) перейти от системы уравнений к идеалу, порожденному этими соотношениями. В ре зультате получится однозначное соответствие между геометрическими объектами (алгебраическими многообразиями) и чисто алгебраическими объектами — идеалами.

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

Для приложений наиболее интересны два вопроса. Когда две системы образующих порождают один идеал? Как выяснить, эквивалентны ли два полинома относительно данного идеала?

Редукция полиномов.

Будем предполагать следующий порядок на переменных x1 x2 … xn. Введем отношение порядка на множестве мультиндек сов Nn или что тоже самое на мономах кольца K [ x1, x2,…, xn ], удовлетворя ющее двум условиям: 1) если a b, то для любого монома c имеем ac bc;

2) для любых мономов a и b, если b 1, то a ab.

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

лексикографический x lex x i0 i0 0, где i0 = min {i : i i } ;

общей степени, затем лексикографический x glex x ( ) ( = ( lex )) ;

общей степени, затем обратный лексикографический x grevlex x ( ) ( = ( revlex )), где revlex обратный лексикографический (Reverse Lex) порядок.

Пример 5.

(3, 2,1) = lex = (1, 2, 4) ;

(2, 4,1) = glex = (1, 6, 0) здесь = = 7 ;

(1,3,1) = grevlex = (1, 2, 2) здесь = = 5.

Любой полином можно записать в порядке убывания своих мономов f = a x.

Определение 8. Пусть f K [ x1, x2,…, xn ] ненулевой полином, поло жим:

Мультистепень f: multideg ( f ) = max { N : a 0} ;

n multideg ( f ) Старший моном f: LM ( f ) = x ;

Старший коэффициент f: LC ( f ) = amultideg ( f ) ;

Старший член f: LT ( f ) = amultideg ( f ) x multideg ( f ).

Пример 5. Пусть f ( x, y, z ) = 2 x 2 y 8 3x5 yz 4 + xyz 3 xy 4 полином из R [ x, y, z ].

Полином f упорядоченный по отношению порядка lex f ( x, y, z ) = 3x5 yz 4 + 2 x 2 y8 xy 4 + xyz 3, multideg ( f ) = (5,1, 4), LM ( f ) = x5 yz 4, LC ( f ) = 3, LT ( f ) = 3x5 yz 4.

Полином f упорядоченный по отношению порядка grevlex f ( x, y, z ) = 2 x 2 y 8 3x5 yz 4 xy 4 + xyz 3, multideg ( f ) = (2,8, 0), LM ( f ) = x 2 y 8, LC ( f ) = 2, LT ( f ) = 2 x 2 y8.

Определение 9. Пусть G — конечное множество полиномов и — фиксированное отношения порядка, удовлетворяющее сформулированным выше условиям. Говорят, что полином f редуцирован относительно G, если ни один старший моном элемента множества G не делит старшего моно ма полинома f.

Если полином f нередуцирован, то можно исключить его старший мо ном, вычитая из f кратное некоторого элемента множества G, (в результате multideg(f) станет меньше);

новый полином будет эквивалентен относитель но идеала, порожденного множеством G. Этот процесс называется редук цией полинома f относительно G.

Следует отметить, что полином может иметь несколько редукций от носительно G.

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

Пример 6. Пусть f ( x, y ) = x 7 y 2 + x 3 y 2 y R [ x, y ], отношение по рядка glex, множество полиномов G = {xy 2 x, x 2 y y 3 }. Редукцию можно выполнить либо одним способом f g1 x 7 + x3 y 2 y, либо другим f g2 x 5 y 2 + x 3 y 2 y g1 x 5 + x 3 y 2 y.

Определение 10. Полином f вполне редуцирован относительно G, если ни один моном полинома f не делится ни на один старший моном элемента множества G.

Пример 7. Продолжая редукцию в предыдущем примере, получим вполне редуцированный полином x 5 + x 3 y 2 y g1 x 5 + x 3 y.

Следующую теорему можно рассматривать как обобщение известно го алгоритма деления полиномов от одной переменной f = qg + r, g 0, deg r deg g, f, g, q, r K [ x1 ].

Теорема 2. Пусть G = { f1, f 2,…, f s } — упорядоченный набор полино мов из кольца K [ x1, x2,…, xn ]. Тогда для произвольного полинома f из K [ x1, x2,…, xn ] найдутся полиномы q1, q2,…, qs, r K [ x1, x2,…, xn ] такие, что f = q1 f1 + q2 f 2 + … + qs f s + r, где r либо 0, либо вполне редуцирован от носительно G.

Определение 11. Пусть f, g K [ x1, x2,…, xn ] — два полинома.

J = HOK ( LM(f ),LM(g ) ) — наименьшее общее кратное старших мономов.

J J Положим S poly ( f, g ) = f g.

LT(f ) LT(g ) f = xy 2 z xyz, g = x 2 yz z 2.

Пример 8. Пусть Тогда J = HOK ( LM(f ),LM(g ) ) = HOK ( xy 2 z, x 2 yz ) = x 2 y 2 z, J J g = xf yg = x 2 yz + yz 2.

S poly ( f, g ) = f LT(f ) LT(g ) Определение 12 (Базис Гребнера). Пусть G = { f1, f 2,…, f s } — конеч ный набор полиномов. Тогда G называется базисом Гребнера тогда и толь ко тогда, когда g, h1, h2, при условии, что h1 и h2 нормальные формы поли нома g относительно G, h1 = h2.

g, h1, h2 g G h1, g G h2 h1 = h2.

Теорема 3. Пусть G = { f1, f 2,…, f s } — конечный набор полиномов, A — идеал порожденный множеством G. Следующие утверждения эквива лентны:

G — базис Гребнера;

fi, f j G : S poly ( fi, f j ) редуцируется к нулю относительно G;

любая редукции элемента f идеала A к редуцированному полиному от носительно G всегда дает нуль.

Пример 9. Пусть идеал порожден тремя полиномами g1 = x 3 yz xz 2, g 2 = xy 2 z xyz, g 3 = x 2 y 2 z.

Базис Гребнера этого идеала (относительно лексикографического по рядка x y z) образуют полиномы = xy 2 z xyz, g = x2 y 2 z, g = x 2 yz z 2, g = yz 2 z 2, g = x2 z 2 z3.

g Базис Гребнера этого же идеала (относительно обратного лексикогра фического порядка z y x) образуют полиномы g3 = x2 y 2 z g7 = x3 y 4 x 3 y Базис Гребнера может содержать как больше так и меньше полино мов, чем исходный. Из этой теоремы следует алгоритм построения базиса Гребнера, сначала проверяется исходный базис. Вычисляются S–poly для всех его элементов и находятся их редукции относительно G. Если редукция не которого S–poly не равна нулю, то этот полином присоединяется к базису (идеал при этом не меняется). Доказано (Bruno Buchberger 1965г.), что через конечное число шагов процесс оборвется. Заметим, что если полиномы со ставляющие исходный базис первой степени, то алгоритм нахождения ба зиса Гребнера фактически совпадает с алгоритмом Гаусса приведения мат рица к треугольной форме.

Справедливы теоремы:

Теорема 4. Любой идеал обладает базисом Гребнера относительно любого порядка (удовлетворяющего сформулированным выше условиям).

Теорема 5. Два идеала равны тогда и только тогда, когда они имеют один и тот же редуцированный базис Гребнера.

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

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

Теорема 7. Система полиномиальных уравнений имеет конечное чис ло решений над полем C тогда и только тогда, когда каждая переменная появляется изолированно (например, как zn) в одном из старших членов соответствующего базиса Гребнера относительно лексикографического порядка, т. е.

xn sn + wn ( xn ) = wn 1* ( xn ) xn 1sn1 + wn 1 ( xn 1, xn ) = … w1* ( x2,…, xn ) x1s1 + w1 ( x1, x2,…, xn ) = … Пример 10. Дана система уравнений x2 + y + z 1 = x + y + z 1 = x + y + z2 1 = соответствующий базис Гребнера будет x + y + z2 1 = y z + y + z = 2 2 2 2z y z + z = z 2 4 z 4 + z 6 + 4 z 3 = Процедура нахождения базиса Гребнера встроена в большинство со временных СКА (например Maple, Mathematica), кроме того, есть специа лизированные пакеты (например, Singular) для работы в коммутативной и не коммутативной алгебре, алгебраической геометрии, использующие раз личные обобщения понятия базиса Гребнера.

Некоторые приложения базиса Гребнера.

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

Пример 11. Пусть задано кубическое уравнение f ( x ) = x3 + ax 2 + bx + c = 0, зависящие от параметров a, b, c. Для нахожде ния дискриминантного множества в данном случае нужно исключить пере менную x из системы уравнений:

f ( x ) = x3 + ax 2 + bx + c = f ( x ) = 3 x 2 + 2ax + b = аналогичная задача исключения переменных возникает в общем случае.

Определение 13. Пусть I = { f1, f 2,…, f s } K [ x1, x2,…, xn ] — идеал порожденный f1, f 2,…, f s. Элиминацией идеала по переменным x1, x2,…, xk называется идеал I k = I K [ xk +1, xk + 2,…, xn ].

Исключению переменных x1, x2,…, xk соответствует нахождение мно гочленов отличных от нуля в k-ой элиминации идеала. Значение базиса Греб нера при решении систем уравнений основано на том факте, что базис Греб нера позволяет просто получить все элиминации идеала. В процессе пост роения базиса Гребнера, переменные последовательно исключаются. Поря док исключения переменных соответствует их упорядочению: сначала ис ключается x1, затем x2, и так далее.

Пример 12. Если выбрать упорядочивание x a b c в предыду щем примере, то базис Гребнера будет:

f1 = 3 x 2 + 2axb f 2 = 6bx 9c + 2a 2 x + ab f 3 = 9 xc + xab + 2b 2 6ac f 4 = 2b 2 x 3bc ab 2 + 6 axc + 4a 2 c f 5 = 54 xc 2 + 15cb 2 36ac 2 + 2b3 x + ab3 4ba 2 c f 6 = 27c 2 18acb a 2 b 2 + 4a 3 c + 4b Дискриминантом будет 27c 2 18acb a 2 b2 + 4a3 c + 4b3.

Точная целочисленная арифметика На вычислительных машинах, как правило, аппаратно реализованы операции над целыми числами ограниченной величины, обычно это или разрядные числа или 64 разрядные (двоичные), на машинах с процессором i80486 это 32 разрядные. Связано это с тем, что процессор работает непос редственно с числами помещенными в специальные ячейки — регистры, а они для этих машин имеют 32 разряда. Возникает задача: как проводить вычисления с большими «длинными числами». Например, проверка про стоты числа сводится к проведению большого числа элементарных опера ций — делений и если число большое возникает проблема.

В книге польского математика В. Серпинского «О простых числах»

(1961 г.) приводится пример числа N = 2 101 –1 = =2535301200456458802993406410751, про которое в то время было доказа но, что оно разлагается на два множителя, но множители эти были неизвес тны (в то время Ю. Гагарин уже побывал в космосе и были достаточно мощ ные вычислительные машины), сейчас эта задача решается с помощью па кета Maple за несколько секунд, N = 7432339208719 341117531003194129.

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

Здесь будут рассмотрены алгоритмы целочисленной арифметики лишь на классических Тьюринговых машинах. Новейшее направление в теорети ческом программировании связанное с понятием квантового компьютера не рассматривается (рекомендуем статью Ю. И. Манина в журнале «Кван товый компьютер & вычисления»).

Списочное представление целых чисел.

В качестве системы счисления выбирается максимально возможное число g для которого аппаратно реализованы арифметические операции, например для i80486 это g = 231. Произвольное целое число записывается в виде списка n = ( n0, n1,..., nk ), 0 ni g, так что, n = n j g j. Каждое nj хра j = нится в виде отдельной записи.

Пример 13. g = 104, n = 1123456789. n = (6789, 2345, +11).

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

T S E Каждая ячейка содержит три поля: поле типа T, поле элемента E и поле ссылки S.

Компьютерное представление списка n = ( n0, n1,..., nk ), 0 ni g со стоит из k + 1 ячейки, связанных через их поля ссылок, вместе с данными представления каждого из значений ni, являющихся в свою очередь списка ми. Поле ссылки i-й ячейки содержит адрес (i + 1)-й ячейки 0 i k, а поле ссылки k-й ячейки содержит nul. Поле типа i-й ячейки содержит нуль или единицу в зависимости от того, является ni атомом или списком. Если ni является атомом, то поле элемента i-й ячейки содержит ni;

если ni — список, то поле элемента i-й ячейки содержит координаты представления списка ni.

Координаты списка ( n0, n1,…, nk ) — это адрес первой ячейки его представ ления.

0 S 0 S 0 nul n 6789 2345 + Все неиспользуемые звенья связаны вместе в произвольном порядке и образуют список свободного места. Когда требуется новое звено, первое звено списка свободного места отщепляется и присоединяется к соответ ствующему списку данных. Когда список данных становится ненужным в дальнейших вычислениях, его звенья присоединяются к голове списка сво бодного места.

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

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

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

Современный пакет Maple позволяет работать с 500000-значными чис лами (при соответствующей конфигурации машины).

Список условных обозначений и специальных клавиш Derive Клавиши и их сочетания В командной строке – Enter (ввод выражения) ^ – Ctrl – Shift Esc – Клавиша Esc (переход в окно алгебры) ^ – Ctrl + Enter (ввод выражения и его упрощение) – Shift + Enter (ввод выражения и его аппроксимация) F3 – Клавиша F3 (копирование выделенного выражения в командную строку) F4 – Клавиша F4 (копирование выделенного выражения в командную строку в скобках) число – площадь единичной окружности ^P – Ctrl+P pi = 3.14159...

^E – Ctrl+E число е – основание натуральных логарифмов #e = 2.71828...

^I – Ctrl+I число i – мнимая единица (квадратный корень из –1) #i = ^O – Ctrl+O ° перевод градусов в радианы deg = / плюс бесконечность inf = ^0 – Ctrl+ оператор объединения множеств UNION ^U – Ctrl+U пересечение множеств INTERSECTION ^N – Ctrl+N ^T – Ctrl+T ` оператор транспонирования для матриц индексный оператор для матриц SUB ^B – Ctrl+B квадратнкый корень SQRT ^Q – Ctrl+Q В окне алгебры ^B – Ctrl + B (упростить выделенное выражение) ^E – Ctrl + E (раскрыть скобки) ^F – Ctrl + F (разложить на множители) ^G – Ctrl + G (вычислить приближенно) ^W – Ctrl + W (замена переменных) F2 – Клавиша F2 (перейти к командной строке) ^2 – Ctrl + 2 (вставка 2М графика) ^3 – Ctrl + 3 (вставка 3М графика) F5 – Клавиша F5 (вставка текстового комментария) Del – Клавиша Delete (удаление выделенного выражения) В окне графика F4 – Клавиша F4 (нарисовать график выражения) ^1 – Ctrl + 1 (перейти в окно алгебры) ^U – Ctrl + U (обновить график в окне алгебры) ^B – Ctrl + B (встроить график в окно алгебры) Синтаксис выражений Expr(n) – Выражение или функция аргумента n {n} – Необязательный аргумент n m|n – Один из вариантов m или n m – Значение по умолчанию выделено жирным шрифтом [a] – Векторный аргумент Основные встроенные функции Derive Тригонометрические SIN(x) sin(x) синус COS(x) cos(x) косинус TAN(x) tg(x) тангенс COT(x) ctg(x) котангенс ASIN(x) arcsin(x) арксинус ACOS(x) arccos(x) арккосинус ATAN(x) arctg(x) арктангенс ACOT(x) arcctg(x) арккотангенс Логарифм, экспонента и гиперболические LN(x) ln(x) натуральный логарифм LOG(x, a) loga(x) логарифм по основанию а EXP(x) ex экспонента x SQRT(x) квадратный корень SINH(x) sh(x) гиперболический синус COSH(x) ch(x) гиперболический косинус TANH(x) th(x) гиперболический тангенс Derive Лабораторная работа № Простейшие вычисления и задачи линейной алгебры Задания на лабораторную работу 1. Ввод выражений 2. Встроенные функции и константы 3. Определение переменных и функций 4. Точные и приближенные вычисления, упрощение выражений 5. Режимы преобразования рациональных, тригонометрических и по казательных выражений 6. Ввод векторов и матриц 7. Векторно-матричные операции (скалярное и векторное умножение, нахождение определителя, обратной матрицы, собственных чисел и пр.) 8. Решение систем линейных уравнений Примеры выполнения заданий 1. Ввод выражений производится с помощью командной строки внизу экрана. Командная строка активизируется клавишей F2. Например, чтобы ввести выражение e в командной строке наберите #e^pi. В конце нажмите клавишу Enter (далее в тексте обозначается символом ).

Теперь введем выражение e e. Наберите #1 – pi^#e. Вместо сим вола #1 подставляется содержимое первой строки — e.

2. Определим две переменные. Введите выражение a := 3x+4. Сле дующее выражение, которое мы введем b := 2 – x + SQRT(2)*x^2. Следу ет заметить, что переменные могут содержать что угодно: числа, матрицы, выражения, уравнения и т. д. Имена переменных можно использовать вмес то выражений, которые они содержат. Например, наберем выражение a + b и нажмем кнопку или сочетание Ctrl + Enter (далее в тексте обозначает ся ^) для вычисления результата. Ответ получится точным — значение выведено в виде символа. Если нажать кнопку или Shift + Enter (далее обозначается ), результат получится приближенным — 2 превратится в 1.414213562. Таким образом различают два режима вычислений: точный и приближенный. Вычисления в точном режиме могут также выполятся командой меню SIMPLIFY BASIC, а приближенные вычисления коман дой SIMPLIFY APPROXIMATE. В любом случае программа сначала производит упрощение выделенного выражения, а затем выводит на эк ран в точном или приближенном виде, в зависимости от выбранного ре жима.

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

Ответ на первый вопрос дает выражение 1/COMB(10,3), вы численное приближенно, здесь функция COMB(n,m) возвращает значе ние биномиального коэффициента Cnm. Ответ на второй вопрос можно получить, вычислив приближенное значение выражения VECTOR(1/COMB(10,m),m,1,10).

Функция VECTOR осуществляет перебор значений переменной m от 1 до 10 с шагом 1 в выражении 1/COMB(10,m) и объединяет значения выра жения в вектор. Пятый элемент полученного вектора является наименьшим, следовательно, самый надежный код для данного замка состоит из 5 цифр.

4. Определим функцию f(x) := 1/SQRT(2pi)*exp(–x^2/2) и вычис лим ее приближенное значение в точке f(1).

5. Раскрытие скобок. Раскроем скобки в выражении (x + y)(x – y).

Выражение EXPAND((x + y)(x – y)) ^ упрощается к x 2 y 2. Обратная опе рация разложение на множители — выражение FACTOR(#17) ^ упроща ется к (x + y)(x – y).

6. Преобразование тригонометрических функций с кратными аргу ментами. Преобразуем выражение COS(2x) – SIN(3x). Сначала выпол ним присвоение Trigonometry := Expand. После чего выражение COS(2x) – SIN(3x) ^ упрощается к cos(x)2 (2 – 4 sin(x)) + sin(x) – 1. Обрат ная операция понижение степени — команды Trigonometry := Collect SIN(x)^2 – COS(x)^2 ^ упрощается к –cos(2x).

x 3 9 x + 7. Разложение дроби на элементарные выполняет ( x 1)( x 2 3 x + 2 ) команда EXPAND((x^3 – 9x + 13)/((x – 1)(x^2 – 3x + 2))) ^ упрощается к 3 5 + +1.

x 2 ( x 1) x 8. Режим преобразования степени переключается командой Exponential := Expand. После чего 2^(x + y) ^ упрощается к 2x 2y.

Сворачивание произведения в cтепень. После выполнения присвоения Exponential := Collect выражение 2^x*2^y ^ упрощается к 2x + y.

9. Логарифм произведения представляется через сумму логарифмов переключением Logarithm := Expand, после чего LN(10x) ^ упрощается к LN(x) + LN(5) + LN(2). Обратная операция — после выполнения команды Logarithm := Collect LN(10) + LN(x) ^ упрощается к LN(10x).

Выражения, содержащие тригонометрические, рациональные, пока зательные функции и логарифмы упрощаются в соответствии с последней командой переключения режима сворачивания-разворачивания. Режимами можно также управлять при помощи команды меню DECLARE Simplification Settings.

10. Задача. Даны три силы F 1 = (3, 4, –1), F 2 = (–5, 2, 7), F3 = (2, –5, 1), приложенные к одной точке. Вычислить работу равнодей ствующей этих сил, когда точка ее приложения, двигаясь прямолинейно, перемещается из положения M(1, –3, –8) в положение N(2, –7, 3).

Равнодействующая трех сил F := [3, 4, –1] + [–5, 2, 7] + [2, –5, 1] ^.

Вектор перемещения MN := [2, –7, 3] – [1, –3, –8] ^. Работа F.MN ^.

11. Задача. Дана сила F = (1, –2, 4) и точка ее приложения M(3, 2, –1). Найти момент этой силы относительно точки А(1, 2, 3) и его направляющие косинусы.

Момент силы — это векторное произведение MF := CROSS([1, –2, 4], [3, 2, –1] – [1, 2, 3]) ^ упрощается к [8, 12, 4]. Направляющие косинусы VECTOR(MF SUB i/ABS(MF), i, 3) ^ (оператор MF SUB i выполняет опе рацию извлечения i-го элемента вектора MF) или более простая формула MF/ABS(MF) ^.

12. Задача 4. Линейное преобразование A векторного пространства V над R в базисе e1, e2, e3 имеет матрицу A. Найти, собственные значения, собственные векторы, характеристический полином, матрицу обратного преобразования А, где 1 2 A = 0 2.

0 2 Определим матрицу A := [1, 2, 2;

0, 2, 2;

0, 2, 3]. Собственные числа матрицы EV := EIGENVALUES(A) ^. Характеристический поли ном матрицы CHARPOLY(A, x) ^. Матрица обратного преобразования IA := A^(-1) ^. Определим единичную матрицу той же размерности, что и матрица А E := IDENTITY_MATRIX(DIM(A)) ^. Определим вектор неизвестных X := VECTOR(APPEND("x", n), n, DIM(A)) ^. Найдем соб ственные векторы VECTOR(SOLUTIONS(VECTOR((A - EV SUB n. E).

X, n, DIM(A)) SUB m, X) SUB 1, m, DIM(A)) ^. Ответ содержит произ вольные константы в виде @1. Чтобы подставить вместо них конкретные значения, нужно запустить мастер подстановок сочетанием клавиш ^W.

Подставьте вместо каждой произвольной константы число 1, а затем при свойте новой матрице имя T. Примените к матрице T операцию транcпонирования T` ^. Вычислите определитель матрицы DET(T) ^.

2x + 3 y + z = 13. Решить систему линейных уравнений x y z = 4 x 2 y z = Решение SOLVE([2x + 3y + z = 1, x – y – z = 1, 4x – 2y –z = 3], [x, y, z]) ^.

2 x + 3 y + z = 14. Решить систему линейных уравнений x y z = 4x + y z = Решение SOLVE([2x + 3y + z = 1, x – y – z = 1, 4x + y –z = 2], [x, y, z]) ^.

Система несовместна.

2 x + 3 y = 15. Решить систему линейных уравнений x y = 4x + y = Решение SOLVE([2x + 3y = 1, x – y = 1, 4x + y = 3], [x, y]) ^. Система переопределена.

Задачи для самостоятельной работы 1. Определить квадратную матрицу A, размером 5 на 5 по общей фор муле элемента Ai, j = SIN(i + j).

2. Вычислить определитель матрицы A в точном режиме.

3. Вычислить определитель матрицы A в приближенном режиме.

4. Вычислить определитель матрицы A в режиме раскрытия кратных аргументов тригонометрических функций.

Лабораторная работа № Операции математического анализа Задания на лабораторную работу 1. Вычисление пределов 2. Суммирование рядов 3. Дифференцирование 4. Нахождение обратных функций 5. Интегрирование (неопределенный и определенный интеграл, несоб ственный интеграл, двойной интеграл) 6. Разложение функций в ряд Тейлора 7. Операции над векторными полями Примеры выполнения заданий ) ( n (n 2 ) n2 3, Задача 1. Вычислить пределы а) lim n n ( x3 3 ) sin 5 x.

б) lim, в) lim x 2+ 0 x 2 esin x x Для решения данной задачи требуется функция LIM. Синтаксис функ ции LIM(Expr(x), x, a, {–1|0|1}). В окне алгебры выглядит как lim Expr ( x).

x a Четвертый необязательный параметр, позволяет вычислять левостороний LIM(Expr(x), x, a, –1) или правосторнонний предел LIM(Expr(x), x, a, 1).

Решение.

а) LIM(SQRT(n(n - 2)) - SQRT(n^2 - 3), n, inf) ^ результат –1.

б) LIM(1/(x^2 - 4), x, 2, 1) ^ результат.

в) LIM((x^3 - pi^3)*SIN(5x)/(#e^(sin(x)^2) - 1), x, pi) ^ результат –152.

x+ Упр 1. Вычислить предел lim tg x +.

x ( 1) n + k 1 + 2n Задача 2. Вычислить суммы а) n, б), в), n n =1 4 n n =1 n = (1)n г) 3 + 4.

n =1 2n ( 2n + 1)( 2n + 2 ) Для вычисления сумм предназначена функция SUM. Синтаксис функ ции SUM(Expr(n), n, n1, n2), где n1 — нижний предел суммирования, n2 — n Expr (n).

верхний. В окне алгебры выглядит как n = n Решение.

а) SUM(n^2, n, 1, k) ^ результат k (k + 1) (2k + 1)/6.

б) SUM((1 + 2^n)/4^n, n, 1, inf) ^ результат 4/3.

в) SUM((-1)^(n + 1)/n, n, 1, inf) ^ результат LN(2).

г) 3 + 4 SUM((-1)^(n - 1)/(2n(2n + 1)(2n + 2)), n, 1, inf) ^ результат.

n Упр 2. Вычислить сумму. + 6n + n= Задача 3. Найти производную функции а) заданной явно tg x ctg x 3t 2 + y = arctg x (t ) =, б) заданной параметрически, 3t t y (t ) = sin + t, в) найти y, если y = ( 2 x 2 7 ) ln ( x 1), г) найти фор 3 мулу для вычисления y x, функции заданной параметрически.

Для вычисления производных служит функция DIF. Синтаксис функ ции DIF(Expr(x), x, {n|[1]}), где n — порядок производной. В окне алгебры n d выглядит как Expr ( x).

dx Решение.

а) Производная функции DIF(ATAN((TAN(x) - COT(x))/SQRT(2)), x) ^ результат.

1 2sin( x) 2 cos( x) б) Производная параметрически заданной функции вычисляется как отно шение DIF(SIN(t^3/3 + t), t)/DIF((3t^2 + 1)/(3t^3), t) ^ результат t3.

t 4 cos + t в) Производная третьего порядка DIF((2x^2 - 7)LN(x - 1), x, 3) ^.

г) Производная функции, заданной параметрически вычисляется в три эта па. Сначала вычисляется первая производная, как отношение производных yt y y yx =, затем вычисляется вторая производная y x = x и третья y x = x.

xt xt xt Поскольку функции y(t) и x(t) в задаче не указаны, будем решать задачу в об щем виде. Для этого определим x(t) и y(t) как функции общего вида x(t) := y(t) :=. На каждом этапе вычислений используется предыдущий резуль тат, поэтому задачу будем решать с помощью функции ITERATE. Функция ITERATE вычисляет суперпозицию функции, вкладывая ее саму в себя за данное количество раз (т.е. вычисляет значение выражения Expr(Expr(...Expr(x))). Синтаксис функции ITERATE(Expr(x), x, x0, {n}), где x0 — начальный аргумент функции, n — количество итераций (если n не указано, итерации продолжаются пока значения функции на итерациях не совпадут). Функция возвращает значение выражения Expr(x) на последней итерации. Для решения задачи, сделаем три вложения ITERATE(DIF(r, t)/ DIF(x(t), t), r, y(t), 3) ^.

Упр 3. Найти производную (( )) y = 1 a (1 + a 2 ) arctg ( a cos x ) + a ln tg ( x 2 ).

, б) sh( x).

Задача 4. Найти обратную функцию для а) x + В случае, когда n = –1, функция ITERATE возвращает обратную функцию для выражения Expr(x).

Решение. Сначала восстановим переменные, задействованные в пре дыдущей задаче x :=, y :=.

а) ITERATE(1/(x^4 + 1), x, x, -1) ^ результат (x – 1)1/4/(–x)1/4.

б) ITERATE(SINH(x), x, x, -1) ^ результат LN(SQRT(x2 + 1) + x) 2 cos x Упр 4. Найти обратную функцию для y = e.

dx 3 x (1 + x ) x x 3 + x 4 dx, в) Задача 5. Найти а), б) dx, 2 + x 2 dx /2 1 sin( x ) г),д) arctg( x )dx,е) dx, ж) dx, з) 2 2 2 a sin( x) + b cos( x) 1 + x + x2 x 0 1x xy dydx.

0x Для вычисления интегралов предназначена функция INT. Синтаксис функ ци INT(Expr(x), x, {c}|{a, b}), где c — константа интегрирования, a — ниж ний предел, b — верхний предел интегрирования. В окне алгебры выглядит b Expr ( x)dx.

Expr ( x)dx или как a Решение.

а) INT(1/(x^4 + 1), x) ^.


б) INT(SQRT(x^3 + x^4), x) ^ результат отсутствует, но после преобразо вания подынтегрального выражения (см. решение задачи в) в) INT(x^(3/2)(1 + x)^(1/2), x) ^.

г) INT(x^2/SQRT(1 + x + x^2), x) ^.

д) INT(ATAN(x), x) ^. (вычисляется по частям) е) INT(1/(a^2SIN(x)^2+b^2COS(x)^2), x, 0, pi/2) ^.

ж) INT(SIN(x)/SQRT(x), x, 0, inf) ^ (несобственный интеграл).

з) INT(INT(x*y^2, y, x^2, x), x, 0, 1) ^ (повторный интеграл).

e 2 + 1 + ln( x 1) Упр 5. Найти dx.

x e + Задача 6. а) Разложить функцию LN(COS(x)) в ряд Маклорена до О(x8) и нарисовать графики исходной функции и многочленов Тейлора степеней 2, 4, 6, 8, б) разложить функцию в ряд Тейлора в окрестности точки x+ –2 до О((x + 2)8).

Разложение в ряд Тейлора выполняет функция TAYLOR. Синтаксис функ ции TAYLOR(Expr(x), x, x0, n), где x0 — точка, в окрестности которой произ водится разложение, n — степень многочлена. При построении графиков будет полезной функция APPEND([a], [b]), которая выполняет объединение двух векторов [a] и [b] в один вектор [a, b].

Решение.

а) APPEND([LN(COS(x))], VECTOR(TAYLOR(LN(COS(x)), x, 0, m), m, 2, 8, 2)) ^. Чтобы построить график выполните команду меню WINDOW New 2D-plot Window и нажмите F4. Чтобы вернуться в окно алгебры на жмите ^1.

б) TAYLOR(1/(x + 3), x, -2, 8) ^.

Упр 6. Разложить функцию в ряд Малорена y = ( x 1) ch x.

Задача 7. Вычислить градиент функции x3y2z3, дивергенцию и ротор градиента.

Решение. Градиент функции сохраним в переменной H := GRAD(x^3*y^2*z^3) ^. Найдем дивергенцию DIV(H) ^ и ротор CURL(H) ^.

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

2. Вычислить интегралы.

Варианты заданий к задаче 1 к задаче 1+ x x 1. y = x cos x 2, y = ? x dx ;

dx + 3 xx 1+ x x +1 x 2. y = (3 x 2 ) ln 2 x, y = ? dx ;

dx 4 xx x2 + ln ( x 1) 1+ 3 x x 1 x, y = ? 3. y = dx ;

dx x 1 xx x2 + log 2 x 1+ 3 x arctg x + x, y = ?

4. y = dx ;

dx x3 x2 + 9 xx x (arctg x ) 5. y = ( 4 x + 5 ) e, y = ?

1 + 3 x [] 2 x + dx ;

dx x2 + x 9 x8 (1 + x ) dx ;

x dx 3 6. y = x sin (5 x 3), y = ?

xx x + 9 5 (1 + x ) dx ;

3 3 sin arcsin 2 x + 7. y = ln x x 2, y[ ] = ?

dx x2 9 x 1 x (1 + x ) dx 3 1 x 8. y = ( 2 x + 3) ln x, y = ? ;

dx x ( x + 1) 6 xx 1 + 3 x2 dx 9. y = (1 + x 2 ) arctg x, y = ? x dx ;

x2 x2 + e 1 + ln x 1+ x 10. y = (ln x ) x 3, y[ ] = ?

x dx ;

dx x x (1 + ) x dx [5] 11. y = ( 4 x + 3) 2, y x x =? dx ;

8 x2 xx (1 + x ) dx ;

3 e x 2 + ln x 12. y = e1 2 x sin ( 2 + 3 x ), y[ ] = ? dx x2 6 x x ln (3 + x ) 1 + 4 x3 xdx, y = ? 13. y = dx ;

3+ x x + x2 + x x 1 + 4 x3 ;

14. y = ( 2 x + 1) cos x, y = ?

x [] dx dx (x + 1) x2 (1 + x ) dx ;

4 15. y = ( x 2 + 3 ) ln ( x 3 ), y [ ] = ? tg x ln cos xdx x x Лабораторная работа № Приложения дифференциального исчисления Задания на лабораторную работу 1. Загрузка расширений (утилит) 2. Исследование кривых, заданных явно, параметрически или неявно (нахождение кривизны, центра кривизны, касательной, перпенди куляра и соприкасающейся окружности в точке) 3. Работа с окнами 4. Построение графиков кривых, заданных явно, параметрически или неявно 5. Исследование и построение графиков кривых, заданных в поляр ных координатах Примеры выполнения заданий Вместе с пакетом Derive поставляются файлы — подключаемые рас ширения (утилиты), в которых содержатся специальные функции, расши ряющие возможности системы. Для выполнения лабораторной работы тре буется загруженное расширение dif_apps.mth, в котором запрограммирова ны функции автоматизирующие решение некоторых найболее часто встре чающихся задач дифференциального исчисления. Среди этих задач нахож дение производных функций, заданных неявно, параметрически или в по лярных координатах, кривизны, центров кривизны, касательных, перпен дикуляров, соприкасающихся окружностей, касательных плоскостей, и нор малей к поверхностям. Функции поделены на группы для кривых заданных в декартовых координатах либо явно, параметрически, либо неявно, и для кривых, заданных явно в полярных координатах. Загрузка расширения про изводится или при помощи команды меню FILE Load Utility File, далее следует указать путь к файлу расширения, обычно это Math\dif_apps.mth, или при помощи специальной команды LOAD("Math\dif_apps.mth"), а можно просто вызвать любую функцию из требуемого расширения и файл расширения загрузится автоматически (автоматическая загрузка действует только для файлов, находящихся в папке Math\).

Графики бывают двух видов — встроенные в документ и оконные.

Встроенные графики вставляются в документ командой меню INSERT 2D plot Object или сочетанием клавиш ^2 (сочетание не действует в режиме редактирования командной строки) и отображаются в окне алгебры, как обычные выражения, но имеют отдельное графическое окно, которое от крывается автоматически при вставке данного графика в документ, либо по двойному щелчку на встроенном графике. Оконные графики имеют только графическое окно и не встраиваются в документ. Создается такой график командой меню WINDOW New 2D-plot Window. При работе с нескольки ми окнами полезно открыть панель закладок для быстрого переключения окон при помощи сочетания клавиш Ctrl + Shift + B. Также необходимо по мнить сочетание Ctrl + 1, с помощью которого открывается окно алгебры, связанное с данным графиком.

Задача 1. Построить график функции, заданной явно f ( x ) = ( x 1) + 1, найти кривизну кривой, найти уравнение и построить график эволюты, найти уравнения и построить графики касательной, нор мали и соприкасающейся окружности кривой в точке x = 2.

Решение. Определим функцию f(x) := -(x - 1)^2 + 1. Найдем кривиз ну кривой с помощью команды CURVATURE(f(x), x) ^. Координаты центра кривизны (эволюта) CENTER_OF_CURVATURE(f(x), x) ^. Касательная к кривой TANGENT(f(x), x, 2) ^. Нормаль к кривой PERPENDICULAR(f(x), x, 2) ^. Соприкасающаяся окружность в параметрическом виде (с парамт ром alpha) в некоторой точке x OSCULATING_CIRCLE(f(x), x, alpha) ^.

Полученное уравнение соприкасающейся окружности содержит две перемен ные x и, поэтому, для того чтобы можно было построить график, в уравне нии вместо x нужно подставить конкретную точку 2. Делается это с помощью команды меню SIMPLIFY Variable Substitution. Для того чтобы нарисо вать график функции нужно в алгебраическом окне выделить выражение с определением функции при помощи мыши, нажать ^2, а затем F4. Чтобы нарисовать график эволюты (заданной параметрически), вернемся в окно алгебры ^1, выделим уравнение эволюты, вернемся в окно графика и на жмем F4. Аналогично строятся графики касательной, нормали и соприкаса ющейся окружности.

Задача 2. Построить график функции, заданной параметрически v(t ) = ( 4cos(t ),3sin(t ) ) (эллипс), найти кривизну кривой, найти уравнение и построить график эволюты, найти уравнения и построить графики каса тельной, нормали и соприкасающейся окружности к кривой в точке t = 1.

Решение. Определим вектор v(t) v := [4COS(t), 3SIN(t)]. Найдем кривизну кривой PARA_CURVATURE(v, t) ^, центр кривизны PARA_CENTER_OF_CURVATURE(v, t) ^, касательную к кривой PARA_TANGENT(v, t, 1, x) ^, перпендикуляр к кривой PARA_PERPENDICULAR(v, t, 1, x) ^, уравнение соприкасающейся ок ружности в точке t = 1 PARA_OSCULATING_CIRCLE(v, t, 1, s) ^. После выполненения вычислений, построить графики, как описано в предыдущей задаче, но следует заметить, что при построении параметрически заданных функций после нажатия F4 открывается диалог, запрашивающий у пользо вателя диапазон изменения параметра (у эллипса параметр изменяется от до 2pi).

Задача 3. Построить график функции, заданной в полярной системе координат r ( s ) = 2 + s (спираль Архимеда), найти кривизну кривой, найти уравнение и построить график эволюты, найти уравнения и построить графики касательной, нормали и соприкасающейся окружности к кривой r(s) в точке s = 1.

Определим r(s) r := 2 + s ^. Найдем кривизну кривой r(s) POLAR_CURVATURE(r, s) ^, центр кривизны кривой POLAR_CENTER_OF_CURVATURE(r, s) ^, касательную к кривой POLAR_TANGENT(r, s, 1, x) ^, перпендикуляр к кривой POLAR_PERPENDICULAR(r, s, 1, x) ^ и соприкасающуюся окружность POLAR_OSCULATING_CIRCLE(r, s, 1, alpha) в точке s = 1. Построить графики. Координатная система выбирается при помощи команды меню SET Coordinate System (сочетание клавиш Ctrl + Y). При построении графиков учитывайте координатную ситему, в которой записано уравнение (например, функция POLAR_TANGENT возвращает уравнение касательной в декартовых координатах).

Задача 4. Построить график функции, заданной неявно x 4 + y 4 x 2 y 2 = 0, найти кривизну кривой в точке (1, 1), найти уравнение и построить график эволюты, найти уравнения и построить графики каса тельной, нормали и соприкасающейся окружности к кривой в этой точке.

Решение.

1. Введем уравнение x^4 + y^4 - x^2 - y^2 = 0.

2. Чтобы нарисовать график кривой сделаем замену переменных x = cos( ), y = sin( ). Для этого следует нажать ^W и ввести замену для x: rho*COS(phi) и для y: rho*SIN(phi).

3. Затем решим полученное уравнение относительно командой SOLVE(rho^4COS(phi)^4 + rho^4SIN(phi)^4 - rho^2 = 0, rho) ^.

4. Получено три решения, среди которых одно тривиальное = 0, и одно отрицательное = –1/(COS()4 + SIN()4). Построить график положи тельного решения = 1/(COS()4 + SIN()4) в полярных координатах, пред варительно выделив его при помощи мыши.

5. Далее вычислим кривизну PARA_CURVATURE(v, t) ^, центр кри визны PARA_CENTER_OF_CURVATURE(v, t) ^, касательную к кривой PARA_TANGENT(v, t, 1, x) ^, перпендикуляр к кривой PARA_PERPENDICULAR(v, t, 1, x) ^, соприкасающуюся окружность в точке t = 1 PARA_OSCULATING_CIRCLE(v, t, 1, s) ^.

6. Построить требуемые графики в декартовых координатах.

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


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

Варианты заданий к задаче 1 к задаче x = 3 cos t r = 4 cos 3, 0 = 1. ;

y = sin t, t0 = x = 2t t r = cos 2, 0 = 2. ;

y = 3t t, t0 = x = ( 2t + t 2 ) (1 + t 3 ) r = 4sin 3, 0 = 3. ;

y = ( 2t t ) (1 + t ), t0 = 2 ) ( x = arcsin t 1 + t r = sin 3, 0 = 4. ;

) ( y = arccos 1 1 + t 2, t0 = x = t (t cos t 2sin t ) r = 6sin 3, 0 = 5. ;

y = t (t sin t + 2 cos t ), t0 = x = 3t (1 + t 2 ) r = cos 3, 0 = 6. ;

y = 3t (1 + t ), t0 = 2 x = 2 ln ctg t + r = 1 2 + sin, 0 = 7. ;

y = tg t + ctg t, t0 = x = t2 2 t4 r = 1 + 2 cos, 0 = 8. ;

2 y = t 2 + t 3, t0 = x = t cos t r = 1 2 + cos, 0 = 9. ;

y = t sin t, t0 = x = sin 2 t r = 1 + 2 sin, 0 = 10. ;

y = cos t, t0 = x = (1 + ln t ) t r = 4 cos 4, 0 = 11. ;

y = (3 + 2 ln t ) t, t0 = x = (1 + t ) t r = cos + sin, 0 = 12. ;

y = 3 ( 2t ) + 2 t, t0 = x = sin 3 t r = cos sin, 0 = 13. ;

y = cos t, t0 = x = t sin t + cos t r = 2 cos ( 4 ), 0 = 14. ;

y = sin t t cos t, t0 = x = 2e t r = 2 sin ( 4 ), 0 = 15. ;

t y = e, t0 = Лабораторная работа № Приложения интегрального исчисления Задания на лабораторную работу 1. Разложение функций в ряд Фурье 2. Вычисление длины кривой, заданной разными способами 3. Нахождение центра тяжести плоской фигуры и объемного тела 4. Вычисление площади фигуры в разных системах координат 5. Вычисление объема тела Примеры выполнения заданий Загрузите утилиту приложений интегрального исчисления LOAD("Math\int_apps.mth"). Функции из этого файла автоматизируют решение таких задач как преобразование Лапласа и разложение в ряд Фу рье, нахождение длин дуг кривых, площадей, объемов, центроидов и тензо ров инерции в декартовых, цилиндрических и сферических координатах.

Задача 1. Разложить в ряд Фурье функцию SIGN(t) на промежутке [–, ].

Решение.

Определим u := SIGN(t). Находим разложение в ряд Фурье с помо щью функции FOURIER(u, t, -pi, pi, 2) ^. Для того, чтобы проследить, как меняется точность аппроксимации с ростом числа гармоник в разложении, выполним команду APPEND([u], VECTOR(FOURIER(u, t, -pi, pi, n), n, 2, 12, 2)) ^, а затем построим график результата (последовательно нажать Esc, ^2, и F4).

Задача 2. Найти длинну петли ( 3t 2, t t 3 ), t (1,1).

Решение.

PARA_ARC_LENGTH([SQRT(3)t^2, t - t^3], t, -1, 1) ^ ответ 4.

4. Задача 3. Найти длину дуги кривой, заданной в полярных координа t тах r (t ) = sin 3, t 0,.

3 Решение.

POLAR_ARC_LENGTH(SIN(t/3)^3, t, 0, pi/4) ^ ответ ( – 3)/8.

Задача 4. Найти длину цепной линии y = ex/2 + e-x/2, 0 x 2.

Решение.

ARC_LENGTH(EXP(x/2) + EXP(-x/2), x, 0, 2) ^ ответ e – e-1.

Задача 5. Найти площадь и центр тяжести однородной фигуры, ог раниченной параболами y = x2 и y = x.

Решение.

1. Точки пересечения L := SOLUTIONS(x^2 = SQRT(x), x) ^.

2. Площадь AREA(x, L SUB 2, L SUB 1, y, x^2, SQRT(x)) ^.

3. Центр тяжести AC := AREA_CENTROID(x, L SUB 2, L SUB 1, y, x^2, SQRT(x)) ^.

4. Нарисуем фигуру и ее центр тяжести. Для этого, введем выражение [[x, x^2], [x, SQRT(x)], AC], затем последовательно нажимаем клавиши Esc, ^2 и F4 (параметр x изменяется в пределах от 0 до 1).

Задача 6. Найти площадь фигуры, ограниченной кардиоидой r = a (1 + COS(t)).

Решение.

POLAR_AREA(r, 0, a (1 + COS(t)), t, 0, 2pi) ^ ответ 3a2/2.

Задача 6. Вычислить объем и центр тяжести тела в декарто вой системе координат, ограниченного поверхностями x = –1, x = 2, y = 0, y = 2, z = 0, z = y.

Решение.

Объем тела в декартовой системе координат вычисляет функция VOLUME. Синтаксис данной функции: VOLUME(x, x1, x2, y, y1, y2, z, z1, z2, {µ|1}), где µ — плотность. При µ = 1 вычисляется объем тела, в против ном случае вычисляется масса тела.

1. Объем тела VOLUME(x, -1, 2, y, 0, 2, z, 0, y) ^ ответ 6.

2. Координаты центра тяжести тела вычисляет функция VOLUME_CENTROID(x, -1, 2, y, 0, 2, z, 0, y) ^.

Задача 7. Вычислить площадь и центр тяжести полусферы радиуса 1 с центром в начале координат.

Решение.

При решении задачи нужно уметь вычислять двойной интеграл по поверхности. Интегралы такого вида вычисляет функция SURFACE_AREA(z, x, x1, x2, y, y1, y2, {µ|1}), где µ — плотность.

1. Запишем уравнение полусферы в цилиндрической системе коорди нат x := r*cos(f), y := r*sin(f), z := SQRT(1 - r^2).

2. Якобиан при замене системы координат J := r.

3. Площадь полусферы S := SURFACE_AREA(z, f, 0, 2pi, r, 0, 1, J) ^.

4. Координаты центра тяжести:

x := SURFACE_AREA(z, f, 0, 2pi, r, 0, 1, J*x)/S ^, y := SURFACE_AREA(SQRT(1 - r^2), f, 0, 2pi, r, 0, 1, J*y)/S ^, z := SURFACE_AREA(SQRT(1 - r^2), f, 0, 2pi, r, 0, 1, J*z)/S ^.

Задачи для самостоятельной работы 1. Найти массу пластинки (µ – плотность).

2. Найти массу тела (µ – плотность).

Варианты заданий к задаче 1 к задаче 64 ( x 2 + y 2 ) = z 2, x 2 + y 2 = y x2 + y = 0, z = 0, ( y 0, z 0 ) 1. ;

µ = y2 µ = 5 ( x2 + y2 ) x2 y2 x 2 + y 2 + z 2 = 4, x 2 + y 2 = + 1, y 2. 9 25 x 2 + y 2 1, x = 0, ( x 0 ) ;

µ = x2 y µ = 4| z| x2 y2 x 2 + y 2 = 1, x 2 + y 2 = 2 z 1 + 2, y x = 0, y = 0, z = 0 ( x 0, y 0 ) 9 3. ;

y ( 2 3 ) x, µ = y x µ = 10 x x2 y2 x 2 + y 2 = 16 49 z 2, x 2 + y 2 = 4 7 z + 1, x x = 0, y = 0 ( x 0, y 0 ) 4. 9 25 ;

µ = 7 x 2 y 18 µ = 80 yz x2 x 2 + y 2 + z 2 = 16, x 2 + y 2 = 4 z + y 2 4, y x = 0, y = 0 ( x 0, y 0, z 0 ) 5. ;

y x 2;

µ = 8 y x 3 µ = 20 z 36 ( x 2 + y 2 ) = z 2, x 2 + y 2 = x + y 2 1, x x = 0, z = 0 ( x 0, z 0 ) 6. 9 ;

µ = 7 xy µ = 5 6 ( x2 + y2 ) x + y 2 1, x 2 + y 2 + z 2 = 16, x 2 + y 2 = 7. 4 ;

x 2 + y 2 4, µ = 2 z µ = 4 y x 2 + y 2 = 4, x 2 + y 2 = 8 z x2 y 1 + 4, x x = 0, y = 0, z = 0 ( x 0, y 0 ) 4 8. ;

y 3 x 2, µ = x y µ = 5x x2 y 1 + 4, x 0 x 2 + y 2 = 4 25 z 2, x 2 + y 2 = 2 5 z 16 9. ;

x = 0, y = 0 ( x 0, y 0 ), µ = 28 xz y x 2, µ = x y x2 y2 x 2 + y 2 + z 2 = 4, x 2 + y 2 = z + 1, x x = 0, y = 0 ( x 0, y 0, z 0 ) 10. 4 9 ;

y 0, µ = x 3 y µ = 6z 25 ( x 2 + y 2 ) = z 2, x 2 + y 2 = x + y 2 1, x x = 0, y = 0, z = 0 ( x 0, y 0, z 0 ) 11. 4 ;

y 0, µ = 6 x3 y µ = 2 ( x2 + y 2 ) x 2 + y 2 + z 2 = 9, x 2 + y 2 = x + y 2 25, x x 2 + y 2 4, y = 0 ( y 0 ) 12. ;

y x 2, µ = x y 3 µ= z x2 x 2 + y 2 = 1, x 2 + y 2 = 6 z + y 2 1, x x = 0, y = 0, z = 0 ( x 0, y 0 ) 13. 4 ;

y 0, µ = 30 x 3 y 7 µ = 90 y x2 x 2 + y 2 = z 2 25, x 2 + y 2 = z + y 2 1, x x = 0, y = 0 ( x 0, y 0 ) 14. 16 ;

y 0, µ = 5 xy µ = 14 yz x2 x 2 + y 2 + z 2 = 4, x 2 + y 2 = 9 z + y 2 1, x x = 0, y = 0 ( x 0, y 0, z 0 ) 15. ;

y 0, µ = 30 x 3 y 7 µ = 10 z Лабораторная работа № Решение дифференциальных уравнений первого порядка Задания на лабораторную работу 1. Решение уравнений с разделяющимися переменными 2. Решение однородных уравнений 3. Решение линейных уравнений 4. Решение уравнений Бернулли 5. Решение обобщенных однородных уравнений 6. Решение уравнений в полных дифференциалах 7. Поиск частных решений (решение задач Коши) Примеры выполнения заданий Для выполнения лабораторной работы потребуется загруженное рас ширение ode1.mth. Полный перечень уравнений, решаемых с помощью этих утилит можно узнать в справочной системе программы.

Задача 1. Решить уравнение y = 4 x + 2 y 1.

Уравнения первого порядка вида y' = p(x)q(y) называются уравнениями с разделяющимися переменными. Для поиска общих решений уравнений та кого вида в системе Derive предназначена функция SEPARABLE_GEN. Син таксис функции SEPARABLE_GEN(p, q, x, y, {c}), где с – константа интег рирования.

Решение.

Сделаем замену z = 4x + 2y – 1, тогда исходное уравнение примет вид уравнения с разделяющимися переменными z' = 4 + 2z.

SEPARABLE_GEN(1, 4 + 2SQRT(z), x, z) ^ ответ z – 2·LN(z + 2) = x + c.

Упр 1. Решить уравнение (1 + e x ) y = ye x.

Задача 2. Решить уравнение x 2 y 3 dx + ( x 5 + xy 4 ) dy = 0.

Уравнение вида y' = r(x, y) называется однородным, если r(kx, ky) = r(x, y).

Общее решение для уравнения такого вида возвращает функция HOMOGENEOUS_GEN. Синтаксис функции HOMOGENEOUS_GEN(r, x, y, {c}). В случае если уравнение не является однородным, функция возвра щает "inapplicable".

Решение.

HOMOGENEOUS_GEN(-x^2y^3/(x^5 + xy^4), x, y) ^ ответ 3·ATAN(3·(x2 + 2·y2)/(3·x2))/3 – LN(y/x) = LN(x) + c.

y Упр 2. Решить уравнение xy = y cos ln.

x Задача 3. Решить уравнение x 2 y + xy + 1 = 0.

Решение линейного уравнения первого порядка вида y' + p(x)y = q(x) возвра щает функция LINEAR1_GEN. Синтаксис функции LINEAR1_GEN(p, q, x, y, {c}).

Решение.

LINEAR1_GEN(1/x, -1/x^2, x, y) ^ ответ y = c/x – LN(x)/x.

y ln x Упр 3. Решить уравнение y =.

x x Задача 4. Решить уравнение Бернулли y + 2 y = y 2 e x.

Решение уравнения вида y' + p(x)y = q(x)ym (m 0, m 1) возвращает функция BERNOULLI_ODE_GEN(p, q, m, x, y, {c}).

Решение.

BERNOULLI_ODE_GEN(2, #e^x, 2, x, y) ^ ответ 1/y = c·e2·x + ex.

y2 y Упр 4. Решить уравнение y = +4.

x x Задача 5. Решить уравнение 3 y + y 2 + =0.

x Решение уравнения вида y' = r(x, y), где r(x, y) — обобщенная однород t (t r ) x x не зависит от x и y, где t = ная функция (т.е. ), возвращает фун (t r ) y y кция GEN_HOM_GEN(r, x, y, {c}). Если уравнение не является обобщен ным однородным, функция возвращает "inapplicable".

Решение.

GEN_HOM_GEN(-(2/x^2 + y^2)/3, x, y) ^ ответ 3·LN(x·y – 1) – 3·LN(x·y – 2) = LN(x) + c.

Упр 5. Решить уравнение xy = x 3 + y 2 + y.

y dx + ( y 3 + ln x ) dy = 0.

Задача 6. Решить уравнение x Дифференциальное уравнение вида p(x,y)dx + q(x,y)dy = 0 называется уравнением в полных дифференциалах, если его левая часть представляет собой полный дифференциал некоторой функции u(x,y). Общее решение возвращает функция EXACT_GEN(p, q, x, y, {c}). Если уравнение не явля ется уравнением в полных дифференциалах, функция возвращает "inapplicable".

Решение.

EXACT_GEN(y/x, y^3 + LN(x), x, y) ^ ответ y·LN(x) + y4/4 = c.

Упр 6. Решить уравнение 3 x 2 e y dx + ( x 3 e y 1) dy = 0.

Задача 7. Решить уравнение y ( x + y ) dx + ( xy + 1) dy = 0.

Если уравнение p(x,y)dx+q(x,y)dy = 0 имеет интегрирующий множи тель вида u(x) или u(y), следует воспользоваться функцией INTEGRATING_FACTOR_GEN(p, q, x, y, {c}). Если уравнение не имеет интегрирующего множителя, функция возвращает "inapplicable".

Решение.

INTEGRATING_FACTOR_GEN(y(x + y), xy + 1, x, y) ^ ответ x2/2 + x·y = c.

Упр 7. Решить уравнение y 2 dx + x + e y dy = 0.

Задача 8. Решить задачу Коши ( x 2 1) y + 2 xy 2 = 0, y (2 ) = 2.

Если удалось определить тип уравнения, следует применить для ре шения задачи Коши соответствующую функцию без слова _GEN на конце.

Например для решения задачи Коши для уравнения с разделяющимися пе ременными применяется функция SEPARABLE(p, q, x, y, {x0, y0}).

Решение.

SEPARABLE(-2x/(x^2 - 1), y^2, x, y, 2, 2) ^ ответ 1/2 – 1/y = – LN((x2 – 1)/3).

Упр 8. Решить задачу Коши y + x ( y x cos x ) = 0, y (1) = 0.

y (0 ) = 1.

Упр 9. Решить задачу Коши y + y = xy 3, x y 1 + ( y x + 2 ) y = 0, Упр 10. Решить задачу Коши.

y (2) = Задачи для самостоятельной работы 1. Найти общее решение дифференциального уравнения.

2. Решить задачу Коши.

Варианты заданий к задаче 1 к задаче 3 3 y + 4 yx y 1. xy = y ( ) = y + = sin x, 2 y2 + 2 x2 x dx x + y dx + ( xy y 3 ) dy = 0, y ( 1) = dy = 2.

y y y (1) = 3. y + xy = x 3 xy + y = y 2 ln x, 4. 2 ( x + y 4 ) y = y y (1) = xy + y = xy 2, x 2 + 2 xy 5 y 2 y ( x + ln y ln y ) y = 5. y = y (2) =, 2 x 2 6 xy (104 y x ) y = 4 y, 6. y y ctg ( x ) = 2 x sin ( x ) y (8 ) = 7. ( y 2 + 2 y x ) y = 1 y (1) = e y + 2 xy = 2 x3, y x +1 x 8. e y dx + (cos y + xe y ) dy = 0 y (1) = e y + = e, x x ch ydx = (1 + x sh y ) dy, y (1) = ln 9. xy = 4 x + y 2 + y 10. y + 2 xy = xe x sin x y ( 0 ) = 3 y + 2 xy = 2 xy 2 e 2 x, 2 ( y + xy ) = ( x 1) e x y 2, y (0 ) = 11. y y = xy 12. (5 xy 2 x 3 ) dx + (5 x 2 y y ) dy = 0 y (0 ) = y y = 2 xy 2, 1 ( ) y (0 ) = 4 y 2 dx + e 2 y + x dy = 0, 13. xy + y dy + y 2 dx = 2 2 xy y = e x ( x + 1) y (1) = 14. y y = 1 + x2, x +1 1 + x y y (1) = 15. xy = 3 2 x 3 + y 2 + y y = 3, x x Лабораторная работа № Решение дифференциальных уравнений высших порядков Задания на лабораторную работу 1. Поиск общих решений линейных уравнений второго порядка с по стоянными коэффициентами, решение краевых задач и задач Коши 2. Решение задач Коши для автономных уравнений 3. Решение уравнений Лиувилля 4. Решение прикладных задач Примеры выполнения заданий Для выполнения лабораторной работы потребуется загруженное рас ширение ode2.mth.

Задача 1. Найти общее решение а) y 2 y = 0, б) y 4 y + 5 y = 0, в) y 5 y + 4 y = 4 x 2 e 2 x.

Уравнения второго порядка вида y'' + p(x)y' + q(x)y = r(x) называются линей ными. Решение уравнений такого вида производится с помощью функции DSOLVE2. Синтаксис функции DSOLVE2(p, q, r, x, {c1, c2}), где c1, c2 — константы интегрирования. Если уравнение невозможно свести к уравне нию с постоянными коэффициентами p и q, функция возвращает "inapplicable".

Решение.

а) DSOLVE2(-2, 0, 0, x) ^ ответ c1·e2·x + c2.

б) DSOLVE2(-4, 5, 0, x) ^ ответ e2·x·(c1·COS(x) + c2·SIN(x)).

в) DSOLVE2(-5, 4, 4x^2exp(2x), x) ^ ответ c1·e4·x – e2·x·(2·x2 – 2·x + 3) + c2·ex.

Упр 1. Найти общее решение y + 2 y = 4e x (sin x + cos x ).

y + y = 2 x, Задача 2. Найти решение краевой задачи y (0 ) = 0, y ( ) = 0.

Решение краевой задачи (если решение существует) возвращает функция DSOLVE2_BV(p, q, r, x, x0, y0, x1, y1).

Решение.

DSOLVE2_BV(0, 1, 2x - pi, x, 0, 0, pi, 0) ^ ответ ·COS(x) + 2·x –.

, y (0 ) = 3, y ( 2 ) = 3.

Упр 2. Найти решение задачи y + 2 y = cos x Задача 3. Найти решение задачи Коши y + y = 1, y (0 ) = 1, y (0 ) = 0.

Решение задачи Коши возвращает функция DSOLVE2_IV(p, q, r, x, x0, y0, v1).

Решение.

DSOLVE2_IV(1, 0, 1, x, 0, 1, 0) ^ ответ e–x + x.

9e3 x, y (0 ) = ln 4, Упр 3. Найти решение задачи Коши y + 3 y = 1 + e3 x y (0 ) = 3 (1 ln 2 ).

Задача 4. Найти решение автономного уравнения y + y = 1, y (0 ) = 0, y (0 ) = 1.

Решение задачи Коши для автономного уравнения вида y = q ( y ), y ( x0 ) = y0, y ( x0 ) = v0 возвращает функция AUTONOMOUS_CONSERVATIVE(q, x, y, x0, y0, v1).

Решение.

AUTONOMOUS_CONSERVATIVE(1 - y, x, y, 0, 0, 1) ^ ответ x = ASIN(2·y/2 – 2/2) + /4.

Упр 4. Найти решение задачи 4 y 3 y = y 4 1, y (0 ) = 2, y (0 ) =.

( )( Задача 5. Найти общее решение уравнения y + xy + y 4 1 y ) = 0.

Решение уравнения Лиувилля y + p ( x ) y + q ( y )( y ) = 0 возвращает фун кция LIOUVILLE(p, q, x, y, {c1, c2}).

Решение.

LIOUVILLE(x, y^4 - 1, x, y) ^.

1 y + ( y) = 0.

Упр 5. Найти общее решение уравнения y + x y Упр 6. Построить график распределения тепла в тонком стержне, если y 1.7 2 y = 0, y (0 ) = 1, y (1) = 2.

Упр 7. Построить график траектории полета тела единичной мас сы, брошенного под углом = /3 градусов к горизонту, с начальной скоро x = 0, x(0) = 0, x(0) = v cos( ) стью v = 40км/ч..

y = mg, y (0) = 0, y (0) = v sin( ) Задачи для самостоятельной работы 1. Найти общее решение дифференциального уравнения.

2. Найти решение задачи Коши.

Варианты заданий к задаче 1 к задаче 1. y + 2 y = 2e x (sin x + cos x ) y = 128 y 3, y (0) = 1, y (0) = 2. y + 2 y + 5 y = sin 2 x y y 3 + 64 = 0, y (0) = 4, y (0) = 3. y + 2 y = e (sin x + cos x ) y y 3 + 1 = 0, y (1) = 1, y (1) = x y = 2 y 3, y (1) = 1, y (1) = 4. y + 6 y + 13 y = e 3 x cos 4 x 5. y + 2 y + 5 y = 2sin x y = 98 y, y (1) = 1, y (1) = 6. y + 2 y = 10e x (sin x + cos x ) y y 3 + 49 = 0, y (3) = 7, y (3) = 7. y + y = 2 cos 5 x + 3sin 5 x y 3 y = y 4 16, y (0) = 2 2, y (0) = y = 72 y 3, y (2) = 1, y (2) = 8. y + 6 y + 13 y = e 3 x cos x 9. y + 2 y = 6e x (sin x + cos x ) y y 3 + 36 = 0, y (0) = 3, y (0) = 10. y + 6 y + 13 y = e 3 x cos 5 x y y 3 + 4 = 0, y (0) = 1, y (0) = 11. y + 2 y + 5 y = cos x 4 y 3 y = y 4 16, y (0) = 2 2, y (0) = 1 12. y + 2 y = 3e (sin x + cos x ) y = 50 y 3, y (3) = 1, y (3) = x y y 3 + 25 = 0, y (2) = 5, y (2) = 13. y + 6 y + 13 y = e 3 x cos 8 x y = 8 y, y (0) = 1, y (0) = 14. y 4 y + 4 y = e sin 6 x 2x 15. y + y = 2 cos 7 x + 3sin 7 x y = 8 y 3, y (0) = 1, y (0) = Лабораторная работа № Численные методы решения уравнений Задания на лабораторную работу 1. Решение уравнений методом деления пополам 2. Решение уравнений методом простых итераций 2. Решение уравнений и систем методом Ньютона 3. Решение дифференциальных уравнений и систем в виде многочлена Тейлора 4. Приближенное решение задачи Коши методом Эйлера 5. Приближенное решение задачи Коши методом Рунге-Кутта Примеры выполнения заданий Для выполнения лабораторной работы потребуются загруженные рас ширения solve.mth и ode_appr.mth.

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

Задача 1. Найти отличный от нуля корень уравнения x 2 5sin x = с четырьмя верными знаками после запятой методом деления пополам.

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

Опишем один шаг итераций. Пусть на (n – 1)-м шаге найден отрезок [an 1, bn 1 ] [a, b], такой, что f(an – 1 ) f(bn – 1 ) 0. Делим его пополам точкой = (an – 1 + bn – 1)/2 и вычисляем f( ). Если f( ) = 0, то корень уравнения найден.

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

Если требуется найти корень с точностью, то деление пополам про должаем до тех пор, пока длина отрезка не станет меньше 2. Тогда коорди ната серидины отрезка и есть значение корня с требуемой точностью. Для достижения точности необходимо совершить N итераций, где ba N = log 2. Это означает, что для получения каждых трех верных деся тичных знаков необходимо совершить около 10 итераций.

Метод бисекций не запрограммирован в Derive, но с помощью функции ITERATE или ITERATES, его можно легко реализовать. Функции ITERATE и ITERATES используют одинаковый синтаксис ITERATE(u, x, x0, {n}), ITERATES(u, x, x0, {n}). Единственное отличие функции ITERATES состоит в том, что она возвращает результаты всех промежуточных итераций.

Решение.

Запрограммируем метод бисекций: BISECT(f, x, a, b, epsilon) := ITERATE(IF(LIM(f,x, y sub 1)*LIM(f, x, SUM(y)/2) 0, [y sub 1, SUM(y)/ 2], [SUM(y)/2, y sub 2]), y, [a, b], ROUND(LOG((b-a)/epsilon, 2))). В каче стве критерия остановки итераций можно использовать достижение точно сти, установленной в системе. Для этого следует исключить из функции ар гументы epsilon и ROUND(LOG((b-a)/epsilon, 2)).

После этого нарисуем график функции f := x^2 - 5sin(x) и опреде лим, что корень уравнения заключен в интервале [1, 3].



Pages:   || 2 | 3 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.