Математический анализ в матричной лаборатории

         

Матричная лаборатория 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. В новой реализации системы не только расширены ее возможности, но и радикально переработан и улучшен интерфейс пользователя, существенно обновился состав пакетов расширений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложение
Язык программирования 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 представляет собой хорошо апробированную и надежную СКМ, рассчитанную на решение самого широкого круга математических задач с представлением данных в универсальной (но не навязываемой пользователям) матричной форме, предложенной фирмой Math Works, Inc.

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

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

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

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

Вызов справки MATLAB
Последняя кнопка панели инструментов Help (Помощь) открывает окно с перечнем разделов справочной системы. Это окно было показано на 4.8. В уроке 4 мы подробно ознакомились с работой со справочной системой, так что на этом можно закончить описание средств системы MATLAB, доступ к которым обеспечивает панель инструментов.

Графики в полярной системе координат
В полярной системе координат любая точка представляется как конец радиус-вектора, исходящего из начала системы координат, имеющего длину RHO и угол ТНЕТА. Для построения графика функции RHO(THETA) используются приведенные ниже команды. Угол ТНЕТА обычно меняется от 0 до 2*pi. Для построения графиков функций в полярной системе координат используются команды типа polar

Пример применения объекта дескрипторной графики
Объем и направленность данной книги не позволяют подробно описать все многообразие возможностей дескрипторной графики. Ограничимся пока одним примером. Пусть надо построить линию,-проходящую через три точки с координатами (0,1), (2,4) и (5,-1). Для этого воспользуемся объектом line, который порождается одноименной графической функцией

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

Функции Эйри
Функция Эйри формирует пару линейно независимых решений линейного дифференциального уравнения

Перестановки элементов матриц
Если А — матрица, cumprod(A) возвращает матрицу того же размера, что и А, содержащую произведения с накоплением для каждого столбца матрицы А (Первая строка без изменений, во второй строке произведение первых двух элементов каждого столбца, в третьей строке элементы второй строки матрицы-результата умножаются на элементы третьей строки матрицы входного аргумента по столбцам и т. д.);

Обращение матриц — функции inv, pinv
На практике вычисление явной обратной матрицы не так уж необходимо. Чаще операцию обращения применяют при решении системы линейных уравнений вида Ах=b. Один из путей решения этой системы — вычисление x=inv(A)*b. Но лучшим с точки зрения минимизации времени расчета и повышения точности вычислений является использование оператора матричного деления х=А\b. Эта операция использует метод исключения Гаусса без явного формирования обратной матрицы.

