Математический анализ в матричной лаборатории
купить детский квадроцикл

Матричная лаборатория MatLab

Система MATLAB предлагается разработчиками (фирма Math Works, Inc.) как лидирующий на рынке, в первую очередь в системе военно-промышленного комплекса, в аэрокосмической отрасли и автомобилестроении, язык программирования высокого уровня для технических вычислений с большим числом стандартных пакетов.прикладных программ. Система MATLAB вобрала в себя не только передовой опыт развития и компьютерной реализации численных методов, накопленный за последние три десятилетия, но и весь опыт становления математики за всю историю человечества. Около миллиона легально зарегистрированных пользователей уже применяют эту систему. Ее охотно используют в своих научных проектах ведущие университеты и научные центры мира. Популярности системы способствует ее мощное расширение Simulink, предоставляющее удобные и простые средства, в том числе визуальное объектно-ориентированное программирование, для моделирования линейных и нелинейных динамических систем, а также множество других пакетов расширения системы.
К сожалению, в России неоправданно мало публикаций по системе MATLAB. Помимо обзоров и первой книги по этой системе, в течение ряда лет серьезных изданий, посвященных MATLAB, практически не было. Наконец, в 1997-1999 гг. появились книги, содержащие перевод части фирменных справочников по системе MATLAB 4.0/5.2. При этом книга описывает лишь отдельные средства упрощенной студенческой версии системы MATLAB 5.0. Стали появляться и книги по пакетам расширения этой системы, и учебные курсы по системе MATLAB. Между тем за рубежом системе MATLAB посвящены сотни книг (их список можно найти на Web-узле фирмы Math Works, Inc., разработавшей эту систему), и еще сотни книг посвящены системе Maple V Release 5, ядро которой входит в состав пакетов расширения MATLAB 6.
Таким образом, интерес к системе MATLAB остается у нас неудовлетворенным. Особенно это относится к учебной литературе по новейшим реализациям системы MATLAB, в первую очередь MATLAB 6. Система MATLAB 6.0 появилась в конце 2000 г., а система MATLAB 6.1 (в которой весьма существенно переработаны пакеты расширения, но в ядро системы добавлены лишь две команды для работы со звуком и команда strfind, дополняющая возможности подробно описанной в книге функции findstr) — в июле 2001 г. MATLAB 6 является последней (на момент подготовки рукописи этой книги) реализацией системы MATLAB. В новой реализации системы не только расширены ее возможности, но и радикально переработан и улучшен интерфейс пользователя, существенно обновился состав пакетов расширений.

Введение

Урок 1. Знакомство с матричной лабораторией MATLAB
Современная компьютерная математика предлагает целый набор интегрированных программных систем и пакетов программ для автоматизации математических расчетов: Eureka, Gauss, TK Solver!, Derive, Mathcad, Mathematica, Maple V и др. Возникает вопрос: «А какое место занимает среди них система MATLAB?» MATLAB — одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение в названии системы — MATrix LABoratory — матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что эта ориентация почти не ощущается теми пользователями, которых не интересуют непосредственно матричные вычисления. Матрицы широко применяются в сложных математических расчетах, например при решении задач линейной алгебры и математического моделирования статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. Примером может служить расширение MATLAB — Simulink. Это существенно повышает интерес к системе MATLAB, вобравшей в себя лучшие достижения в области быстрого решения матричных задач.

Знакомство с матричной лабораторией MATLAB
История появления системы MATLAB
Возможности систем MATLAB
Возможности прежних версий MATLAB 4.x
Возможности версий MATLAB 5.x
Возможности новейшей версии MATLAB 6
Интеграция с другими программными системами
Ориентация на матричные операции
Расширяемость системы
Мощные средства программирования
Визуализация и графические средства
Техническая документация по системе
MATLAB в Интернете
Главная страница фирмы MathWorks
Регистрация через Интернет
Поддержка системы MATLAB фирмой MathWorks
MATLAB в образовании
Обновление системы MATLAB через Интернет
Доступ к FTP-серверу фирмы MathWorks
Данные о системных ресурсах и пакетах расширения
Что нового мы узнали?

