Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Сравнительная характеристика




Содержание

 

Введение

1. MATLAB

История

Описание языка

Применение

Наборы инструментов

. MathCad

Основные возможности

Сравнительная характеристика

Расширение функциональности

Список литературы

 


 

Введение

 

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

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

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

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

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

Области применения системы MATLAB:

математика и вычисление;

разработка алгоритмов;

вычислительный эксперимент, имитационное моделирование;

анализ данных, исследования и визуализация результатов;

научная и инженерная графика;

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

Эта система выполняет все вычисления в арифметике с плавающей точкой в отличие от систем DERIVE, Maple, Mathematica, где преобладает целочисленное представление и символьная обработка данных.

Система MATLAB является одновременно операционной средой и языком программирования. Пользователь может написать специализированные функции и программы, которые оформляются в виде М-файлов. Классифицируя по типу задач, можно сформировать их в пакеты прикладных программ (ППП). Приведем несколько систем и ППП MATLAB:for Windows- система инженерных и научных расчетов;С++ Math Library- библиотека математических функций MATLAB на языке С++;

The Stydent Edition- версия MATLAB для студентов;Toolbox- статистика;Toolbox- оптимизация;Differential Equations Toolbox - уравнения в частных производных;Math Toolbox - символьная математика; Toolbox - работа с базами данных и др.

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

Другой наиболее известный и широко используемый пакет - это MathCAD (Mathematical Computer Aided Design - математическая система автоматизированного проектирования) фирмы Math Soft / 2/. Первая версия пакета MathCAD для Doc появилась в 1986 г., вторая (2.01) - в 1987 г.; версия 2.52 - в 1989 г. Пакет постоянно совершенствуется. Начиная с версии MathCAD Plus 6.0, появляется встроенный язык программирования. В настоящее время в арсенале пользователя имеются версии MathCAD 7.0, MathCAD 8.0, MathCAD 2000 для Windows, предназначенные для выполнения инженерных и научных расчетов.

Основные достоинства пакета:

1) программирование на общепринятом математическом языке позволяет преодолеть языковой барьер между пользователем и ЭВМ;

2) пакет оборудован инструментами Word - подобного текстового редактора, позволяющего оформить текст документа, не прибегая к специальным средствам, а в совокупности с графическим процессором (вычерчивание графиков и диаграмм) позволяет пользователю в ходе вычислений получить готовый документ;

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

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

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

MATLAB

История

 

MATLAB как язык программирования был разработан Кливом Моулером <http://ru.wikipedia.org/w/index.php?title=%D0%9C%D0%BE%D1%83%D0%BB%D0%B5%D1%80,_%D0%9A%D0%BB%D0%B8%D0%B2&action=edit&redlink=1> (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Cleve Moler) в конце 1970-х <http://ru.wikipedia.org/wiki/1970-%D0%B5> годов, когда он был деканом факультета <http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B5%D1%82> компьютерных <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80> наук в Университете Нью-Мексико <http://ru.wikipedia.org/w/index.php?title=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82_%D0%9D%D1%8C%D1%8E-%D0%9C%D0%B5%D0%BA%D1%81%D0%B8%D0%BA%D0%BE&action=edit&redlink=1>. Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack <http://ru.wikipedia.org/wiki/Linpack> и EISPACK <http://ru.wikipedia.org/w/index.php?title=EISPACK&action=edit&redlink=1>без необходимости изучения Фортрана <http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD>. Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года <http://ru.wikipedia.org/wiki/1982_%D0%B3%D0%BE%D0%B4>, написанную на Фортране, распространяемую с открытым исходным кодом <http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5>. Инженер Джон Литтл (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> John N. (Jack) Little) познакомился с этим языком во время визита Клива Моулера вСтэнфордский университет <http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%8D%D0%BD%D1%84%D0%BE%D1%80%D0%B4%D1%81%D0%BA%D0%B8%D0%B9_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82> в 1983 году <http://ru.wikipedia.org/wiki/1983_%D0%B3%D0%BE%D0%B4>. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Steve Bangert). Совместными усилиями они переписали MATLAB на <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)> и основали в 1984 <http://ru.wikipedia.org/wiki/1984> компанию The MathWorks <http://ru.wikipedia.org/wiki/The_MathWorks> для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры <http://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0> и численных методов <http://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0>.

 

Описание языка

 

Язык MATLAB является высокоуровневым интерпретируемым <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F> языком программирования <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F>, включающим основанные на матрицах <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)> структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.

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

