Математика и математический анализ в Maple


     Лингвистический лагерь в подмосковье подробно. |    https://nailshop.in.ua - набор для дизайна ногтей | для получения нужной темы: http://www.pornofotovideo.ru - туб открыть           


Компьютерная математика Maple

Вряд ли эта мощная математическая система, разделяющая претензии на мировое лидерство с системами Mathematica фирмы Wolfram Research Inc., нужна секретарше или даже директору небольшой коммерческой фирмы. Но, несомненно, любая серьезная научная лаборатория или кафедра вуза должны располагать подобной системой, если они всерьез заинтересованы в автоматизации выполнения математических расчетов любой степени сложности. Несмотря на свою направленность на серьезные математические вычисления, системы класса Maple необходимы довольно широкой категории пользователей: студентам и преподавателям вузов, инженерам, аспирантам, научным работникам и даже учащимся математических классов общеобразовательных и специальных школ. Все они найдут в Maple многочисленные достойные возможности для применения.
По мнению автора, сравнение системы Maple 7 с лидером среди систем компьютерной математики — системой Mathematica 4.1 — непродуктивно. У каждой программы есть свои достоинства и недостатки. А главное — у них есть свои приверженцы, которых бесполезно убеждать, что иная система в чем-то лучше. Это все равно, что сравнивать великих исполнителей джазовой и рок-музыки Луи Амстронга и Би Би Кинга. Все, кто всерьез применяют системы компьютерной математики, должны работать с несколькими системами, ибо только это гарантирует высокий уровень надежности сложных вычислений.
И все же надо отметить, что интерфейс Maple 7 более интуитивно понятен, чем у строгой Mathematica 4.1. Maple 7 на первый взгляд имеет несколько менее мощную графику, но простота управления параметрами и легкость подготовки графических процедур часто позволяет визуализировать решения математических задач с меньшими усилиями, чем при использовании системы Mathematica 4.1. Обе системы в последних реализациях сделали качественный скачок в направлении эффективности решения задач в численном виде, в частности за счет повышения скорости выполнения матричных операций.
Особенно эффективно использование Maple при обучении математике. Высочайший «интеллект» этой системы символьной математики объединяется в ней с прекрасными средствами математического численного моделирования и просто потрясающими возможностями графической визуализации решений. Применение таких систем, как Maple, возможно при преподавании и самообразовании от самых основ до вершин математики.

Предисловие

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

Краткая характеристика систем класса Maple
Назначение и место систем Maple
Версии систем класса Maple.
Об ошибках в символьных вычислениях
Ядро и пакеты Maple 7
Языки системы Maple 7
Ориентация систем Maple
Возможности предшествующей версии Maple 6
Новые возможности системы Maple 7
Установка системы Maple 7 на ПК

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

Работа со справочной системой
Меню Help
Просмотр введения
Оперативная справка по контексту
Обучающий курс New User's Tour
Новые возможности Maple 7
Правила работы со справочной системой
Предметный поиск
Предметный поиск с полным обзором текста справки
История работы со справкой

Работа с файлами и документами
Система Maple работает с документами в стиле notebooks («блокноты» или «записные книжки»). Как было показано в уроке 1, документы содержат текстовые и формульные блоки, результаты вычислений, графики разного типа и другие компоненты. Документы могут готовиться с нуля или существовать в готовом виде — подготовленные кем-то ранее. Хранятся документы на внешних устройствах памяти в виде файлов. Файлом называют имеющую имя упорядоченную совокупность данных, размещенную на том или ином носителе — обычно на жестком, гибком или компакт-диске.

Операции с файлами
Меню File
Создание нового документа
Открытие документа
Сохранение документа
Запись документа на диск с переименованием
Экспорт файлов.
Закрытие документа
Запись настроек программы
Выход из системы

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

Управление видом интерфейса и документа
Меню View.
Управление показом панели инструментов
Управление показом контекстной панели
Управление показом строки состояния
Вывод палитр математических символов
Установка масштаба отображения документа
Установка закладок
Управление показом компонентов документа
Управление показом непечатаемых символов.

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

Maple-язык и его синтаксис
Знаки алфавита
Зарезервированные слова
Выражения и основы работы с ними
Выражения и их ввод
Оценивание выражений
Последовательности выражений.
Вывод выражений
Простые типы данных
Числа и числовые константы

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