Урок 2. Установка системы и первые навыки работы
Мы рассматриваем систему, ориентированную на IBM PC (Intel80X86/ Pentium) — совместимые компьютеры под управлением Microsoft Windows как наиболее распространенные. Math Works рекомендует графические видеокарты Accel Eclipse фирмы Accel Graphics для аппаратной поддержки новых, введенных в MATLAB 6, эффектов трехмерной графики (расчет сцены и рендеринг Open GL) на этой платформе. Но наряду с ними MathWorks тщательно протестировала чисто программные драйверы операционных систем Windows. Если ваш графический ускоритель, аппаратно поддерживающий Open GL, другого типа, фирма MathWorks, Inc. его не протестировала со своей обычной легендарной скрупулезностью. Но это не значит, что искажения трехмерной графики неизбежны. Если у вас будут сомнения, вы всегда сможете программно отключить аппаратную поддержку Open GL, прежнему эффективно используя свой графический ускоритель для обработки шгонов, и задействовать только тщательно проверенное MathWorks программное обеспечение Open GL.

Установка системы и первые навыки работы
Установка и файловая система MATLAB
Запуск MATLAB и работа в режиме диалога
Новый и старый облик системы MATLAB 6.0 Операции строчного редактирования
Команды управления окном
MATLAB в роли суперкалькулятора
О переносе строки в сессии
Основные объекты MATLAB
Понятие о математическом выражении
Действительные и комплексные числа
Константы и системные переменные
Текстовые комментарии
Переменные и присваивание им значений
Уничтожение определений переменных
Операторы и функции
Применение оператора : (двоеточие)
Сообщения об ошибках и исправление ошибок
Форматы чисел
Формирование векторов и матриц
Особенности задания векторов и матриц
Объединение малых матриц в большую
Удаление столбцов и строк матриц
Операции с рабочей областью и текстом сессии
Дефрагментация рабочей области
Сохранение рабочей области сессии
Ведение дневника
Загрузка рабочей области сессии
Завершение вычислений и работы с системой
Завершение вычислений
Завершение работы с системой
Что нового мы узнали?

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

Основы графической визуализации вычислений
Особенности графики системы MATLAB
Построение графика функций одной переменной
Построение в одном окне графиков нескольких функций
Графическая функция fplot
Столбцовые диаграммы
Построение трехмерных графиков
Вращение графиков мышью
Контекстное меню графиков
Основы форматирования двумерных графиков
Форматирование линий графиков
Форматирование маркеров опорных точек
Форматирование линий и маркеров для графика нескольких функций
Форматирование осей графиков
Нанесение надписей и стрелок прямо на график
Построение легенды и шкалы цветов на графике
Перемещение графика в графическом окне
Применение графической "лупы"
Работа с камерой ЗD-графики
Заключительные замечания по графике
Что нового мы узнали?

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

Урок 5. Пользовательский интерфейс MATLAB
Как видно из материалов предыдущих уроков, в новой версии MATLAB в полной мере сохранен командный интерактивный режим работы. Это старый фасад дворца MATLAB. Командный режим остается одним из наиболее удобных и проверенных методов работы с системой. Имеются и типовые средства приложений Windows 95/98/Me/2000/NT4 — меню и панель инструментов. Но они по-прежнему выглядят намного скромнее, чем у большинства современных приложений Windows. Видимо, так и должно быть — чем серьезнее математическая система, тем меньше она нуждается в использовании всевозможных кнопок на панели инструментов и тем скромнее может быть ее главное меню.

Пользовательский интерфейс MATLAB
Общая характеристика пользовательского интерфейса
Упрощенный интерфейс
Работа с панелью инструментов
Средства панели инструментов
Вызов окна открытия нового файла
Вызов окна загрузки имеющегося файла
Операции с буфером обмена
Отмена результата предшествующей операции
Запуск приложения Simulink
Вызов справки MATLAB
Средства контроля рабочей области и файловой системы
Браузер рабочей области
Команды просмотра рабочей области who и whos
Браузер файловой структуры
Работа с меню
Команды, операции и параметры
Меню системы
Подменю File
Открытие окон для подготовки новых файлов
Загрузка и сохранение файлов
Установка путей доступа файловой системы
Настройка элементов интерфейса
Обеспечение печати - команды Print и Print Selection
Меню Edit - средства редактирования документов
Меню View и Window
Основы редактирования и отладки m-файлов
Интерфейс редактора/отладчика m-файлов
Цветовые выделения и синтаксический контроль
Понятие о файлах-сценариях и файлах-функциях
Панель инструментов редактора и отладчика
Работа сточками прерывания
Интерфейс графических окон
Обзор интерфейса графических окон
Панель инструментов камеры обзора
Меню инструментов Tools
Вращение графиков мышью
Операции вставки
Общение MATLAB с операционной системой
Работа с папками
Выполнение команд !, dos, unix и vms
Общение с Интернетом из командной строки
Некоторые другие команды
Что нового мы узнали?

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