Основной особенностью языка MATLAB является его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге «думай векторно» (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Think vectorized).

Примеры

Пример кода, являющегося частью функции magic.m, генерирующего магический квадрат <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82> M для нечётных значений размера стороны n:

 

[J,I] = meshgrid(1:n);= mod(I+J-(n+3)/2,n);= mod(I+2*J-2,n);= n*A + B + 1;

 

Пример кода, загружающего одномерный массив A значениями массива B в обратном порядке (только если векторA определен, и число его элементов совпадает с числом элементов вектора B):


 

A(1:end) = B(end:-1:1);

 

 <http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Matlabsinrr.pn>

График sinc-функции <http://ru.wikipedia.org/wiki/Sinc-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F>, нарисованный с помощью MATLAB

 

Пример кода, рисующего график sinc-функции <http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_sinc(x)> :

 

[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2);= sin(R)./R;(R==0) = 1;

mesh(X,Y,Z);

 

Пример векторизации кода. Код

= repmat (w, [size(b,1) 1]);

A = b.*ww*b';

 

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

 

for i = 1:size(b,1)j = i:size(b,1)(i, j) = sum (b (i,:).*b (j,:).*w);j = 1:i(i, j) = A (j, i);

end

который делает то же самое.

Применение

П1. Математика и вычисления

MATLAB предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающие практически все области математики <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0>, в частности:

§ Матрицы <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)> и линейная алгебра - алгебра матриц, линейные уравнения <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D1%85_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D1%83%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9>, собственные значения и вектора <http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B0,_%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B8_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0>,сингулярности <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%B8%D0%BD%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C>, факторизация матриц и другие.

§ Многочлены <http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D1%87%D0%BB%D0%B5%D0%BD> и интерполяция <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D1%8F> - корни <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%B5%D0%BD%D1%8C_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D1%87%D0%BB%D0%B5%D0%BD%D0%B0> многочленов, операции над многочленами и их дифференцирование <http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%B8%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5>, интерполяция и экстраполяция <http://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D1%82%D1%80%D0%B0%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D1%8F> кривых <http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%B2%D0%B0%D1%8F> и другие.

§ Математическая статистика <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0> и анализ данных - статистические функции, статистическая регрессия <http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F>, цифровая фильтрация <http://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%B9_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80>, быстрое преобразование Фурье <http://ru.wikipedia.org/wiki/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%A4%D1%83%D1%80%D1%8C%D0%B5> и другие.

§ Обработка данных - набор специальных функций, включая построение графиков <http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D0%BA>, оптимизацию <http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F>, поиск нулей <http://ru.wikipedia.org/wiki/%D0%9D%D1%83%D0%BB%D1%8C>,численное интегрирование <http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5> (в квадратурах) и другие.

§ Дифференциальные уравнения <http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%83%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F> - решение дифференциальных и дифференциально-алгебраических уравнений <http://ru.wikipedia.org/w/index.php?title=%D0%94%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE-%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%83%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F&action=edit&redlink=1>, дифференциальных уравнений с запаздыванием, уравнений с ограничениями, уравнений в частных производных <http://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F> и другие.

§ Разреженные матрицы - специальный класс данных пакета MATLAB, использующийся в специализированных приложениях.

§ Целочисленная арифметика - выполнение операций целочисленной арифметики в среде MATLAB.

П.2 Разработка алгоритмов

MATLAB предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5>. В нём имеются все необходимые средства интегрированной среды разработки <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8>, включая отладчик <http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA> и профайлер <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)>. Функции для работы с целыми типами данных облегчают создание алгоритмов <http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC> для микроконтроллеров <http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80> и других приложений, где это необходимо.

П.3 Визуализация данных

В составе пакета MATLAB имеется большое количество функций для построения графиков, в том числе трёхмерных, визуального анализа данных и создания анимированных <http://ru.wikipedia.org/wiki/%D0%9C%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_(%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)> роликов.

Встроенная среда разработки позволяет создавать графические интерфейсы пользователя <http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F> с различными элементами управления, такими как кнопки, поля ввода и другими. С помощью компонента MATLAB Compiler эти графические интерфейсы могут быть преобразованы в самостоятельные приложения, для запуска которых на других компьютерах необходима установленная библиотека MATLAB Component Runtime.

П.4 Внешние интерфейсы

