Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры информатика.doc
Скачиваний:
24
Добавлен:
22.09.2019
Размер:
1.62 Mб
Скачать
  1. Компьютерные математические системы

Разновидности компьютерных математических систем. MathCAD. Maple. MatLab. Mathematica. Statistica.

Перечислим основные: MathCad; MatLab; Maple; Derive; MuPAD; Mathematica. Ядро системы содержит коды множества быстро исполняемых функций и процедур, обеспечивающих достаточно представительный набор встроенных функций и операторов системы. Их число в ядре современных СКМ может достигать многих тысяч. Например, ядро системы Mathematica4 содержит данные о 5000 одних только интегралов, хотя для интегрирования используются только несколько встроенных функций. Интерфейс современных СКМ характерен для всех Windows-приложений, обеспечивает присущие им удобства работы и дает пользователю возможность обращаться к ядру со своими запросами и получать результат решения на экране. Функции и процедуры, включенные в ядро, выполняются быстро, если их не слишком много. Поэтому объем ядра ограничивают, но к нему добавляют библиотеки более редких процедур и функций. Общее число доступных пользователю функций ядра и библиотек достигает двух-трех тысяч. Кардинальное расширение возможностей систем и их адаптация к решаемым конкретными пользователями задачам достигается за счет пакетов расширения систем. Эти пакеты (нередко и библиотеки) пишутся на собственном языке программирования той или иной СКМ, что делает возможным их подготовку обычными пользователями. Наращивание возможностей систем с помощью пакетов расширения практически ничем не ограничено. Ядро, библиотеки, пакеты расширения и справочная система современных СКМ аккумулируют знания в области математики, накопленные за тысячелетия ее развития. Поэтому СКМ относят к интеллектуальным программным продуктам, одно из назначений которых — предоставление пользователю знаний в области численных методов расчета и моделирования, аналитической математики и современной графики. Derive 4.01/4.11 Назначение и достоинства: Начальное образование, первые курсы вузов с умеренной математической подготовкой. Обучение функциональному программированию, аналитические вычисления, скромные требования к аппаратным ресурсам, наличие русифицированных версий. Система на все случаи жизни. Прекрасная графика и визуализация на всех этапах вычислений, включая ввод. Образцовый интерфейс, ввод данных с помощью палитр математических знаков, удачный отбор операторов и функций, множество примеров, электронных книг и библиотек. Ограничения и недостатки: Слабая графика и визуализация, отсутствие средств операторного программирования, слабая поддержка специальных функций в символьных расчетах. MathCAD 8/2000 Назначение и достоинства: Система на все случаи жизни. Прекрасная графика и визуализация на всех этапах вычислений, включая ввод. Образцовый интерфейс, ввод данных с помощью палитр математических знаков, удачный отбор операторов и функций, множество примеров, электронных книг и библиотек. Ограничения и недостатки: Ограниченные средства символьной математики, примитивные средства программирования, повышенные требования к аппаратным ресурсам, дороговизна электронных книг и библиотек, отсутствие русифицированных версий последних. Maple V R4/R5/R6 Назначение и достоинства: Университетское высшее образование и научные расчеты. Уникальное ядро символьных вычислений, до 3000 функций, мощнейшая графика, удобная справочная система, развитые средства форматирования документов. Ограничения и недостатки: Повышенные требования к аппаратным ресурсам, отсутствие синтеза звуков, ориентация на опытных пользователей и специалистов по математике. Mathematica 2/3/4 Назначение и достоинства: Высшее образование и научные расчеты. Совместимость с разными компьютерными платформами, уникальная трехмерная графика, поддержка синтеза звука, развитые средства форматирования документов, мировое лидерство. Уникальные матричные средства, обилие численных методов, описательная (дескрипторная) графика, высокая скорость вычислений, легкость адаптации к задачам пользователя благодаря множеству пакетов расширения системы. Ограничения и недостатки: Высокие требования к аппаратным ресурсам, чрезмерная защита от копирования, слабая защита от “дурака”, ориентация на опытных пользователей. Возможности систем компьютерной математики по решению задач в аналитическом виде (чаще всего в численном) заметно различаются. Тем не менее, можно назвать ряд типовых задач, которые могут решаться с их применением: символьные и численные вычисления; вычисление элементарных и специальных математических функций; численное и символьное решение уравнений; линейная алгебра; графическая визуализация вычислений; возможности расширения; программирование. Некоторые системы могут иметь дополнительные возможности, например, для решения систем дифференциальных уравнений с частными производными (Mathematica, Maple V), для решения задач линейного программирования, для аппроксимации данных и функций многими методами и т. д. СКМ обеспечивают возможность решения большинства простых задач без использования программирования. Это достигается обилием математически ориентированных операторов и функций и введением интерактивного языка общения с пользователем (отличного от языка реализации системы). Обычно язык общения содержит и традиционные средства программирования, например, условные переходы, циклы, программные процедуры и функции (их надо отличать от математических функций). Работа с СКМ идет по правилу “задал вопрос — получил ответ”. При решении сложных задач возможны частые пробы и ошибки пользователя, поэтому практически во всех математических системах сохранена возможность программирования решаемых задач и отладки программ с помощью специальных отладчиков (debuggers). Язык программирования СКМ является интерпретируемым и интерактивным (диалоговым). Это означает, что любая конструкция языка распознается специальным синтаксическим анализатором языка и при отсутствии в ней ошибок немедленно исполняется. При наличии ошибок выдается диагностирующее сообщение с указанием характера ошибок. В языках программирования математических систем предусмотрены средства структурного программирования, а в системах класса MathCAD — визуально-ориентированного программирования. В нем программирование сведено к выбору шаблонов операторов и функций. Языки математических систем являются ЯП сверхвысокого уровня. Наряду с традиционными средствами программирования (нередко в минимальном наборе) они содержат множество математически ориентированных операторов и функций — их число составляет от нескольких сотен для простых систем (например, Derive или Mathcad) до нескольких тысяч в сложных математических системах. Большинство ЯП имеют средства для создания программных модулей — процедур и функций с аппаратом локальных переменных и возможностью задания входных параметров. Однако правила их задания различны у разных систем. Это относится и к средствам создания управляющих структур — условным операторам, циклам и переключателям. Некоторые системы (например, Maple V или Mathematica 3.0/4.0) перенасыщены операторами и функциями ввода/вывода и функциями преобразования данных. Это обусловлено их спецификой — реализацией сложных символьных операций. Однако настройка систем по умолчанию такова, что позволяет обычному пользователю забыть о большинстве указанных операторов и функций. Зато для опытного пользователя, например готовящего пакеты расширения таких систем, наличие указанных средств принципиально важно и полезно. В целом надо отметить, что полноценный язык программирования характерен только для наиболее мощных систем — Maple V, Mathematica 3.0/4.0 и MATLAB 5.0/5.3. Системы класса Derive имеют зачаточный уровень функционального программирования, а возможности программирования в популярных системах MathCAD иначе как скромными не назовешь. Однако они дополнены мощными средствами визуально-ориентированного программирования, облегчающими работу с этими системами и позволяющими готовить документы высочайшего качества. Наибольшую известность получили три класса систем символьной математики: созданная на базе языка искусственного интеллекта Mu Lisp малая система Derive, одна из самых мощных и поныне привлекательных систем Maple V (ядро написано на языке С) и системы Mathematica 1 и 2. Позже на базе ядра системы Maple V символьные вычисления были реализованы в популярных числовых системах MathCAD. Блок символьной математики на базе ядра Maple V был добавлен и в одну из самых крупных матричных систем — MATLAB. Система Derive и поныне привлекательна своими невзыскательными требованиями к аппаратным ресурсам ПК — это единственная система, которая работает даже на ПК класса IBM PC XT без жесткого диска. Более того, при решении задач умеренной сложности она показала более высокое быстродействие и большую надежность решения, чем первые версии систем Maple V и Mathematica. Впрочем, системе Derive трудно конкурировать с этими системами всерьез — ни по обилию функций и правил аналитических преобразований, ни по возможностям машинной графики и удобству пользовательского интерфейса. Пока Derive обречена на достаточно важную роль учебных систем компьютерной алгебры начального уровня. Хотя новейшая версия Derive 5 под Windows уже имеет современный интерфейс, он все же во многом уступает изысканному интерфейсу своих маститых конкурентов. А по возможности графической визуализации результатов вычислений Derive все еще далеко отстает от них. То же можно сказать и о новой системе символьной математики MuPAD 1.4. Система Maple V— патриарх в семействе систем символьной математики. И поныне это весьма привлекательная система для математика-аналитика и научного работника. Даже в среде MS-DOS Maple V имеет неплохой интерфейс и превосходно организованную обширную базу данных помощи. Полнота ядра системы, хранящего более 2700 математических функций (у последней реализации Maple 6 их уже свыше 3000!) и правил их преобразования, вполне заслуживает восторга и большого уважения. Весьма привлекательное свойство этой системы — подробная встроенная помощь и множество примеров ко всем встроенным в нее функциям и прикладным пакетам. Эти примеры легко скопировать в окно редактирования системы и тут же решить.