Обычная графика MATLAB
Построение графиков отрезками прямых
Графики в логарифмическом масштабе
Графики в полулогарифмическом масштабе
Столбцовые диаграммы
Построение гистограмм
Лестничные графики - команды stairs
Графики с зонами погрешности
График дискретных отсчетов функции
Графики в полярной системе координат
Угловые гистограммы
Графики векторов
График проекций векторов на плоскость
Контурные графики
Создание массивов данных для трехмерной графики
Графики поля градиентов quiver
Построение графиков поверхностей
Сетчатые 3D-графики с окраской
Сетчатые 3D-графики с проекциями
Построение поверхности столбцами
Построение поверхности с окраской
Построение поверхности и ее проекции
Построение освещенной поверхности
Средства управления подсветкой и обзором фигур
Построение графиков функций трех переменных
График трехмерной слоеной поверхности
Трехмерные контурные графики
Установка титульной надписи
Установка осевых надписей
Ввод текста в любое место графика
Позиционирование текста с помощью мыши
Вывод пояснений
Маркировка линий уровня на контурных графиках
Управление свойствами осей графиков
Включение и выключение сетки
Наложение графиков друг на друга
Разбиение графического окна
Изменение масштаба графика
Установка палитры цветов
Установка соответствия между палитрой цветов и масштабом осей
Окраска поверхностей
Установка палитры псевдоцветов
Создание закрашенного многоугольника
Окраска плоских многоугольников
Вывод шкалы цветов
Цветные плоские круговые диаграммы
Другие команды управления световыми эффектами
Окрашенные многоугольники в пространстве
Цветные объемные круговые диаграммы
Построение цилиндра
Построение сферы
Трехмерная графика с треугольными плоскостями
Что нового мы узнали?

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

Специальная графика
Движение точки на плоскости
Движение точки в пространстве
Основные средства анимации
Вращение фигуры - логотипа MATLAB
Волновые колебания мембраны
Объекты дескрипторной графики
Создание графического окна и управление им
Создание координатных осей и управление ими
Пример применения объекта дескрипторной графики
Дескрипторы объектов
Операции над графическими объектами
Свойства объектов - команда get
Изменение свойств объекта - команда set
Управление работой средств OpenGL
Управление прозрачностью графических объектов
Примеры, иллюстрирующие возможности дескрипторной графики
Основные команды для создания пользовательского интерфейса
Пример создания объекта интерфейса
Растровая графика
Пакет прикладных программ Images
Примеры применения пакета Images
Примеры программирования задач со средствами пакета Images
Галерея трехмерной графики
Что нового мы узнали?

Урок 8. Операторы и функции
Начиная с этого урока мы переходим к изучению математических и логических возможностей системы MATLAB. Их изучение мы начнем с операторов и функций — тех кирпичиков, из которых строятся математические выражения. Вычисления математических выражений составляют главную цель любой системы, предназначенной для численных расчетов. Здесь мы рассмотрим полный набор операторов входного языка системы MATLAB 6.0 и соответствующих им функций. Напомним, что полный список операторов выводится командой help ops. Операторы и специальные символы системы MATLAB можно разделить на ряд категорий, которые рассматриваются ниже.

Операторы и функции
Арифметические операторы и функции
Операторы отношения и их функции
Логические операторы
Специальные символы
Системные переменные и константы
Функции поразрядной обработки
Функции обработки множеств
Функции времени и даты
Элементарные функции
Алгебраические и арифметические функции
Тригонометрические и обратные им функции
Гиперболические и обратные им функции
Функции округления и знака
Функции комплексного аргумента
Что нового мы узнали?

Урок 9. Специальные математические функции
Специальные математические функции являются решениями дифференциальных уравнений специального вида или обозначениями некоторых видов интегралов. Довольно полный обзор специальных функций дается в книгах [55-58], так что ниже мы ограничимся только указанием функций системы MATLAB, реализующих их вычисление. Набор специальных математических функций в системе MATLAB настолько представителен, что позволяет решать практически все задачи, связанные с применением таких функций. Если и обнаруживаются недостающие специальные функции, то пользователь может сам задать их вычисления.

Специальные математические функции
Функции Эйри
Функции Бесселя
Бета-функция и ее варианты
Эллиптические функции и интегралы
Функции ошибки
Интегральная показательная функция
Гамма-функция и ее варианты
Ортогональные полиномы Лежандра
Что нового мы узнали?

Урок 10. Операции с векторами и матрицами
Матрицы представляют собой самые распространенные объекты системы MATLAB. Ниже описываются основные операции с матрицами. По обилию матричных операторов и функций MATLAB является лидером среди массовых систем компьютерной математики.