Пакет MATLAB включает различные интерфейсы <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81> для получения доступа к внешним подпрограммам, написанным на других языках программирования, данным, клиентам и серверам, общающимся через технологииComponent Object Model <http://ru.wikipedia.org/wiki/Component_Object_Model> или Dynamic Data Exchange <http://ru.wikipedia.org/wiki/Dynamic_Data_Exchange>, а также периферийным устройствам, которые взаимодействуют напрямую с MATLAB. Многие из этих возможностей известны под названием MATLAB API.


П.5 COM <http://ru.wikipedia.org/wiki/Component_Object_Model>

Пакет MATLAB предоставляет доступ к функциям, позволяющим создавать, манипулировать и удалять COM-объекты (как клиенты, так и сервера). Поддерживается также технология ActiveX <http://ru.wikipedia.org/wiki/ActiveX>. Все COM-объекты принадлежат к специальному COM-классу пакета MATLAB. Все программы, имеющие функции контроллера автоматизации (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Automation controller) могут иметь доступ к MATLAB как к серверу автоматизации (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Automation server).

П.6.NET <http://ru.wikipedia.org/wiki/.NET_Framework>

Пакет MATLAB в Microsoft Windows предоставляет доступ к программной платформе.NET Framework. Имеется возможность загружать.NET сборки (Assemblies) и работать с объектами.NET классов из среды MATLAB. В версии MATLAB 7.11 (R2010b) поддерживается.NET Framework версий 2.0, 3.0, 3.5 и 4.0.

П.7 DDE <http://ru.wikipedia.org/wiki/DDE>

Пакет MATLAB содержит функции, которые позволяют ему получать доступ к другим приложениям средыWindows <http://ru.wikipedia.org/wiki/Microsoft_Windows>, равно как и этим приложениям получать доступ к данным MATLAB, посредством технологии динамического обмена данными (DDE). Каждое приложение, которое может быть DDE-сервером, имеет своё уникальное идентификационное имя. Для MATLAB это имя - Matlab.

П.8 Веб-сервисы <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81>

В MATLAB существует возможность вызывать методы веб-сервисов. Специальная функция создаёт класс <http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%81_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)>, основываясь на методах API <http://ru.wikipedia.org/wiki/API> веб-сервиса.взаимодействует с клиентом веб-сервиса с помощью принятия от него посылок, их обработки и посылок ответа. Поддерживаются следующие технологии: Simple Object Access Protocol <http://ru.wikipedia.org/wiki/Simple_Object_Access_Protocol> (SOAP) и Web Services Description Language <http://ru.wikipedia.org/wiki/Web_Services_Description_Language> (WSDL).


П.9 COM-порт <http://ru.wikipedia.org/wiki/COM-%D0%BF%D0%BE%D1%80%D1%82>

Интерфейс для последовательного порта пакета MATLAB обеспечивает прямой доступ к периферийным устройствам, таким как модемы <http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BC>, принтеры <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80> и научное оборудование, подключающееся к компьютеру через последовательный порт (COM-порт). Интерфейс работает путём создания объекта <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)> специального класса для последовательного порта. Имеющиеся методы этого класса позволяют считывать и записывать данные в последовательный порт, использовать события и обработчики событий, а также записывать информацию <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F> на диск <http://ru.wikipedia.org/wiki/%D0%96%D1%91%D1%81%D1%82%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B8%D1%81%D0%BA>компьютера в режиме реального времени <http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F>. Это бывает необходимо при проведении экспериментов, симуляции систем реального времени и для других приложений.

П.10 MEX-файлы

Пакет MATLAB включает интерфейс взаимодействия с внешними приложениями, написанными на языках <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)> иФортран <http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD>. Осуществляется это взаимодействие через MEX-файлы. Существует возможность вызова подпрограмм <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0>, написанных на C или Фортране из MATLAB, как будто это встроенные функции пакета. MEX-файлы представляют собой динамически подключаемые библиотеки <http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8_%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0>, которые могут быть загружены и исполнены интерпретатором, встроенным в MATLAB. MEX-процедуры имеют также возможность вызывать встроенные команды MATLAB.

П.11 DLL <http://ru.wikipedia.org/wiki/DLL>

Интерфейс MATLAB, относящийся к общим DLL позволяет вызывать функции, находящиеся в обычных динамически подключаемых библиотеках, прямо из MATLAB. Эти функции должны иметь C-интерфейс.

Кроме того, в MATLAB имеется возможность получить доступ к его встроенным функциям через C-интерфейс, что позволяет использовать функции пакета во внешних приложениях, написанных на C. Эта технология в MATLAB называется C Engine.