Операторы и операнды
Виды операторов.
Бинарные (инфиксные) операторы
Операторы объединения, пересечения
Унарные арифметические операторы
Оператор % и команда history
Логические операторы
Специальные типы операторов
Функциональные операторы
Нейтральные операторы пользователя

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

Функции пользователя
Упрощенные функции пользователя.
Основной способ задания функции пользователя
Визуализация выполнения функций пользователя
Импликативные функции
Условные выражения
Циклы for и while
Операторы пропуска и прерывания
Процедуры и процедуры-функции
Простейшие процедуры

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

Основные формулы для сумм
Последовательности с заданным числом членов
Суммы с заданным пределом
Суммы бесконечных последовательностей
Сумма от перемены мест слагаемых меняется!
Двойные суммы
Вычисление произведений членов
Основные формулы для произведения
Примеры вычисления произведений
От перемены места сомножителей - меняется!

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

Анализ функций
Поиск экстремумов функций
Поиск минимумов и максимумов функций
Анализ функций на непрерывность
Определение точек нарушения непрерывности
Нахождение сингулярных точек функции
Вычисление асимптотических и иных разложений
Пример анализа сложной функции
Функции из отдельных кусков
Создание функций из отдельных кусков

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

Основные операции с выражениями
Работа с частями выражений
Работа с уровнями вложенности выражений
Преобразование выражений в формы
Преобразование выражений
Контроль за типами объектов
Подстановки
Функциональные преобразования подвыражений
Функциональные преобразования списков
Подстановки с помощью функций add, mul и seq

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

Введение в построение двумерных графиков
Основные возможности двумерной графики
Функция построения двумерных графиков — plot
Задание координатных систем графиков
Управление стилем и цветом линий графиков
Основные типы двумерных графиков
Графики одной функции
Управление диапазоном изменения переменной
Графики функций в неограниченном диапазоне
Графики функций с разрывами

Расширенные средства графики
В пакете plots есть функция для построения графиков в полярной системе координат. Она имеет вид polarplot(L,o), где L — объекты для задания функции, график которой строится, и о — необязательные параметры.

Пакет plots
Общая характеристика пакета plots
Графики функций в двумерной системе координат
Построение двумерных графиков типа implidtplot
Построение графиков линиями равного уровня
График плотности
Двумерный график векторного поля
Трехмерный график типа implidtplot3d
Графики в разных системах координат
Графики типа трехмерного поля из векторов

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

Основные средства решения диф. уравнений
Основная функция dsolve
Решение ОДУ первого порядка
Решение диф. уравнений второго порядка
Решение систем дифференциальных уравнений
Численное решение диф. уравнений
Диф. уравнения с кусочными функциями
Структура представления диф. уравнений
Пакет решения диф. уравнений DEtools.
Средства пакета DEtools

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

Назначение пакетов расширения
Обзор пакетов
Новые пакеты Maple 7
Получение информации о конкретном пакете
Пакеты функций комбинаторики
Пакет combinat.
Пакет combstruct
Пакет финансово-экономических функций finance
Пакет ортогональных многочленов orthopoly
Пакет для работы с суммами sumtools

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

Основные определения линейной алгебры
Пакет решения задач линейной алгебры linatg
Состав пакета linalg
Интерактивный ввод матриц
Функции для задания векторов и матриц
Функции для работы, с векторами и матрицами
Решение систем линейных уравнений.
Пакет NAG LinearAlgebra
Назначение и загрузка пакета LinearAlgebra.
Примеры матричных операций с LinearAlgebra

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

Пакет линейной оптимизации simplex
Обзор средств пакета
Функции maximize и minimize
Прочие функции пакета simplex.
Пакет планиметрии geometry
Набор функций пакета geometry
Пример применения пакета geometry
Визуализация объектов с помощью geometry
Пакет стереометрии geom3
Набор функций пакета geom3d

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

Небольшое введение
Выбор аппроксимации для сложной функции
Задание исходной функции и графика
Аппроксимации рядом Тейлора
Паде-аппроксимация
Аппроксимация полиномами Чебышева
Аппроксимация Чебышева-Паде
Минимаксная аппроксимация
Эффективная оценка рациональных функций
Сравнение времен вычислений

Математический анализ в Maple 9

