Mathcad — система комп'ютерної алгебри з класу систем автоматизованого проєктування, орієнтована на підготовку інтерактивних документів з обчисленнями і візуальним супроводженням, відрізняється легкістю використання і застосування для колективної роботи.

Mathcad має простий і інтуїтивний для використання інтерфейс користувача. Для введення формул і даних можна використовувати як клавіатуру, так і спеціальні панелі інструментів.

Деякі з математичних можливостей Mathcad (версії до 13.1 включно) засновані на підмножині системи комп'ютерної алгебри Maple (MKM, Maple Kernel Mathsoft). Версії 14 та 15 використовують символьне ядро MuPAD. Нове покоління — Mathcad Prime (поточна версія 9.0) зворотної сумісності із попередніми версіями Mathcad не має (можлива конвертація файлів попередніх версій у формат Mathcad Prime).

Робота здійснюється в межах робочого аркуша, на якому рівняння і вирази відображаються графічно, на противагу текстовому запису в мовах програмування. При створенні документів-програм використовується принцип WYSIWYG (What You See Is What You Get — «що бачиш, те й отримуєш») набору математичних виразів та тексту у інтерактивному блокноті.

Попри те, що ця програма здебільшого орієнтована на користувачів-непрограмістів, Mathcad також використовується в складніших проєктах, щоб візуалізувати результати математичного моделювання, шляхом використання найбільш поширених обчислень і традиційних мов програмування.

Mathcad доволі зручно використовувати для навчання, обчислень і інженерних розрахунків. Відкрита архітектура застосунків у поєднанні з підтримкою технологій .NET і XML дозволяють легко інтегрувати Mathcad практично в будь-які ІТ-структури і інженерні застосування. Є можливість створення електронних книг (e-Book).

Можливості

Mathcad містить сотні операторів і вбудованих функцій для вирішення різних технічних завдань. Програма дозволяє виконувати чисельні і символьні обчислення, проводити операції зі скалярними величинами, векторами і матрицями, автоматично переводити одні одиниці вимірювання в інші.

Mathcad має такі можливості:

Розв'язання диференціальних рівнянь (в тому числі - диференціальних рівнянь із частинними похідними). Побудова двовимірних і тривимірних графіків (в різних системах координат, контурні, векторні тощо). Використання грецького алфавіту (верхній і нижній регістр) як в тексті, так і у рівняннях. Символьні обчислення. Операції з векторами і матрицями. Символьне розв'язання систем рівнянь. Згладжування кривих. Виконання підпрограм. Знаходження коренів функцій і поліномів, розв'язання тригонометричних рівнянь. Статистичні функції і розподіли ймовірностей. Пошук власних значень і власних векторів. Обчислення з розмірностями; перетворення одиниць вимірювань. Інтеграція із САПР (Creo Elements/Pro, Windchill, Creo Elements/View), використання результатів обчислень для параметричного конструювання. Інтеграція таблиць Excel.

За допомогою Mathcad інженери можуть документувати всі обчислення в процесі їх проведення.

Порівняльна характеристика

Призначення

Mathcad належить до так званих систем комп'ютерної алгебри, тобто засобів автоматизації математичних розрахунків. В цьому класі програмного забезпечення існує багато аналогів різноманітної спрямованості і принципу побудови. Найбільш часто Mathcad з такими програмними комплексами, як Maple, Mathematica, MATLAB, а також з їх аналогами MuPAD, SciLab, Maxima та ін. Втім, об'єктивне порівняння ускладнюється у зв'язку із різним призначенням програм і ідеологією їх використання.

Система Maple, наприклад, призначена головним чином для виконання аналітичних (символьних) обчислень і має для цього один з найпотужніших у своєму класі арсенал спеціалізованих процедур і функцій (понад 3000). Така комплектація для більшості користувачів, які стикаються з необхідністю виконання математичних розрахунків середнього рівня складності, є надлишковою. Можливості Maple орієнтовані на користувачів — професійних математиків; розв'язання задач в середовищі Maple потребує не тільки вміння оперувати тією чи іншою функцією, але й знання методів розв'язання, в неї закладених: в багатьох вбудованих функціях Maple фігурує аргумент, що задає метод розв'язання.

Те ж саме можна сказати і про Mathematica. Це одна з найпотужніших систем; має надзвичайно велику функціональну наповненість (є навіть синтезування звуку). Mathematica має високу швидкість обчислень, але потребує вивчення доволі незвичайної мови програмування.

Розробники Mathcad зробили ставку на розширення системи відповідно до потреб користувача. Для цього призначені додаткові бібліотеки і пакети розширення, які можна придбати окремо і які мають додаткові функції, що вбудовуються в систему при інсталяції; а також електронні книги із описом методів розв'язання специфічних задач, з прикладами діючих алгоритмів і документів, які можна використовувати безпосередньо у власних розрахунках. Крім того, в разі потреби і за умови наявності навичок програмування в C, є можливість створення власних функцій і їх прикріплення до ядра системи через механізм dll.

Mathcad, на відміну від Maple, спочатку створювався для чисельного вирішення математичних задач, він орієнтований на вирішення задач саме прикладної, а не теоретичної математики, коли потрібно отримати результат без заглиблення в математичну суть задачі. Втім, для тих, кому потрібні символьні обчислення, і призначене інтегроване ядро Maple (з версії 14 — MuPAD). Особливо це корисно, коли йдеться про створення документів освітнього призначення, коли необхідно продемонструвати побудову математичної моделі, виходячи з фізичної картини процесу або явища. Символьне ядро Mathcad, на відміну від оригінального Maple (MuPAD), штучно обмежене (доступно близько 300 функцій), але цього в переважній більшості випадків цілком достатньо для розв'язання задач інженерного характеру.