Наборы инструментов

 

Для MATLAB имеется возможность создавать специальные наборы инструментов (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> toolbox), расширяющих его функциональность. Наборы инструментов представляют собой коллекции функций, написанных на языке MATLAB для решения определённого класса задач. Компания Mathworks поставляет наборы инструментов, которые используются во многих областях, включая следующие:

§ Цифровая обработка сигналов <http://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%BE%D0%B2>, изображений и данных: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox - наборы функций, позволяющих решать широкий спектр задач обработки сигналов, изображений, проектирования цифровых фильтров и систем связи.

§ Системы управления <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F>: Control Systems Toolbox, µ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox - наборы функций, облегчающих анализ и синтез динамических систем <http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0>, проектирование, моделирование <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5> и идентификацию <http://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC> систем управления, включая современные алгоритмы управления, такие как робастное управление <http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%B0%D1%81%D1%82%D0%BD%D0%BE%D0%B5_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5>, H?-управление <http://ru.wikipedia.org/wiki/H%E2%88%9E-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5>,ЛМН-синтез <http://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%9C%D0%9D-%D1%81%D0%B8%D0%BD%D1%82%D0%B5%D0%B7&action=edit&redlink=1>, µ-ρθνςεη <http://ru.wikipedia.org/w/index.php?title=%CE%9C-%D1%81%D0%B8%D0%BD%D1%82%D0%B5%D0%B7&action=edit&redlink=1> и другие.

§ Финансовый анализ: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Toolbox, Datafeed Toolbox - наборы функций, позволяющие быстро и эффективно собирать, обрабатывать и передавать различную финансовую информацию.

§ Анализ и синтез географических карт, включая трёхмерные: Mapping Toolbox.

§ Сбор и анализ экспериментальных данных: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link for Code Composer Studio - наборы функций, позволяющих сохранять и обрабатывать данные, полученные в ходе экспериментов, в том числе в реальном времени. Поддерживается широкий спектр научного и инженерного измерительного оборудования.

§ Визуализация и представление данных: Virtual Reality Toolbox - позволяет создавать интерактивные миры и визуализировать научную информацию с помощью технологий виртуальной реальности <http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C> и языка VRML <http://ru.wikipedia.org/wiki/VRML>.

§ Средства разработки: MATLAB Builder for COM, MATLAB Builder for Excel, MATLAB Builder for NET, MATLAB Compiler, Filter Design HDL Coder - наборы функций, позволяющих создавать независимые приложения из среды MATLAB.

§ Взаимодействие с внешними программными продуктами: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim - наборы функций, позволяющие сохранять данные в различных видов таким образом, чтобы другие программы могли с ними работать.

§ Базы данных: Database Toolbox - инструменты работы с базами данных.

§ Научные и математические пакеты: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Genetic Algorithm and Direct Search Toolbox, OPC Toolbox, Optimization Toolbox, Partial Differential Equation Toolbox,Spline Toolbox, Statistic Toolbox, RF Toolbox - наборы специализированных математических функций, позволяющие решать широкий спектр научных и инженерных задач, включая разработку генетических алгоритмов <http://ru.wikipedia.org/wiki/%D0%93%D0%B5%D0%BD%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B>, решения задач в частных производных <http://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F>, целочисленные проблемы, оптимизацию систем <http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5> и другие.

§ Нейронные сети <http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C>: Neural Network Toolbox - инструменты для синтеза и анализ нейронных сетей.

§ Нечёткая логика <http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D1%87%D1%91%D1%82%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0>: Fuzzy Logic Toolbox - инструменты для построения и анализа нечётких множеств.

§ Символьные вычисления <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F>: Symbolic Math Toolbox - инструменты для символьных вычислений с возможностью взаимодействия с символьным процессором программы Maple <http://ru.wikipedia.org/wiki/Maple>.

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

компьютерный пакет mathcad matlab


Mathcad

 <http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Mathcad_15_Rus.pn>

Скриншот программы Mathcad 15 в Windows 7 <http://ru.wikipedia.org/wiki/Windows_7>

 

Тип - Система компьютерной алгебры <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B>

Разработчик - PTC <http://ru.wikipedia.org/wiki/Parametric_Technology_Corporation>

ОС <http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0> - Microsoft Windows <http://ru.wikipedia.org/wiki/Microsoft_Windows>