Операции с векторами и матрицами
Создание матриц с заданными свойствами
Создание единичной матрицы
Создание матрицы с единичными элементами
Создание матрицы с нулевыми элементами
Создание линейного массива равноотстоящих точек
Создание вектора равноотстоящих в логарифмическом масштабе точек
Создание массивов со случайными элементами
Конкатенация матриц
Создание матриц с заданной диагональю
Перестановки элементов матриц
Вычисление произведений
Суммирование элементов
Функции формирования матриц
Поворот матриц
Выделение треугольных частей матриц
Вычисление сопровождающей матрицы
Вычисление тестовых матриц
Матрицы Адамара
Матрицы Ганкеля
Матрицы Гильберта
Вычисление магического квадрата
Матрицы Паскаля
Матрицы Теплица
Матрицы Уилкинсона
Матричные функции
Что нового мы узнали?

Урок 11. Матричные операции линейной алгебры
Линейная алгебра — область, в которой наиболее часто используются векторы и матрицы. Наряду с операциями общего характера, рассмотренными выше, применятся функции, решающие наиболее характерные задачи линейной алгебры. Они и рассмотрены в данном уроке.

Матричные операции линейной алгебры
Вычисление нормы и чисел обусловленности матрицы
Определитель и ранг матрицы
Определение нормы вектора
Определение ортонормированного базиса матрицы
Функции приведения матрицы к треугольной форме
Определение угла между двумя подпространствами
Вычисление следа матрицы
Разложение Холецкого
Обращение матриц - функции inv, pinv
LU- и QR-разложения
Вычисление собственных значений и сингулярных чисел
Приведение матриц к форме Шура и Хессенберга
Что нового мы узнали?

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

Функции разреженных матриц
Элементарные разреженные матрицы
Преобразование разреженных матриц
Работа с ненулевыми элементами разреженных матриц
Визуализация разреженных матриц
Алгоритмы упорядочения
Норма, число обусловленности и ранг разреженной матрицы
Разложение Холецкого разреженных матриц
LU-разложение разреженных матриц
Вычисление собственных значений и сингулярных чисел разреженных матриц
Что нового мы узнали?

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

Многомерные массивы
Понятие о многомерных массивах
Применение оператора ":" в многомерных массивах
Доступ к отдельному элементу многомерного массива
Удаление размерности в многомерном массиве
Создание страниц, заполненных константами и случайными числами
Использование функций ones, zeros, rand и randn
Объединение массивов
Работа с размерностями
Вычисление числа размерностей массива
Вычисление размера размерности массива
Перестановки размерностей массивов
Сдвиг размерностей массивов
Удаление единичных размерностей
Что нового мы узнали?

Урок 14. Массивы структур
Структуры относятся к сложным типам данных. В предшествующих версиях MATLAB они именовались записями, что приводило к конфликтам в терминологии MATLAB и систем управления базами данных. Этот тип данных стал именоваться структурами после того, как широкое распространение получили средства MATLAB для работы с базами данных с использованием языка запросов Sequential Query Language (SQL).. Структуры MATLAB и их поля в отличие от полей записей баз данных не являются объектами SQL, но зато обращения к структурам могут быть откомпилированы и к ним возможен прямой доступ, минуя сложные и медленные механизмы систем управления базами данных.

Массивы структур
Тип данных - структуры
Создание структур и доступ к их компонентам
Функция создания структур
Проверка имен полей и структур
Функция возврата имен полей
Функция возврата содержимого полей структуры
Функция присваивания значений полям
Удаление полей
Применение массивов структур
Что нового мы узнали?

Урок 15. Массивы ячеек
Массив ячеек — наиболее сложный тип данных в системе MATLAB. Это массив, элементами которого являются ячейки, содержащие любые типы массивов, включая массивы ячеек. Отличительным атрибутом массивов ячеек является задание содержимого последних в фигурных скобках {}. Создавать массивы ячеек можно с помощью оператора присваивания.

Массивы ячеек
Создание массивов ячеек
Создание ячеек с помощью функции cell
Визуализация массивов ячеек
Создание строкового массива ячеек из массива символов
Присваивание с помощью функции deal
Тестирование имен массивов ячеек
Функции преобразования типов данных
Многомерные массивы ячеек
Вложенные массивы ячеек
Что новoго мы узнали?

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