Достойна восхищения и математическая графика системы Maple, в частности возможность изображения пересекающихся трехмерных фигур с функциональной окраской. Новейшие системы Maple V для Windows (реализации R5 и 6) по возможностям графики стоят на одном уровне с системами Mathematica 3/4. Считается, что они несколько превосходят системы Mathematica в части символьных преобразований, но такое превосходство на сегодня уже является весьма спорным. К сожалению, фирма Waterloo Maple, Inc. (Канада) – разработчик системы Maple V — больше блистала математической проработкой своего проекта, чем уровнем его коммерческой реализации. В силу этого система Maple V была доступна в основном узкому кругу профессионалов. Сейчас эта фирма работает совместно с более преуспевающей в коммерции и проработке пользовательского интерфейса математических систем фирмой MathSoft, Inc. — создательницей весьма популярных и массовых систем для численных расчетов Mathcad, ставших международным стандартом для технических вычислений. Пока, однако, математические возможности этих систем в области компьютерной алгебры намного уступают системам Maple V, Mathematica 2 и даже малютке Derive (не говоря уже о реализациях Mathematica 3 и 4). Появление новых версий Mathematica 3 и 4 вновь резко поднимает планку оценки качества систем компьютерной алгебры. Наступает новый этап интеграции математических систем как друг с другом, так и с современными текстовыми и табличными процессорами, такими как Word 95/97 и Excel 95/97 из офисных пакетов Microsoft Office 95/97 (на подходе и Office 2000). Всяческих похвал заслуживают последние реализации матричных систем MATLAB 5.2/5.3, но это очень громоздкая система, последняя реализация которой — MATLAB 5.3.1 – занимает на жестком диске 1500 Мбайт памяти (даже Mathematica 4 требует на порядок меньше места). Система MATLAB создана фирмой Math Works (США). Mathematica 4 — мировой лидер среди СКМ. В этой системе существенно повышена скорость численных вычислений и введена технология эффективной упаковки массивов. В сочетании с удобным пользовательским интерфейсом, мощными возможностями символьной математики и превосходной графикой система находит самое широкое применение в науке, технике и образовании. Центральное место в системах класса Mathematica занимает машинно-независимое ядро математических операций — Kernel. Для ориентации системы на конкретную машинную платформу служит программный интерфейсный процессор Front End. Ядро сделано достаточно компактным с тем, чтобы любая функция из него вызывалась достаточно быстро. Для расширения набора функций служит библиотека (Library) и набор пакетов расширения (Add-on Packages). Пакеты расширений готовятся на собственном языке программирования систем Mathematica и являются главным средством расширения возможностей системы и их адаптации к решению конкретных классов задач пользователя. Кроме того, системы имеют встроенную электронную справочную систему — Help. Она содержит шесть электронных книг с «живыми» примерами, включая упомянутые во введении книги. Идеология систем Mathematica базируется на двух, казалось бы, взаимно исключающих друг друга положениях: решение большинства математических задач в системе может производиться в диалоговом режиме без традиционного программирования; входной язык общения системы является одним из самых мощных языков функционального программирования, ориентированных на решение различных задач (в том числе математических). Mathematica — типичная система программирования с проблемно-ориентированным ЯП сверхвысокого уровня. Его можно отнести к классу интерпретаторов. Работа с системой происходит явно в диалоговом режиме пользователь задает системе задание, а она тут же выполняет его. Система имеет все возможности для создания практически любых управляющих структур, организации ввода/вывода, работы с системными функциями, обслуживания любых периферийных устройств и т. д. К идеологии систем Mathematica надо отнести и комплексную визуализацию всех этапов вычислений, начиная с легко понятного и естественного ввода текстов и формул и заканчивая наглядным выводом результатов в разнообразных формах представления. Особое место при этом играет полная визуализация результатов вычислений, включающая в себя построение огромного числа графиков самого различного вида, в том числе средства анимации изображений и синтеза звуков.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]