Основной структурной единицей в Maple является рабочий лист, а само окно программы внешне напоминает окна приложений Microsoft Windows: такая же панель меню со стандартным набором команд (часть из них специфична для Maple, но многие, особенно те, которые касаются редактирования документов, вполне знакомы пользователю системы Windows вообще и редактора Word в частности), панель инструментов с кнопками, дублирующими команды панели меню, контекстная панель, рабочая область, строка состояния.
Работа осуществляется в интерактивном режиме: пользователь вводит команду, нажимает <Enter>, после чего в том же рабочем листе под введенной командой отображается результат выполнения операции вычислительным ядром Maple. Сам рабочий лист разбивается на группы. В пределах одной группы выполняются сразу все команды — в порядке их следования в группе. Поэтому формально в Maple выполняется не команда, а группа команд (другое дело, что группа может состоять из одной команды). Что касается самих групп, то их выполнять можно в произвольном порядке, На первый взгляд может показаться, что такой подход создает искусственные трудности в работе. Однако это далеко не так. Грамотно составленный рабочий лист Maple напоминает музыкальный инструмент, в котором роль клавиш играют группы — "сыграть" на нем можно практически любую "мелодию". Это яркое проявление абсолютно новой философии, реализованной командой разработчиков университета Waterloo.
Maple — "аналитик" до мозга костей. Даже в тех случаях, когда вычисления носят численный характер, расчетные алгоритмы очень часто реализуются так, чтобы получить сначала аналитический результат (хотя данный режим может быть отключен — с этой целью предусмотрены специальные опции). Кстати, численные значения могут быть получены с практически любой нужной степенью точности, причем достаточно быстро.
В Maple на сегодня в общей сложности используется более трех тысяч команд, однако некоторые из них (наиболее важные) применяются достаточно часто и составляют костяк базового языка. Они, в основном, имеют отношение к проблемам интегрирования и дифференцирования функций, решения уравнений и т.п. Некоторые команды доступны только при подключении специальных пакетов.

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

Общая характеристика Maple
Особенности установки и системные требования
Структура книги и система обозначений
Коды команд

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

Структура рабочего окна
Панель меню
Панель инструментов
Контекстные панели
Заключительные замечания
Контрольные вопросы

Вычисление производных
Для вычисления производной в Maple предусмотрена процедура diff()5 параметрами которой являются: а) функция, от которой берут производную, и б) переменная, по которой эту производную следует брать. Результатом выполнения процедуры является выражение, задающее искомую производную. Кроме того, существует неактивная форма процедуры вычисления производной — Diff ().

Вычисление производных явно заданных функций
Вычисление функций, заданных параметрически
Производные от неявно заданных функций
Производные высших порядков
Вычисление пределов
Экстремум функции
Частные производные
Дифференцирование нескольких переменных
Замена переменных
Экстремум функции нескольких переменных

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

Суммирование числовых рядов
Исследование рядов на сходимость
Разложение функций в ряды Тейлора и Лорана
Разложение функций в ряд Фурье
Специальные функции
Заключительные замечания

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

Вычисление неопределенных интегралов
Вычисление определенных интегралов
Интегральные преобразования
Двойные интегралы
Тройные интегралы
Криволинейные интегралы
Поверхностные интегралы
Заключительные замечания

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

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

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

Задачи динамики
Системы с колебаниями
Заключительные замечания
Контрольные вопросы


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

Интерполяция методом Лагранжа
Интерполяция методом Ньютона
Общая задача интерполирования
Встроенные процедуры Maple
Процедуры пакета CurveFitting
Решение уравнений
Численное дифференцирование
Численное интегрирование
Заключительные замечания
Контрольные вопросы

Математический анализ в Maple

Важным разделом математики является исследование аналитических функций. Оно обычно заключается в определении координат особых точек функции и ее значений в этих точках, а также в выяснении особенностей функции, таких как наличие точек разрыва, асимптот, точек перегибов, разрывов и т. д. К сожалению, пока нет средств, сразу выявляющих все особенности функций, поскольку даже средства, решающие частные задачи анализа функций, довольно сложны и специфичны. Достаточно отметить проблему поиска экстремумов функций (особенно функций нескольких переменных). Поэтому функции приходится анализировать индивидуально.
С помощью функции fsolve легко находятся значения независимой переменной х функций вида f(x), при которых f(x)=0 (корни этого уравнения). При этом данная функция позволяет (в отличие от функции solve) изолировать корни функции f(x) указанием примерного интервала их существования. Ряд функций служит для вычисления экстремумов, максимумов и минимумов функций, а также для определения их непрерывности. Одна из таких функций, extrema, позволяет найти экстремумы выражения ехрr (как максимумы, так и минимумы) при ограничениях constcs и переменных vans, по которым ищется экстремум: extrema(expr. constrs) extrema(expr, constrs, vars) extrematexpr, constrs, vans, V)
Ограничения contrs и переменные vars могут задаваться одиночными объектами или списками ряда ограничений и переменных. Найденные координаты точки экстремума присваиваются переменной 's'. При отсутствии ограничений в виде равенств или неравенств вместо них записывается пустой список {}. Эта функция в предшествующих версиях Maple находилась в стандартной библиотеке и вызывалась командой readlib(extrema). Но в Maple 7 ее можно использовать без предварительного объявления.

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