Численные методы
Элементарные средства решения СЛУ
Функции для решения систем линейных уравнений с ограничениями
Решение СЛУ с разреженными матрицами
Точное решение, метод наименьших квадратов и сопряженных градиентов
Двунаправленный метод сопряженных градиентов
Устойчивый двунаправленный метод
Метод сопряженных градиентов
Квадратичный метод сопряженных градиентов
Метод минимизации обобщенной невязки
Квазиминимизация невязки - функция qmr
Вычисление нулей функции одной переменной
Минимизация функции одной переменной
Минимизация функции нескольких переменных
Аппроксимация производных
Аппроксимация Лапласиана
Аппроксимация производных конечными разностями
Вычисление градиента функции
Численное интегрирование
Метод трапеций
Численное интегрирование методом квадратур
Работа с полиномами
Умножение и деление полиномов
Вычисление полиномов
Вычисление производной полинома
Решение полиномиальных матричных уравнений
Разложение на простые дроби
Решение обыкновенных дифференциальных уравнений
Решатели ОДУ
Использование решателей систем ОДУ
Описание системы ОДУ
Дескрипторная поддержка параметров решателя
Пакет Partial Differential Equations Toolbox
Что нового мы узнали?

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

Обработка данных
Статистическая обработка данных
Нахождение максимального и минимального элементов массива
Нахождение средних, срединных значений массива и стандартных отклонений
Функции сортировки элементов массива
Вычисление коэффициентов корреляции
Вычисление матрицы ковариации
Триангуляция
Расчет триангуляции
Нахождение выпуклой оболочки
Вычисление площади полигона
Анализ попадания точек внутрь полигона
Построение диаграммы Вороного
Преобразования Фурье
Функции одномерного прямого преобразования Фурье
Функции многомерного прямого преобразования Фурье
Функция перегруппировки
Функции обратного преобразования Фурье
Свертка и дискретная фильтрация
Функция свертки и обратная ей функция
Функция свертки двумерных массивов
Дискретная одномерная фильтрация
Двумерная фильтрация
Функция коррекции фазовых углов unwrap
Интерполяция и аппроксимация данных
Полиномиальная регрессия
Интерполяция периодических функции рядом Фурье
Интерполяция на неравномерной сетке
Одномерная табличная интерполяция
Двумерная табличная интерполяция
Трехмерная табличная интерполяция
N-мерная табличная интерполяция
Интерполяция кубическим сплайном
Обработка данных в графическом окне
Средства обработки данных в графическом окне
Полиномиальная регрессия для табличных данных
Оценка погрешности аппроксимации
Сплайновая интерполяция в графическом окне
Эрмитовая многоинтервальная интерполяция
Сравнение сплайновой и эрмитовой интерполяции
Что нового мы узнали?

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

Работа с символьными данными
Основные функции символьных данных
Операции над строками
Преобразование символов и строк
Функции преобразования систем счисления
Вычисление строковых выражений
Что нового мы узнали?

Урок 19. Работа с файлами
Файлы — это довольно распространенные объекты системы MATLAB. О некоторых типах файлов уже говорилось в предшествующих главах. В этом уроке рассматриваются свойства файлов, которые не зависят от их типа и относятся к любым файлам.

Работа с файлами
Открытие и закрытие файлов
Операции с двоичными файлами
Операции над форматированными файлами
Позиционирование файла
Специализированные файлы
Что нового мы узнали?

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

Основы программирования
Основные понятия программирования
Основные средства программирования
Основные типы данных
Виды программирования
Двойственность операторов, команд и функций
Некоторые ограничения
М-файлы сценариев и функций
Структура и свойства файлов сценариев
Статус переменных в функциях
Структура М-файла-функции
Статус переменных и команда global
Использование подфункций
Частные каталоги
Обработка ошибок
Вывод сообщений об ошибках
Функция lasterr и обработка ошибок
Функции с переменным числом аргументов Функции подсчета числа аргументов
Переменные varargin и varargout
Комментарии
Особенности выполнения m-файлов функций
Создание Р-кодов
Управляющие структуры
Диалоговый ввод
Условный оператор
Циклы типа for...end
Циклы типа while...end
Конструкция переключателя
Конструкция try...catch...end
Создание паузы в вычислениях
Понятие об объектно-ориентированном программировании
Создание класса или объекта
Проверка принадлежности объекта к заданному классу
Другие функции объектно-ориентированного программирования
Что нового мы узнали?

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

Отладка программ
Общие замечания по отладке m-файлов
Команды отладки программ
Вывод листинга m-файла с пронумерованными строками
Установка, удаление и просмотр точек прерывания
Управление исполнением m-файла
Просмотр рабочей области
Профилирование m-файлов
Создание итогового отчета
Построение диаграмм Парето
Работа с системой контроля версий
Что нового мы узнали?

Урок 22. Поддержка звуковой системы
Этот небольшой урок посвящен довольно экзотической возможности математической системы МАТLАВ — работе со звуком. Стоит напомнить, что для этого компьютер должен быть оснащен звуковой картой и звуковыми колонками. Средства поддержки звука в МАТLАВ имеют рудиментарный характер, но все же они есть и позволяют разнообразить выполнение некоторых примеров.