Більш того, досвідчені користувачі Mathcad виявили, що принаймні у версіях до 13 включно є можливість не надто складним способом задіяти майже весь функціональний арсенал ядра Maple (так звані «недокументовані можливості»), що наближує обчислювальну потужність Mathcad до Maple[ Очков В. Ф. Недокументированная символьная математика Mathcad/Maple ].

Інтерфейс, програмування

Основна відмінність Mathcad від аналогічних програм — це графічний, а не текстовий режим вводу виразів. Для набору команд, функцій, формул можна використовувати як клавіатуру, так і кнопки на численних спеціальних панелях інструментів. В будь-якому разі — формули будуть мати звичний, аналогічний книжковому, вигляд. Тобто особливої підготовки для набору формул, власне, й не потрібно. Обчислення із введеними формулами здійснюються за бажанням користувача або миттєво, одночасно із набором, або за командою. Звичайні формули обчислюються зліва-направо і зверху вниз (подібно читанню тексту). Будь-які змінні, формули, параметри можна змінювати, спостерігаючи наочно відповідні зміни результату. Це дає можливість організації справді інтерактивних обчислювальних документів.

В інших програмах (Maple, MuPAD, Mathematica) обчислення здійснюються в режимі програмного інтерпретатора, який трансформує у формули введені у вигляді тексту команди. Maple своїм інтерфейсом орієнтовано на тих користувачів, хто вже має навички програмування в середовищі традиційних мов із введенням складних формул в текстовому режимі. Для користування Mathcad можна взагалі не бути знайомим з програмуванням в тому чи іншому вигляді.

Mathcad передбачався як засіб програмування без програмування, але якщо виникає така потреба — Mathcad має доволі прості для засвоєння інструменти програмування, що дозволяють, проте, будувати вельми складні алгоритми, до чого вдаються, коли вбудованих засобів вирішення задачі бракує, а також коли необхідно виконувати серійні розрахунки.

Окремо слід відзначити можливість використання у розрахунках Mathcad величин з розмірностями, причому можна вибрати систему одиниць: СІ, СГС, МКС, американську або побудувати власну. Результати обчислень, зрозуміло, також отримують відповідну розмірність. Користь від такої можливості важко переоцінити, оскільки значно спрощується відстеження помилок у розрахунках, особливо — у фізичних та інженерних.

Графіка

В середовищі Mathcad фактично немає графіків функцій в математичному розумінні терміну, а є візуалізація даних, що знаходяться у векторах та матрицях (тобто здійснюється побудова як ліній, так і поверхонь по точках з інтерполяцією), хоча користувач може про це й не знати, оскільки у нього є можливість використання безпосередньо функцій однієї або двох змінних для побудови графіків чи поверхонь відповідно. Так чи інакше, механізм візуалізації Mathcad значно поступається існуючому в Maple, де достатньо мати лише вид функції, щоб побудувати графік або поверхню будь-якого рівня складності. Порівняно з Maple графіка Mathcad має ще такі недоліки, як: неможливість побудови поверхонь у непрямокутній області існування двох аргументів; створення і форматування графіків доступне лише через меню, що обмежує можливості програмного керування параметрами графіки.

Однак слід пам'ятати про основну область застосування Mathcad — для задач інженерного характеру і створення навчальних інтерактивних документів можливостей візуалізації цілком достатньо. Досвідчені користувачі Mathcad демонструють можливість візуалізації надзвичайно складних математичних конструкцій, але об'єктивно це вже виходить за рамки призначення пакету.

Розширення функціональності Mathcad (окрім Prime-версій)

Можливе доповнення Mathcad новими можливостями за допомогою спеціалізованих пакетів розширень і бібліотек, які поповнюють систему додатковими функціями і константами для вирішення спеціалізованих задач:

Пакет для аналізу даних (Data Analysis Extension Pack). Це розширення забезпечує Mathcad необхідними інструментами для аналізу даних.

Пакет для обробки сигналів (Signal Processing Extension Pack). У цьому пакеті міститься більше 70 вбудованих функцій для обробки сигналів, за допомогою яких можна здійснювати аналогову і цифрову обробку сигналів, проводити аналіз і представляти результати в графічному вигляді.

Пакет для обробки зображень (Image Processing Extension Pack). Це розширення забезпечує Mathcad необхідними інструментами для обробки зображень, аналізу і візуалізації.

Пакет для роботи з функціями хвильового перетворення (Wavelets Extension Pack). У цьому пакеті містяться сімейства вейвлет-функцій, які можна додати в бібліотеку вбудованих функцій Mathcad Professional. Пакет надає можливість застосувати новий підхід до аналізу сигналів і зображень, статистичної оцінки сигналів, аналізу стиснення даних, а також спеціальних чисельних методів. Функціональність включає одно- і двомірні вейвлети, , мультианаліз роздільної здатності і багато іншого. Пакет об'єднує понад 60 функцій ключових вейвлетів. Включено ортогональні і біортогональні сімейства вейвлетів, серед іншого — Гаарів вейвлет, вейвлет Добеші, симлет, койфлет і B-сплайни. Пакет також містить обширну діалогову документацію по основних принципах вейвлетів, додатки, приклади і таблиці посилань.

Бібліотека розширень для обробки цифрових сигналів (Digital Signal Processing Extension Library). Включає три пакети розширення: Wavelets Extension Pack, Image Processing Extension Pack, Signal Processing Extension Pack.