Конвертирование и преобразование интегралов
Шаг 1
Шаг 2
Шаг 3
Вычисление определенных интегралов
Шаг 1
Шаг 2
Шаг 3
Каверзные интегралы и визуализация
Шаг 1

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

Анализ функций
Шаг 1
Шаг 2
Шаг 3
Работа с функциями piecewise
Шаг 1
Шаг 2
Шаг 3
Операции с полиномами
Шаг 1

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

Функции сортировки и селекции
Шаг 1
Шаг 2
Шаг 3
Шаг 4
Упрощение выражений
Шаг 1
Шаг 2
Шаг 3
Шаг 4

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

Графики функций построенные точками
Шаг 1
Шаг 2
Шаг 3
Графики функций заданных своими именами
Шаг 1
Графики функций с ординатами заданными вектором
Шаг 1
Графики функций заданных процедурами
Шаг 1

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

Контурные трехмерные графики
Шаг 1
Визуализация сложных пространственных фигур
Шаг 1
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Техника анимирования графиков
Шаг 1

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

Представление решений диф. уравнений
Шаг 1
Шаг 2
Шаг 3
Функция DEplot из пакета DEtools
Шаг 1
Шаг 2
Функция DEplotSd из пакета DEtools
Шаг 1
Функция PDEplot пакета DEtools

Самоучитель по Maple

Автор данной книги, как и многие почитатели компьютерных вычислений, прошел долгий путь их реализации: от программируемых микрокалькуляторов до работы на малых и персональных ЭВМ, использующих универсальные языки программирования высокого уровня. Это нашло отражение в его ранних книгах [1-3]. Совсем недавно пользователь ЭВМ, решая даже простые численные задачи, был вынужден осваивать основы программирования и готовить кустарные программы, вряд ли нужные кому-либо еще, кроме их создателя. Между тем возможности компьютеров постоянно росли. Сейчас персональный компьютер (ПК) с микропроцессором класса Pentium II, III или 4 намного превосходит по своим возможностям первые ЭВМ, занимавшие целые комнаты и залы. А скорость вычислений нынешних ПК в сотни раз превосходит скорость вычислений легендарных IBM PC XT и AT (первых ПК) и вплотную приближается к скорости вычислений суперЭВМ недавнего прошлого.

Предисловие
В последние годы показателем интеллектуальной мощи компьютеров, в том числе и персональных, стали уже не программы для игры в шахматы, а новейшие программные системы символьной математики или компьютерной алгебры [17-38]. Созданные для проведения символьных преобразований математических выражений, эти системы были доведены до уровня, позволяющего резко облегчить, а подчас и заменить, труд самой почитаемой научной элиты мира — математиков: теоретиков и аналитиков.

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

Палитры ввода математических символов
Всплывающие подсказки
Начальные навыки работы
Понятие о функциях и операторах
Понятие о функциях и операторах - 2
Управление с помощью мыши
Версии систем класса Maple
Обработка и индикация ошибок
Обработка и индикация ошибок - 2
Обработка и индикация ошибок - 3

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

Модернизация справочной базы данных
Включение всплывающих подсказок
Удаление разделов базы данных
Регистрация системы
Что нового мы узнали ?
Вывод окна с информацией о системе
Оперативная справка по контексту
Просмотр введения
Новые возможности Maple 7
Правила работы со справочной системой

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

Выход из системы
Команда Print
Предварительный просмотр страниц
Установка параметров принтера
Отмена последней операции
Восстановление отмененной операции
Меню Edit
Меню Edit - 2
Перенос объекта в буфер обмена
Копирование объекта в буфер

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