Поддержка звуковой системы
Средства работы со звуком
Демонстрация возможностей работы со звуком
Что нового мы узнали?

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

Знакомство с пакетами расширения MATLAB
Вывод списка пакетов расширения
Simulink for Windows
Real Time Windows Target и Workshop
Report Generator для MATLAB и Simulink
Neural Networks Toolbox
Fuzzy Logic Toolbox
Symbolic Math Toolbox
Пакеты математических вычислений
NAG Foundation Toolbox
Spline Toolbox
Statistics Toolbox
Optimization Toolbox
Partial Differential Equations Toolbox
Пакеты анализа и синтеза систем управления
Control System Toolbox
Nonlinear Control Design Toolbox
Robust Control Toolbox
Model Predictive Control Toolbox
мю - Analysis and Synthesis
Stateflow
Quantitative Feedback Theory Toolbox
LMI Control Toolbox
Пакеты идентификации систем
System Identification Toolbox
Frequency Domain System Identification Toolbox
Дополнительные пакеты расширения MATLAB
Communications Toolbox
Digital Signal Processing (DSP) Blockset
Fixed-Point Blockset
Пакеты для обработки сигналов и изображений
Signal Processing Toolbox
Higher-Order Spectral Analysis Toolbox
Image Processing Toolbox
Wavelet Toolbox
Прочие пакеты прикладных программ
Financial Toolbox
Mapping Toolbox
Power System Blockset
Data Acquisition Toolbox и Instrument Control Toolbox
Database toolbox и Virtual Reality Toolbox
Excel Link
MATLAB Compiler
Что нового мы узнали?

Приложение
Язык программирования Java обычно непосредственно не используется для поддержки математических вычислений в системе MATLAB. Однако этот перспективный язык высокого уровня входит в состав ядра системы и широко применяется для создания средств интерфейса и средств Интернета. Поэтому в новых версиях MATLAB 6.0/6.1 существенно расширена поддержка средств языка Java, который приобрел важное значение для решения задач в области создания электронных и Интернет-документов.

Разное

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

В наши дни компьютерная математика получила должную известность и интенсивно развивается как передовое научное направление на стыке математики и информатики. Это нашло отражение в крупной монографии и в целом ряде книг и обзоров автора данной книги, начавшего осваивать это направление еще в начале 80-х гг. прошлого века.
Программируемые микрокалькуляторы и персональные компьютеры уже давно применяются для математических расчетов. Для подготовки программ использовались различные универсальные языки программирования. В начале 90-х гг. на смену им пришли специализированные системы компьютерной математики (СКМ).
Среди них наибольшую известность получили системы Eureka, Mercury, Mathcad, Derive, Mathematica 2/3/4, Maple V R3/R4/R5 и Maple 6 и др. Каждая из этих систем имеет свои достоинства и недостатки и заслуживает отдельного рассмотрения. Повышенный интерес наших пользователей к подобным системам подтверждают результаты выпуска в последние годы целого ряда книг на русском языке, посвященных указанной теме. В списке литературы данной книги даны лишь основные из этих публикаций. За рубежом по каждой серьезной СКМ на web-сайтах их разработчиков можно найти перечни, включающие сотни наименований книг.
В данной книге рассматривается система MATLAB®, прошедшая многолетний путь развития от узко специализированного матричного программного модуля, используемого только на больших ЭВМ, до универсальной интегрированной СКМ, ориентированной на массовые персональные компьютеры класса IBM PC и Macintosh и рабочие станции UNIX и имеющей мощные средства диалога, графики и комплексной визуализации

Введение
Визуализация и графические средства
Действительные и комплексные числа
Основы форматирования двумерных графиков
Анимация в пространстве — аттрактор Лоренца
Вызов справки MATLAB
Графики в полярной системе координат
Пример применения объекта дескрипторной графики
Элементарные функции
Функции Эйри
Перестановки элементов матриц
Обращение матриц — функции inv, pinv
И сингулярных чисел разреженных матриц
Вычисление размера размерности массива
Применение массивов структур
Вложенные массивы ячеек
Метод минимизации обобщенной невязки
Вычисление площади полигона
Основные функции символьных данных
Открытие и закрытие файлов
Структура М-файла-функции
Построение диаграмм Парето
Средства работы со звуком
NAG Foundation Toolbox
Приложение

MATLAB в инженерных и научных расчетах