И сингулярных чисел разреженных матриц
Применение функции eigs решает проблему собственных значений, состоящую в нахождении нетривиальных решений системы уравнений, которая может быть интерпретирована как алгебраический эквивалент системы обыкновенных дифференциальных уравнений в явной форме Коши: A*v=l*v.[

Вычисление размера размерности массива
Для N-мерных массивов А при n2 size(A) возвращает N-мерный вектор-строку, отражающий страничную организацию массива, последняя составляющая этого вектора равна N. В векторе отсутствуют данные о единичных размерностях (тех, где расположены вектор-строка или вектор-столбец, т. е. size(A,DIM)==l). Исключение представляют N-мерные массивы Java массивов javaarray, которые возвращают размер массива самого высокого уровня.

Применение массивов структур
Массивы структур находят самое широкое применение. Например, они используются для представления цветных изображений. Известно, что цветные изображения формата RGB состоят из массивов интенсивности трех цветов - красного R, зеленого G и синего В. При этом каждый массив содержит данные о координатах точки (они определяются целочисленными индексами массива) и о ее яркости (число от 0 до 1 в формате чисел с плавающей запятой). Чтобы некоторое изображение, например pic, несло данные о цвете всех точек, придется представить изображение массивом структур с полями pic.r, pic.g и pic.b.

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

Метод минимизации обобщенной невязки
Функция gmres начинает итерации от начальной оценки, представляющей собой вектор размера и, состоящий из нулей. Итерации производятся либо до сходимости к решению, либо до появления ошибки, либо до достижения максимального числа итераций. Сходимость достигается, когда относительный остаток norm(B-A*X)/norm(B) меньше или равен заданной погрешности (по умолчанию 1е-6). Максимальное число итераций — минимум из n/restart и 10. Функция gmres (...) имеет и ряд других форм записи, аналогичных описанным для функции bieg(...)

Вычисление площади полигона
В системе MATLAB определены функции, вычисляющие площадь полигона и анализирующие нахождение точек внутри полигона. Для вычисления площади полигона используется функция polyarea: polyarea(X.Y) — возвращает площадь полигона, заданного вершинами, находящимися в векторах X и Y. Если X и Y — матрицы одного размера, то polyarea возвращает площадь полигонов, определенных столбцами X и Y;

Основные функции символьных данных
Первые 127 чисел — это коды ASCII, представляющие буквы латинского языка, цифры и спецзнаки. Они образуют основную таблицу кодов. Вторая таблица (коды от 128 до 255) является дополнительной и может использоваться для представления символов других языков, например русского. Длина вектора S соответствует числу символов в строке, включая пробелы. Апостроф внутри строки символов должен вводиться как два апострофа ' '.

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

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

Построение диаграмм Парето
Команда profile plot использует для построения графическую команду pareto. Диаграмма Парето представляет собой столбцы, расположенные в порядке убывания отображаемых значений. С другими возможностями команды pareto можно ознакомиться, выполнив команду help pareto. pareto(Y,NAMES) — строит диаграмму Парето с пометкой столбцов значений вектора Y соответствующими именами, содержащимися в векторе NAMES;

Средства работы со звуком
Начиная с версии МАТЬАВ 5.0 в системе несколько расширены средства для работы со звуком. До этого система имела единственную звуковую команду:
sound(Y.Р5) — воспроизводит сигнал из вектора У с частотой дискретизации Р5 с помощью колонок, подключенных к звуковой карте компьютера. Компоненты У могут принимать значения в следующих пределах -1.0=у=1.0. Для воспроизведения стереозвука на допускающих это компьютерных платформах У должен быть матрицей размера

NAG Foundation Toolbox
Одна из самых мощных библиотек математических функций, созданная специальной группой The Numerical Algorithms Group, Ltd. Пакет содержит сотни новых функций. Названия функций и синтаксис их вызова заимствованы из известной библиотеки NAG Foundation Library. Вследствие этого опытные пользователи NAG ФОРТРАН могут без затруднений работать с пакетом NAG в MATLAB. Библиотека NAG Foundation предоставляет свои функции в виде объектных кодов и соответствующих m-файлов для их вызова. Пользователь может легко модифицировать эти МЕХ-файлы на уровне исходного кода.

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

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

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

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

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

Вычисление производных
Команда value() используется для вычисления значения не только упомянутой процедуры Diff (),но и других процедур в неактивной форме. Кроме того, для вычисления производных в Maple может использоваться оператор D. Однако в отличие от процедуры diff(), которая вычисляет производную от символьного выражения, оператор D используется для вычисления производной от оператора

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

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

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

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

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

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

Приложение А

Приложение Б

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

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

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

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

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

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

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

Этапы становления холдинговой компании
В ходе проводимой в начале семидесятых годов в промышленности СССР реформы, направленной на создание крупных научно-производственных структур, объединяющих научные организации, конструкторские бюро по разработке комплексов, систем и устройств и предприятия, осуществляющие серийное производство этой техники, в мае 1974 г. было образовано Научно-производственное объединение (НПО) "Ленинец", в которое вошли: НПО "Марс", включающее Всесоюзный научно-исследовательский институт радиоэлектронных систем (ВНИИРЭС) и Гатчинский опытный завод (ГОЗ);