Понятие о секциях и подсекциях
Управление показом областей ячеек
Управление показом областей секций
Закрытие всех секций
Раскрытие всех секций
Управление выводом
Меню Options
Установка режима вставки новой ячейки
Задание браузера
Параметры экспорта документов

Преобразования чисел с разным основанием
В Maple возможна работа с числами, имеющими различное основание (base), в частности с двоичными числами (основание 2 — binary), восьмеричными (основание 8 — octal) и шестнадцатеричными (основание 16 — hex). Функция convert позволяет легко преобразовывать форматы чисел

Знаки алфавита
Наборы (множества)
Списки выражений
Массивы, векторы и матрицы
Таблицы
Строковые данные
Неисполняемые программные комментарии
Числовые константы
Строковые константы
Встроенные в ядро константы

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

Понятие о встроенных функциях
Определение операторов с define
Некоторые целочисленные функции и факториал
Тригонометрические функции
Обратные тригонометрические функции
Гиперболические функции
Обратные гиперболические функции
Степенные и логарифмические функции
Функции с элементами сравнения
Функции комплексного аргумента

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

Статус переменных в процедурах и циклах
Объявления переменных локальными с local
Функция вывода сообщений об ошибках ERROR
Объявления переменных глобальными с global
Общая форма задания процедуры
Ключи в процедурах
Ключи в процедурах - 2
Средства контроля и отладки процедур
Средства контроля и отладки процедур - 2
Средства контроля и отладки процедур - 3

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

Функции дифференцирования выражений diff и Diff
Дифференциальный оператор D
Вычисление неопределенных интегралов
Конвертирование и преобразование интегралов
Вычисление определенных интегралов
Интегралы с переменными пределами
Вычисление кратных интегралов
Вычисление пределов функций
Разложение в степенной ряд
Последовательности с заданным числом членов

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

Работа с функциями piecewise
Выделение коэффициентов полиномов
Определение полиномов
Оценка коэффициентов полинома по степеням
Оценка степеней полинома
Разложение полинома на множители
Разложение полинома по степеням
Вычисление корней полинома
Основные операции с полиномами
Операции над степенными многочленами

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

Функции сортировки и селекции
Расширение выражений
Упрощение выражений
Упрощение выражений - 2
Разложение целых и рациональных чисел
Разложение выражений (факторизация)
Комплектование по степеням
Реализация итераций Ньютона
Вычисление интеграла по известной формуле
Что нового мы узнали?

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

Графики функций, построенные точками
Графики функций, построенные точками - 2
Графики функций, заданных своими именами
Графики функций, заданных своими именами - 2
Графики функций, заданных процедурами
Графики функций, заданных процедурами - 2
Графики функций с ординатами
Графики функций с ординатами - 2
Графики функций, заданных параметрически
Графики функций, заданных параметрически - 2

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

Общая характеристика пакета plots
Анимация двумерных графиков
Визуализация сложных пространственных фигур
Визуализация пространственных фигур - 2
Проигрыватель анимированной графики
Построение трехмерных анимационных графиков
Построение двумерных анимированных графиков
Анимация с помощью параметра insequence
Примитивы пакета plottools
Примеры применения пакета plottools

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

Применение функции odeplot пакета plots
Функция DEplot из пакета DEtools
Функция DEplot из пакета DEtools - 2
Функция DEplotSd из пакета DEtools
Функция PDEplot пакета DEtools
Графическая функция dfieldplot
Графическая функция phaseportrait
Задачи углубленного анализа ДУ
Проверка ДУ на автономность
Контроль уровня вывода решения ДУ

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

Работа с пакетом sumtools
Состав пакета powseries
Примеры применения пакета powseries
Состав пакета numapprox
Разложение функции в ряд Лорана
Паде-аппроксимация с полиномами Чебышева
Паде-аппроксимация аналитических функций
Наилучшая минимаксная аппроксимация
Аппроксимация по алгоритму Ремеза
Другие функции пакета

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

LinearFunctionalSystems
Интерактивный ввод матриц
Функции для задания векторов и матриц
Состав пакета linalg
Состав пакета linalg - 2
Решение систем линейных уравнений
Функции для работы с векторами и матрицами
Функции для работы с векторами и матрицами - 2
Назначение и загрузка пакета LinearAlgebra
Назначение и загрузка пакета LinearAlgebra - 2

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