Данная книга посвящена иллюстрации возможностей одной из самых эффективных систем компьютерного программного обеспечения – пакета универсальных интегрированных программ MATLAB. Любознательному читателю предлагается ознакомиться в первом приближении с основами языка программирования и комплексной визуализации результатов решения ряда научных и инженерных задач. Рассматриваются такие проблемы как табулирование функций, решение нелинейных уравнений, поиск оптимальных решений, решение задач Коши, численное интегрирование и другие задачи, традиционно включаемые в курс численных методов. Алгоритм этих задач хорошо известен и разработчики системы MATLAB (фирма Math Works, Inc., U.S.A.) учли опыт численного решения и программирования задач вычислительной математики за все время существования вычислительной техники. Поэтому в системе MATLAB по каждой проблеме имеется несколько программ (иногда их более 10), предназначенных для ее решения в зависимости от особенностей данной задачи.

Продолжение

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

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

Вступление

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

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

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

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

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

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

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

Приложение А
Приложение Б

Теория и практика параллельных вычислений

Применение параллельных вычислительных систем (ПВС) является стратегическим направлением развития вычислительной техники. Это обстоятельство вызвано не только принципиальным ограничением максимально возможного быстродействия обычных последовательных ЭВМ, но и практически постоянным наличием вычислительных задач, для решения которых возможностей существующих средств вычислительной техники всегда оказывается недостаточно. Так, проблемы "большого вызова" [54] возможностям современной науки и техники: моделирование климата, генная инженерия, проектирование интегральных схем, анализ загрязнения окружающей среды, создание лекарственных препаратов и др. - требуют для своего анализа ЭВМ с производительностью более 1000 миллиардов операций с плавающей запятой в секунду (1 TFlops).

Введение
Пути достижения параллелизма
Моделирование и анализ параллельных вычислений
Алгоритмы маршрутизации
Принципы разработки параллельных методов
Параллельное программирование на основе MPI
Параллельные методы умножения матрицы на вектор
Постановка задачи
Решение систем линейных уравнений
Параллельные методы сортировки
Параллельные методы на графах
Параллельные методы решения дифференциальных уравнений в частных производных
Общая характеристика системы

Основы теории нечетких множеств

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

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

Математическая теория формальных языков

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

Предисловие
Конечные автоматы
Основные свойства автоматных языков
Слова, языки и грамматики
Дополнительные свойства автоматных языков
Регулярные выражения
Синтаксические моноиды
Неоднозначность в контекстно-свободных грамматиках
Нормальные формы контекстно-свободных грамматик
Основные свойства контекстно-свободных языков
Автоматы с магазинной памятью
Дополнительные свойства контекстно-свободных языков
Детерминированные контекстно-свободные языки
Синтаксический разбор
Алгоритмические проблемы
Алгоритмически разрешимые проблемы
Алгоритмически неразрешимые проблемы

Теория и реализация языков программирования

В книге представлены "классические" разделы теории разработки компиляторов: лексический и синтаксический анализ, организация памяти компилятора (таблицы символов) и периода исполнения (магазина), генерация кода. Рассматриваются такие средства автоматизации процесса разработки трансляторов, как LEX, YACC, СУПЕР, методы генерации оптимального кода. Сделана попытка на протяжении всего изложения провести единую "атрибутную" точку зрения на процесс разработки компилятора. В книге не затрагиваются чрезвычайно важные вопросы глобальной оптимизации и разработки компиляторов для машин с параллельной архитектурой. Авторы надеются восполнить эти пробелы в будущем. Книга рассчитана как на студентов и аспирантов программистских специальностей, так и на профессионалов в области программирования.

Предисловие
Место компилятора в программном обеспечении
Алфавиты, цепочки и языки
Лексический анализ
Контекстно-свободные грамматики и автоматы с магазинной памятью
Элементы теории перевода
Описание областей видимости и блочной структуры
Организация таблиц символов
Промежуточное представление программы
Генерация кода
Системы автоматизации построения трансляторов
Формальные свойства
Определение атрибутных грамматик
Представление языков

Лекции по управлению программными проектами

Термин software (программное обеспечение, ПО) ввел в 1958 году всемирно известный статистик Джон Тьюкей (John Tukey). Термин software engineering (программная инженерия) впервые появился в названии конференции НАТО, состоявшейся в Германии в 1968 году и посвященной так называемому кризису программного обеспечения. С 1990-го по 1995 год велась работа над международным стандартом, который должен был дать единое представление о процессах разработки программного обеспечения. В результате был выпущен стандарт ISO/IEC 12207 . В 2004 году в отрасли был создан основополагающий труд «Руководство к своду знаний по программной инженерии» (SWEBOK) , в котором были собраны основные теоретические и практические знания, накопленные в этой отрасли.

Продолжение