Язык интерфейса <http://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F> 10 языков[1] <http://ru.wikipedia.org/wiki/Mathcad>

Первый выпуск 1986

Последняя версия 15.0 (7 июня <http://ru.wikipedia.org/wiki/7_%D0%B8%D1%8E%D0%BD%D1%8F> 2010 <http://ru.wikipedia.org/wiki/2010>[2] <http://ru.wikipedia.org/wiki/Mathcad>)

Лицензия <http://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F> Проприетарная <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BF%D1%80%D0%B8%D0%B5%D1%82%D0%B0%D1%80%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5>

Сайт <http://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%B9%D1%82> ptc.com <http://www.ptc.com/products/mathcad/>

 

Основные возможности

 <http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:3D-plot.pn>

Трёхмерный график, построенный в Mathcad


 

Mathcad содержит сотни операторов <http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)> и встроенных функций <http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)> для решения различных технических задач. Программа позволяет выполнять численные и символьные вычисления <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F>, производить операции с скалярными величинами <http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%B0%D0%BB%D1%8F%D1%80%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B8%D0%BD%D0%B0>, векторами <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)> и матрицами <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)>, автоматически переводить одни единицы измерения в другие.

Среди возможностей Mathcad можно выделить:

§ Решение дифференциальных уравнений <http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%83%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5>, в том числе и численными методами

§ Построение двумерных и трёхмерных графиков функций (в разных системах координат, контурные, векторные и т. д.)

§ Использование греческого алфавита <http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B5%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82> как в уравнениях <http://ru.wikipedia.org/wiki/%D0%A3%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F>, так и в тексте <http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BA%D1%81%D1%82>

§ Выполнение вычислений в символьном режиме

§ Выполнение операций с векторами и матрицами

§ Символьное решение систем уравнений <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9>

§ Аппроксимация <http://ru.wikipedia.org/wiki/%D0%90%D0%BF%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D1%8F> кривых

§ Выполнение подпрограмм <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0>

§ Поиск корней многочленов <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%B5%D0%BD%D1%8C_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D1%87%D0%BB%D0%B5%D0%BD%D0%B0> и функций

§ Проведение статистических <http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0> расчётов и работа с распределением вероятностей <http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9>

§ Поиск собственных чисел <http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE> и векторов

§ Вычисления с единицами измерения <http://ru.wikipedia.org/wiki/%D0%95%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D0%B0_%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F>

§ Интеграция с САПР <http://ru.wikipedia.org/wiki/%D0%A1%D0%90%D0%9F%D0%A0> системами, использование результатов вычислений в качестве управляющих параметров

С помощью Mathcad инженеры могут документировать все вычисления в процессе их проведения.

Сравнительная характеристика

П1.Назначение

Mathcad относится к системам компьютерной алгебры <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B>, то есть средств автоматизации <http://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F> математических расчетов. В этом классе программного обеспечения <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5> существует много аналогов различной направленности и принципа построения. Наиболее часто Mathcad сравнивают с такими программными комплексами, как Maple <http://ru.wikipedia.org/wiki/Maple>, Mathematica <http://ru.wikipedia.org/wiki/Mathematica>,MATLAB <http://ru.wikipedia.org/wiki/MATLAB>, а также с их аналогами MuPAD <http://ru.wikipedia.org/w/index.php?title=MuPAD&action=edit&redlink=1>, Scilab <http://ru.wikipedia.org/wiki/Scilab>, Maxima <http://ru.wikipedia.org/wiki/Maxima> и др. Впрочем, объективное сравнение осложняется в связи с разным назначением программ и идеологией их использования.

Система Maple, например, предназначена главным образом для выполнения аналитических (символьных) вычислений и имеет для этого один из самых мощных в своем классе арсенал специализированных процедур и функций (более 3000). Такая комплектация для большинства пользователей, которые сталкиваются с необходимостью выполнения математических расчетов среднего уровня сложности, является избыточным. Возможности Maple <http://ru.wikipedia.org/wiki/Maple> ориентированы на пользователей - профессиональных математиков <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA>; решения задач в среде Maple требует не только умения оперировать какой-либо функции, но и знания методов решения, в нее заложенных: во многих встроенных функциях Maple фигурирует аргумент, задающий метод решения.