Примеры применения пакета algcurves
Построение алгебраических кривых класса knot
Набор функций пакета networks
Новая функция Maple 7 plot_real_curve
Получение информации о графе
Характеристика пакета stats
Примеры применения пакета networks
Примеры применения пакета networks - 2
Генерация случайных чисел с распределением
Графика статистического пакета stats

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

Преобразование в код Фортрана или С
Расчет траектории камня с учетом воздуха
Движение частицы в магнитном поле
Разделение изотопов
Maple для моделирования электронных схем?
Моделирование рассеивания альфа- частиц
Моделирование рассеивания альфа- частиц - 2
Расчет аналогового фильтра на усилителе
Малосигнальный анализ усилителя
Малосигнальный анализ усилителя - 2

Заключение
Программа Maple корпорации Waterloo Maple Inc. — патриарх в мире систем компьютерной математики. Эта система, снискавшая себе мировую известность и огромную популярность, является одной из лучших среди систем символьной математики, позволяющих решать математические задачи в аналитическом виде. Эта книга познакомила читателей с новейшей версией Maple — Maple 7. Она вобрала в себя не только обширные и мощные возможности- предшествующих реализаций системы, но и предоставила в распоряжение пользователя ряд новых возможностей. Прежде всего это целый букет пакетов: CurveFitting, PolynomialTools, OrthogonalSeries и др.

Учебник по промышленной статистике

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

Элементарные понятия статистики
В учебнике детально рассмотрены методы промышленной статистики и реализация их с помощью программных продуктов серии STATISTICA. Включены материалы по методике внедрения ISO 9000. Подробно обсуждаются некоторые специфические требования ISO 9000, связанные со статистическим контролем процессов (SPC), а так же объясняются способы решения проблем SPC на STATISTICA. Описание различных областей организовано в виде текстовых "модулей". Каждый такой модуль соответствует определенному классу методов промышленной статистики.

Элементарные понятия статистики
Элементарные понятия статистики - 2
Элементарные понятия статистики - 3
Элементарные понятия статистики - 4
Элементарные понятия статистики - 5
Элементарные понятия статистики - 6
Элементарные понятия статистики - 7
Элементарные понятия статистики - 8
Элементарные понятия статистики - 9
Элементарные понятия статистики - 10

ISO 9000 Bases
В этом разделе рассматриваются решения типовых производственных задач, связанных с контролем качества. В основном, - это отчеты менеджеров по качеству, выполненные в форме: проблема, варианты решения, результаты. В конце приводятся комментарии наших технических специалистов. Мы планируем все время дополнять раздел новыми материалами. Следите за изменениями.

ISO 9000 Bases
ISO 9000 Bases - 2
ISO 9000 Bases - 3
ISO 9000 Bases - 4
ISO 9000 Bases - 5
ISO 9000 Bases - 6
ISO 9000 Bases - 7
ISO 9000 Bases - 8
ISO 9000 Bases - 9
ISO 9000 Bases - 10

Анализ соответствий
Это простая двувходовая таблица. Можно считать, что 4 числа в каждой строке данной таблицы являются координатами 4-х мерного пространства, и значит, можно вычислить (евклидовы) расстояния между 5-ю точками (строками) этого 4-х мерного пространства. Расстояния между данными точками в 4-х мерном пространстве объединяют (агрегируют) всю информацию о сходствах между строками в том смысле, что чем меньше расстояние, тем больше сходство между категориями курящих.

Анализ соответствий
Анализ соответствий - 2
Анализ соответствий - 3
Анализ соответствий - 4
Анализ соответствий - 5
Анализ соответствий - 6
Анализ соответствий - 7
Анализ соответствий - 8
Анализ соответствий - 9
Анализ соответствий - 10

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

Множественная регрессия
Множественная регрессия - 2
Множественная регрессия - 3
Множественная регрессия - 4
Множественная регрессия - 5
Множественная регрессия - 6
Множественная регрессия - 7
Множественная регрессия - 8
Многомерное шкалирование
Многомерное шкалирование - 2

Моделирование структурными уравнениями
Например, с помощью этой процедуры вы можете проверить гипотезу о равенстве дисперсий у всех переменных; Модели корреляционной структуры, которое позволяет проверить гипотезу о том, что матрица корреляции имеет определенный вид. Классическим примером является гипотеза о том, что матрица корреляции имеет циклическую структуру (см. книгу Guttman, 1954; Wiggins, Steiger, и Gaelick, 1981); Модели структуры средних, которые позволяют исследовать структуру средних, например, одновременно с анализом дисперсий и ковариаций.