Введение в теорию программирования. Объектно-ориентированный подход

Важнейшими математическими формализациями, рассматриваемыми в данном курсе, являются ламбда-исчисление и комбинаторная логика.
Еще в 1924 г. М. Шейнфинкель (Moses Schonfinkel) разработал простую (simple) теорию функций, которая фактически являлась исчислением объектов-функций и предвосхитила появление ламбда-исчисления – математической формализации, поддерживающей языки функционального программирования (т.е. программирования в терминах функций).
Затем в 1934 г. А. Черч (Alonso Church) предложил собственно исчисление ламбда-конверсий (или ламбда-исчисление) и применил его для исследования теории множеств. Вклад ученого был фундаментальным, так что теория до сих пор называется ламбда-исчислением и часто именуется в литературе ламбда-исчислением Черча.
Позднее, в 1940 г., Х. Карри (Haskell Curry) создал теорию функций без переменных (иначе называемых комбинаторами), известную в настоящее время как комбинаторная логика. Эта теория является развитием ламбда-исчисления и представляет собой формальный язык, подобный языку функционального программирования.
В 60-х годах Х. Барендрегтом (H. Barendregt) были детально описаны синтаксис (т.е. форма конструкций) и семантика (т.е. значение конструкций) ламбда-исчисления.

Вступительная лекция
Объектно-ориентированный подход к программированию
Платформа.NET и ее применение для объектно-ориентированного подхода к программированию
Основные понятия языка программирования C#
Краткая информация о платформе .NET
Семантика основных конструкций языка программирования C#
Основные понятия объектно-ориентированного подхода: объекты, классы и методы
Классы и обьекты
Теория типов и типизация в .NET
Концепция наследования и ее реализация в языке C#
Концепция инкапсуляции и ее реализация в языке C# (2)
Концепция полиморфизма
Расширенные возможности полиморфизма в языке C#
Интерфейсы
Обработка событий
Компонентное программирование в .NET
Гетерогенные приложения

ПиК Планирование и контроль концепция контроллинга

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

Системная характеристика предприятия как целеориентированного центра действий
Анализ и прогнозирование состояния внутренней и внешней среды предприятия
Планирование по функциональным сферам деятельности
Эффективные инструменты планирования полей бизнеса в концернах
Процесс и элементы стратегическогоуправления на уровне концерна в целом
Этапы становления Холдинговой компании

Архитектура среды тестирования на основе моделей

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

Введение
Тестирование на основе моделей и инструменты тестирования
Архитектурный каркас для тестирования на основе моделей
Пример построения теста
Литература

Путь камикадзе

Вряд ли можно где-нибудь увидеть объявление о найме для участия в безнадежном проекте. Какой смысл спрашивать: «Хотите ли вы работать сверхурочно без какой-либо прибавки к зарплате? Привлекает ли вас бесконечная работа по устаревшей технологии и тщетное ожидание участия в каком-нибудь замечательном проекте GUI/DSS/DWH/HTML? Каково будет узнать, что трехзвенная архитектура «клиент-сервер» позволит остальным участникам проекта обойтись без вашей помощи?»
На самом деле, безнадежные проекты редко объявляются таковыми во всеуслышание, и вам придется достаточно долго проработать в нанявшей вас компании, прежде чем удастся обнаружить, что она обладает склонностью плодить безнадежные проекты.
Если вашему коллеге приходится руководить безнадежным проектом, то ему можно посоветовать включить в контракт пункт, позволяющий цивилизованным способом выйти из проекта. Одна из серьезных причин выхода - неспособность высшего руководства воспринимать правдивую информацию о проекте. Принимающий на себя руководство безнадежным проектом должен быть готов к тому, что у него будет практически отсутствовать пространство для маневра в отношении функциональности, затрат или времени.

Определение безнадежного проекта
Минимально необходимый набор средств

Телекоммуникационные технологии

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

Адреса серверов ведущих фирм, работающих в сфере телекоммуникаций
Отзывы и вопросы в связи с сервером "Телекоммуникационные технологии"
Протокол для работы с кредитными картами CyberCash версия 8
Открытый торговый протокол Интернет– IOTP версия 0
SET и другие системы осуществления платежей
Литература


Создатели matlab6@gmail.ru

Книжный интернет магазин Forekc.ru -низкие цены, огромный выбор


For coupons check this websiteдойки порно | порно | Сайт интим досуга www.moscow-hot.com | Проститутки Питера пицца бровары порно голых девок онлайн и без регистрации|Посмотри крутое онлайн бесплатно порно .|Игровые аппараты без регистрации|Порно ИгрыТранспортные колесные опоры. Лучшие цены.