Тоже самое можно сказать и о Mathematica <http://ru.wikipedia.org/wiki/Mathematica>. Это одна из самых мощных систем, имеет чрезвычайно большую функциональную наполненность (есть даже синтезирование звука <http://ru.wikipedia.org/wiki/%D0%97%D0%B2%D1%83%D0%BA>). Mathematica <http://ru.wikipedia.org/wiki/Mathematica> обладает высокой скоростью вычислений, но требует изучения довольно необычного языка программирования <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F>.

Разработчики Mathcad сделали ставку на расширение системы в соответствии с потребностями пользователя. Для этого назначены дополнительные библиотеки и пакеты расширения, которые можно приобрести отдельно и которые имеют дополнительные функции, встраиваемые в систему при установке, а также электронные книги с описанием методов решения специфических задач, с примерами действующих алгоритмов <http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC> и документов <http://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82>, которые можно использовать непосредственно в собственных расчетах. Кроме того, в случае необходимости и при условии наличия навыков программирования в <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)>, есть возможность создания собственных функций и их прикрепления к ядру системы через механизм DLL <http://ru.wikipedia.org/wiki/DLL>., в отличие от Maple <http://ru.wikipedia.org/wiki/Maple>, изначально создавался для численного решения математических задач, он ориентирован на решение задач именно прикладной <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0>, а не теоретической математики, когда нужно получить результат без углубления в математическую суть задачи. Впрочем, для тех, кому нужны символьные вычисления и предназначено интегрированное ядро Maple <http://ru.wikipedia.org/wiki/Maple> (с версии 14 - MuPAD <http://ru.wikipedia.org/w/index.php?title=MuPAD&action=edit&redlink=1>). Особенно это полезно, когда речь идет о создании документов образовательного назначения, когда необходимо продемонстрировать построение математической модели, исходя из физической картины процесса или явления. Символьное ядро Mathcad, в отличие от оригинального Maple (MuPAD) искусственно ограничено (доступно около 300 функций), но этого в большинстве случаев вполне достаточно для решения задач инженерного <http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BD%D0%B0%D1%83%D0%BA%D0%B8> характера.

Более того, опытные пользователи Mathcad обнаружили, что в версиях до 13 включительно есть возможность не слишком сложным способом задействовать почти весь функциональный арсенал ядра Maple <http://ru.wikipedia.org/wiki/Maple> (так называемые «недокументированные возможности»), что приближает вычислительную мощность Mathcad к Maple <http://ru.wikipedia.org/wiki/Maple>.

П.2 Интерфейс

Основное отличие Mathcad от аналогичных программ - это графический, а не текстовый режим ввода выражений. Для набора команд, функций, формул можно использовать как клавиатуру <http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0>, так и кнопки на многочисленных специальных панелях инструментов <http://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BD%D0%B5%D0%BB%D1%8C_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2>. В любом случае - формулы будут иметь привычный, аналогичный книжному, вид. То есть особой подготовки для набора формул не нужно. Вычисления с введенными формулами осуществляются по желанию пользователя или мгновенно, одновременно с набором, либо по команде. Обычные формулы вычисляются слева направо и сверху вниз (подобно чтению текста). Любые переменные, формулы, параметры можно изменять, наблюдая воочию соответствующие изменения результата. Это дает возможность организации действительности интерактивных вычислительных документов.

В других программах (Maple, MuPAD, Mathematica) вычисления осуществляются в режиме программногоинтерпретатора <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80>, который трансформирует в формулы введенные в виде текста команды. Maple своим интерфейсом ориентирован на тех пользователей, кто уже имеет навыки программирования в среде традиционных языков с введением сложных формул в текстовом режиме. Для пользования Mathcad можно вообще не быть знакомым спрограммированием <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5> в том или ином виде.задумывался как средство программирования без программирования, но, если возникает такая потребность - Mathcad имеет довольно простые для усвоения инструменты программирования, позволяющие, впрочем, строить весьма сложные алгоритмы, к чему прибегают, когда встроенных средств решения задачи не хватает, а также когда необходимо выполнять серийные расчеты.[6] <http://ru.wikipedia.org/wiki/Mathcad>

Отдельно следует отметить возможность использования в расчетах Mathcad величин с размерностями, причем можно выбрать систему единиц <http://ru.wikipedia.org/wiki/%D0%95%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D1%8B_%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F>: СИ <http://ru.wikipedia.org/wiki/%D0%A1%D0%98>, СГС <http://ru.wikipedia.org/wiki/%D0%A1%D0%93%D0%A1>, МКС <http://ru.wikipedia.org/wiki/%D0%9C%D0%9A%D0%A1_(%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D1%86_%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F)

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...