Моделирование структурными уравнениями
Моделирование структурными уравнениями - 2
Моделирование структурными уравнениями - 3
Моделирование структурными уравнениями - 4
Моделирование структурными уравнениями - 5
Моделирование структурными уравнениями - 6
Анализ выживаемости
Анализ выживаемости - 2
Анализ выживаемости - 3
Анализ выживаемости - 4

Учебник по контролю качества
Ручка реостата, изготовленная из пластмассы с помощью формы, имеет металлическую вставку, приобретаемую у поставщика. Собранное из этих двух деталей изделие должно иметь строго определенный размер. Эта величина, которая зависит как от металлической вставки, так и от формовочной операции, задается техническим отделом в пределах 0.140 ± 0.003 дюйма. Многие отформованные ручки при прохождении 100% контроля датчиками по принципу “годен – не годен” отбраковываются при обнаружении выхода за заданный допуск.

Учебник по контролю качества (III)
Учебник по контролю качества (III) - 2
Учебник по контролю качества (III) - 3
Учебник по контролю качества (III) - 4
Учебник по контролю качества (III) - 5
Учебник по контролю качества (III) - 6
Учебник по контролю качества (III) - 7
Учебник по контролю качества (III) - 8
Учебник по контролю качества (III) - 9
Учебник по контролю качества (III) - 10

Ассемблер для DOS, Windows и Unix

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

Введение
Первый вопрос, который задает себе человек, впервые услышавший об этом языке программирования, а зачем он, собственно, нужен? Особенно теперь, когда все пишут на C/C++, Delphi или других языках высокого уровня? Ведь очень многое можно создать на С, но ни один язык, даже такой популярный, не может претендовать на то, чтобы на нем можно было написать действительно все.

Что потребуется для работы с ассемблером
Прежде всего вам потребуется ассемблер. Здесь самое время сказать, что на самом деле язык программирования, которым мы собираемся заниматься, называется язык ассемблера (assembly language). Ассемблер это программа, которая переводит текст с языка, понятного человеку, в язык, понятный процессору, то есть говорят, что она переводит язык ассемблера в машинный код. Однако сначала в повседневной речи, а затем и в литературе слово ассемблер стало также и названием самого языка программирования.

Представление данных в компьютерах
Двоичная система счисления
Биты, байты и слова
Биты, байты и слова - 2
Шестнадцатеричная система счисления
Числа со знаком
Логические операции
Коды символов

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

Регистры процессора
Регистры общего назначения
Сегментные регистры
Стек
Регистр флагов
Способы адресации
Регистровая адресация
Непосредственная адресация
Прямая адресация
Косвенная адресация

Директивы и операторы ассемблера
Каждая программа на языке ассемблера помимо команд процессора содержит еще и специальные инструкции, указывающие самому ассемблеру, как организовывать различные секции программы, где располагаются данные, а где команды, позволяющие создавать макроопределения, выбирать тип используемого процессора, организовывать связи между процедурами и т.д. К сожалению, пока нет единого стандарта на эти команды (он существует для UNIX, о чем рассказано в ). Разные ассемблеры используют различные наборы директив, но TASM и MASM (два самых популярных ассемблера для DOS и Windows) поддерживают общий набор, или, точнее, TASM поддерживает набор директив MASM наряду с несовместимым собственным, известным как Ideal Mode.

Структура программы
Структура программы - 2
Псевдокоманды определения переменных
Структуры
Сегменты
Сегменты - 2
Модели памяти и директивы сегментов
Модели памяти и директивы сегментов - 2
Порядок загрузки сегментов
Процедуры

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

Программа типа СОМ
Программа типа СОМ - 2
Программа типа ЕХЕ
Средства DOS
Средства DOS - 2
Средства BIOS
Средства BIOS - 2
Средства BIOS - 3
Средства BIOS - 4
Прямая работа с видеопамятью

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

Структуры IF.. THEN... ELSE
Структуры CASE
Конечные автоматы
Циклы
Процедуры и функции
Передача параметров
Передача параметров по значению
Передача параметров по ссылке
Передача параметров по возвращаемому
Передача параметров по результату

Блочные устройства
Для написания своего драйвера блочного устройства можно пользоваться схемой, аналогичной символьному драйверу из предыдущей главы. Единственное важное отличие процедура инициализации должна будет подготовить и заполнить ВРВ, а также сообщить DOS число устройств, для которых действует этот драйвер.

Программирование в защищенном режиме
Все, о чем рассказано до этой главы, рассчитано на работу под управлением DOS в реальном режиме процессора (или в режиме V86), унаследованном еще с семидесятых годов. В этом режиме процессор неспособен адресоваться к памяти выше границы первого мегабайта. Кроме того, из-за того, что для адресации используются 16-битные смещения, невозможно работать с массивами больше 65536 байт. Защищенный режим лишен этих недостатков, в нем можно адресоваться к участку памяти размером 4Гб как к одному непрерывному массиву и вообще забыть о сегментах и смещениях.

Адресация в защищенном режиме
Адресация в защищенном режиме - 2
Адресация в защищенном режиме - 3
Адресация в защищенном режиме - 4
Интерфейс VCPI
Интерфейс VCPI - 2
Интерфейс VCPI - 3
Интерфейс DPMI
Переключение в защищенный режим
Функции DPMI управления дескрипторами

Программирование для Windows 95 и Windows NT
Несмотря на то что Windows95 и WindowsNT кажутся более сложными операционными системам по сравнению с DOS, программировать для них на ассемблере намного проще. С одной стороны, Windows-приложение запускается в 32-битном режиме (мы не рассматриваем Windows3.11 и более старые версии, которые работали в 16-битном режиме) с моделью памяти flat, так что программист получает все те преимущества, о которых говорилось в предыдущей главе, а с другой стороны нам больше не нужно изучать в деталях, как программировать различные устройства компьютера на низком уровне.

Первая программа
Первая программа - 2
Первая программа - 3
Консольные приложения
Консольные приложения - 2
Консольные приложения - 3
Консольные приложения - 4
Окно типа MessageBox
Окна
Окна - 2

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

Передача параметров
Конвенция Pascal
Конвенция С
Смешанные конвенции
Искажение имен
Встроенный ассемблер
Встроенный ассемблер в Pascal
Встроенный ассемблер в С

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

Высокоуровневая оптимизация
Оптимизация на среднем уровне
Вычисление констант вне цикла
Перенос проверки условия в конец цикла
Выполнение цикла задом наперед
Разворачивание циклов
Общие принципы низкоуровневой оптимизации
Основные рекомендации
Команда LEA
Выравнивание

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

Регистры
Системные флаги
Регистры управления памятью
Регистры управления процессором
Регистры управления процессором - 2
Отладочные регистры
Отладочные регистры - 2
Машинно-специфичные регистры
Системные и привилегированные команды
Системные и привилегированные команды - 2

Программирование на ассемблере в среде UNIX
Операционная система MS-DOS, получившая дальнейшее развитие в виде Windows, долгое время была практически единственной операционной системой для персональных компьютеров на базе процессоров Intel. Но с течением времени мощность процессоров выросла настолько, что для них стало возможным работать под управлением операционных систем класса UNIX, использовавшихся обычно на более мощных компьютерах других компаний. В настоящее время существует более двадцати операционных систем для Intel, представляющих те или иные диалекты UNIX. Мы рассмотрим наиболее популярные из них.

Синтаксис AT&T
Основные правила
Запись команд
Адресация
Операторы ассемблера
Префиксные, или унарные операторы
Инфиксные, или бинарные операторы
Директивы ассемблера
Директивы определения данных
Директивы управления символами

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

Символы ASCII
Номера строк соответствуют первой цифре в шестнадцатеричном коде символа, номера столбцов второй, так что, например, код большой латинской буквы A 41h

Управляющие символы ASCII
Кодировки второй половины ASCII
Коды символов расширенного ASCII
Приложение 2. Команды INTEL 80x86
Общий формат команды процессора Intel
Значения полей кода команды
Значения поля ModRM
Значения поля SIB
Общая информация о скоростях выполнения
Общая информация о скоростях выполнения - 2

История экономических учений - перейти
История экономических учений - перейти
История экономических теорий - перейти
Познание экономической практики - перейти
История экономических учений в системе наук - перейти
Денежное обращение и регулирование - перейти
Денежное обращение - перейти
Валютное международное право - перейти
Связывание файлов - перейти
Шаблоны и сценарии - перейти
Структура публикации - перейти
Компоновка текста и графики - перейти
Специальные эффекты - перейти
Верстка таблиц и бланков - перейти
Верстка книг - перейти





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