Програми для наукових досліджень та розрахунків. Додатки для інженерних та наукових розрахунків як інструменти для тестування продуктивності пк. Програми для фінансових розрахунків та прогнозування

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

  • CAD - Computer Aided Design;
  • CAM - Computer Aided Manufacturing;
  • CAE - Computer Aided Engeneering.

Сьогодні серйозне конструювання, містобудування та архітектура, електротехніка та маса суміжних із ними галузей, а також навчальні заклади технічної спрямованості вже не можуть обійтися без систем автоматизованого проектування (САПР), виробництва та розрахунків. А математичні пакети є складовою світу CAE-систем, але ця частина ніяк не може вважатися другорядною, оскільки деякі завдання взагалі неможливо вирішити без допомоги комп'ютера. Більше того, до систем символьної математики сьогодні вдаються навіть теоретики (так звані чисті, а не прикладні математики), наприклад, для перевірки своїх гіпотез.

Усього якихось 10 років тому ці системи вважалися суто професійними, але середина 90-х стала переломним моментом для світового ринку CAD/CAM/CAE-систем масового застосування. Тоді вперше за довгий час пакети для параметричного моделювання з промисловими можливостями стали доступні користувачам персональних комп'ютерів. Творці таких систем врахували вимоги широкого кола користувачів і таким чином дали можливість десяткам тисяч інженерів та математиків використовувати на своїх персональних робочих місцях новітні досягнення науки в галузі технологій CAD/CAM/CAE-систем.

То що вміють програми математичного моделювання? Невже вони вимагають від вчених уміння програмувати на тих чи інших алгоритмічних мовах, налагоджувати програми, відловлювати помилки і витрачати багато часу на отримання результату? Ні, ті часи давно минули, і тепер у математичних пакетах застосовується принцип конструювання моделі, а не традиційне «мистецтво програмування». Тобто користувач лише ставить завдання, а методи та алгоритми вирішення система знаходить сама. Більше того, такі рутинні операції, як розкриття дужок, перетворення виразів, знаходження коренів рівнянь, похідних та невизначених інтегралів комп'ютер самостійно здійснює у символьному вигляді, причому практично без втручання користувача.

Сучасні математичні пакети можна використовувати і як звичайний калькулятор, і як засоби для спрощення виразів під час вирішення будь-яких завдань, і як генератор графіки або навіть звуку! Стандартними стали також засоби взаємодії з Інтернетом, і генерація HTML-сторінок виконується тепер у процесі обчислень. Тепер можна вирішувати завдання та одночасно публікувати для колег хід її вирішення на своїй домашній сторінці.

Розповідати про програми математичного моделювання та можливі сфери їх застосування можна дуже довго, але ми обмежимося лише коротким оглядом провідних програм, вкажемо їх спільні риси та відмінності. В даний час практично всі сучасні CAE програми мають вбудовані функції символьних обчислень. Однак найбільш відомими та пристосованими для математичних символьних обчислень вважаються Maple, MathCad, Mathematica та MatLab. Але, роблячи огляд основних програм символьної математики, ми зазначимо і можливі альтернативи, ідеологічно схожі з тим чи іншим пакетом-лидером.

То що роблять ці програми і як вони допомагають математикам? Основу курсу математичного аналізу у вищій школі складають такі поняття, як межі, похідні, первісні функції, інтеграли різних видів, ряди та диференціальні рівняння. Тому, хто знайомий з основами вищої математики, напевно, відомі десятки правил знаходження меж, взяття інтегралів, знаходження похідних і т.д. Якщо додати до цього те, що знаходження більшості інтегралів потрібно також пам'ятати таблицю основних інтегралів, то виходить справді величезний обсяг інформації. І якщо якийсь час не тренуватися у вирішенні подібних завдань, то багато чого швидко забувається і для знаходження, наприклад, інтеграла складніше доведеться вже заглядати в довідники. Але взяття інтегралів і знаходження меж у реальній роботі не є головною метою обчислень. Реальна мета полягає у вирішенні будь-яких проблем, а обчислення - лише проміжний етап на шляху до цього рішення.

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

Зазначимо лише, що спектр завдань, які вирішуються подібними системами, дуже широкий:

  • проведення математичних досліджень, що вимагають обчислень та аналітичних викладок;
  • розробка та аналіз алгоритмів;
  • математичне моделювання та комп'ютерний експеримент;
  • аналіз та обробка даних;
  • візуалізація, наукова та інженерна графіка;
  • розробка графічних та розрахункових додатків.

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

Mathematica (http://www.wolfram.com/)

  • 400-550 Мбайт дискового простору;
  • операційні системи: Windows 98/Me/NT 4.0/2000/2003 Server/2003x64/XP/XP x64.

Компанія Wolfram Reseach, Inc., що розробила систему комп'ютерної математики Mathematica, по праву вважається найстарішим і найбільшим гравцем у цій галузі. Пакет Mathematica (поточна версія 5.2) повсюдно застосовується при розрахунках у сучасних наукових дослідженнях та здобув широку популярність у науковому та освітньому середовищі. Можна навіть сказати, що Mathematica має значну функціональну надмірність (там, зокрема, є навіть можливість для синтезу звуку).

Однак навряд чи ця потужна математична система, яка претендує на світове лідерство, потрібна секретарці або навіть директору невеликої комерційної фірми, не кажучи вже про звичайних користувачів. Але, безперечно, будь-яка серйозна наукова лабораторія чи кафедра вишу повинна мати подібну програму, якщо там серйозно зацікавлена ​​в автоматизації виконання математичних розрахунків будь-якого ступеня складності. Незважаючи на свою спрямованість на серйозні математичні обчислення, системи класу Mathematica прості в освоєнні та можуть використовуватися досить широкою категорією користувачів – студентами та викладачами вузів, інженерами, аспірантами, науковцями та навіть учням математичних класів загальноосвітніх та спеціальних шкіл. Усі вони знайдуть у подібній системі численні корисні можливості застосування.

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

Зазначимо, що у розробках різних версій системи Mathematica, поряд з головною фірмою Wolfram Research, Inc., брали участь інші фірми та сотні фахівців високої кваліфікації, зокрема математики та програмісти. Є серед них і представники поваги і попиту за кордоном математичної школи Росії. Система Mathematica є однією з найбільших програмних систем та реалізує найбільш ефективні алгоритми обчислень. До них, наприклад, відноситься механізм контекстів, що виключає появу програм побічних ефектів.

Система Mathematica сьогодні розглядається як світовий лідер серед комп'ютерних систем символьної математики для ПК, що забезпечують не лише можливості виконання складних чисельних розрахунків із виведенням їх результатів у найвишуканішому графічному вигляді, а й проведення особливо трудомістких аналітичних перетворень та обчислень. Версії системи під Windows мають сучасний інтерфейс користувача і дозволяють готувати документи у формі Notebooks (записних книжок). Вони поєднують вихідні дані, описи алгоритмів розв'язання задач, програм та результатів розв'язання у найрізноманітнішій формі (математичні формули, числа, вектори, матриці, таблиці та графіки).

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

З самого початку велика увага приділялася графіку, у тому числі динамічній, і навіть можливостям мультимедіа – відтворенню динамічної анімації та синтезу звуків. Набір функцій графіки і опцій, що змінюють їх дію, дуже широкий. Графіка завжди була сильною стороною різних версій системи Mathematica та забезпечувала їм лідерство серед систем комп'ютерної математики.

В результаті Mathematica швидко зайняла провідні позиції на ринку символьних математичних систем. Особливо привабливі великі графічні можливості системи та реалізація інтерфейсу типу Notebook. При цьому система забезпечувала динамічний зв'язок між осередками документів у стилі електронних таблиць навіть при вирішенні символьних завдань, що принципово та вигідно відрізняло її від інших подібних систем.

До речі, центральне місце в системах класу Mathematica займає машинно-незалежне ядро ​​математичних операцій, яке дозволяє переносити систему на різні комп'ютерні платформи. Для перенесення системи в іншу комп'ютерну платформу використовується програмний інтерфейсний процесор Front End. Саме він визначає, який вигляд має користувальницький інтерфейс системи, тобто інтерфейсні процесори систем Mathematica для інших платформ можуть мати свої нюанси. Ядро зроблено досить компактним для того, щоб можна було швидко викликати з нього будь-яку функцію. Для розширення набору функцій є бібліотека (Library) і набір пакетів розширення (Add-on Packages). Пакети розширень готуються своєю мовою програмування систем Mathematica і є основним засобом у розвиток можливостей системи та його адаптації до вирішення конкретних класів завдань користувача. Крім того, системи мають вбудовану електронну довідкову систему Help, яка містить електронні книги з реальними прикладами.

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

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

Простішими, але ідеологічно близькими альтернативами програми Mathematica можна назвати такі пакети, як Maxima (/) і Kalamaris (developer.kde.org/~larrosa/kalamaris.html).

Зазначимо, що система Maxima – це некомерційний проект із відкритим кодом. У програмі Maxima для математичної роботи використовується мова, подібна до мови в пакеті Mathematica, а графічний інтерфейс побудований за тими ж принципами. Спочатку програма називалася Xmaxima та створювалася для UNIX-систем.

Крім того, зараз система Maxima має ще більш потужний, ефективний і дружній кросплатформовий графічний інтерфейс, який називається Wxmaxima (http://wxmaxima.sourceforge.net). І хоча цей проект поки що існує лише в бета-версії, він поступово перетворюється на дуже серйозну альтернативу комерційним системам.

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

Maple (http://www.maplesoft.com/)

Мінімальні вимоги до системи:

Процесор Pentium III 650 МГц;

400 Мбайт дискового простору;

Операційні системи: Windows NT 4 (SP5)/98/ME/2000/2003 Server/XP Pro/XP Home.

Програма Maple (остання версія 10.02) – свого роду патріарх у сімействі систем символьної математики і досі є одним із лідерів серед універсальних систем символьних обчислень. Вона надає користувачеві зручне інтелектуальне середовище для математичних досліджень будь-якого рівня та користується особливою популярністю у науковому середовищі. Зазначимо, що символьний аналізатор програми Maple є найбільш сильною частиною цього ПЗ, тому саме він був запозичений і включений до інших CAE-пакетів, таких як MathCad і MatLab, а також до складу пакетів для підготовки наукових публікацій Scientific WorkPlace і Math Office for Word .

Пакет Maple – спільна розробка Університету Ватерлоо (шт. Онтаріо, Канада) та Вищої технічної школи (ETHZ, Цюріх, Швейцарія). Для його продажу було створено спеціальну компанію - Waterloo Maple, Inc., яка, на жаль, більше прославилася математичним опрацюванням свого проекту, ніж рівнем його комерційної реалізації. В результаті система Maple раніше була доступна переважно вузькому колу професіоналів. Зараз ця компанія працює спільно з більш успішною в комерції та в опрацюванні інтерфейсу математичних систем фірмою MathSoft, Inc. - творцем дуже популярних і масових систем для чисельних розрахунків MathCad, що стали міжнародним стандартом для технічних обчислень.

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

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

Інтерфейс Maple заснований на концепції робочого поля (worksheet) або документа, що містить рядки вводу-виводу та текст, а також графіку.

Робота з пакетом відбувається як інтерпретатора. У рядку введення користувач задає команду, натискає клавішу Enter і отримує результат - рядок (або рядки) виведення або повідомлення про помилково введену команду. Відразу ж видається запрошення вводити нову команду і т.д.

Інтерфейс Maple

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

Система Maple дозволяє вводити електронні таблиці, що містять як числа, і символи. Вони поєднують у собі математичні можливості системи Maple з вже знайомим форматом рядків і стовпців традиційних електронних таблиць. Електронні таблиці системи Maple можна використовуватиме створення таблиць формул.

Для полегшення документування та організації результатів обчислень є опції розбиття на параграфи та розділи, а також додавання гіперпосилань. Гіперпосилання є навігаційним засобом. Одним клацанням миші по ній можна перейти до іншої точки в межах робочого аркуша, до іншого робочого аркуша, до сторінки допомоги, до робочого аркуша на Web-сервері або до будь-якої іншої Web-сторінки.

Робочі листи можна організувати ієрархічно, як розділів і підрозділів. Розділи та підрозділи можна як розширювати, так і згортати. Система Maple, подібно до інших текстових редакторів, підтримує опцію закладок.

Обчислення в Maple

Систему Maple можна використовувати і на самому елементарному рівні її можливостей – як дуже потужний калькулятор для обчислень за заданими формулами, але головною її перевагою є здатність виконувати арифметичні дії у символьному вигляді, тобто так, як це робить людина. Працюючи з дробами і корінням програма не наводить їх у процесі обчислень до десяткового виду, а здійснює необхідні скорочення і перетворення на стовпчик, що дозволяє уникнути помилок при округленні. Для роботи з десятковими еквівалентами в системі Maple є спеціальна команда, що апроксимує значення виразу у форматі чисел з плаваючою комою. Система Maple обчислює кінцеві і нескінченні суми і твори, виконує обчислювальні операції з комплексними числами, легко наводить комплексне число до полярних координатах, обчислює числові значення елементарних функцій, а також знає багато спеціальних функцій і математичних констант (таких, наприклад, як » та «пі»). Maple підтримує сотні спеціальних функцій та чисел, що зустрічаються у багатьох галузях математики, науки та техніки. Наведемо лише деякі з них:

  • функція помилок;
  • ейлерова константа;
  • експонентний інтеграл;
  • еліптична інтегральна функція;
  • гамма-функція;
  • зета-функція;
  • ступінчаста функція Хевісайду;
  • дельта-функція Дірака;
  • безселева та модифікована безселева функції.

Система Maple пропонує різні способи подання, скорочення та перетворення виразів, наприклад такі операції, як спрощення та розкладання на множники алгебраїчних виразів та приведення їх до різного виду. Таким чином, Maple можна використовувати для вирішення рівнянь та систем.

Maple також має безліч потужних інструментальних засобів для обчислення виразів з одним або декількома змінними. Програму можна використовувати для вирішення задач диференціального та інтегрального обчислення, обчислення меж, розкладів у ряди, підсумовування рядів, множення, інтегральних перетворень (таких як перетворення Лапласа, Z-перетворення, перетворення Мелліна або Фур'є), а також для дослідження безперервних або шматково-безперервних функцій.

Maple може обчислювати межі функцій, як кінцеві, і які прагнуть нескінченності, і навіть розпізнає невизначеності не більше. У цій системі можна вирішувати безліч звичайних диференціальних рівнянь (ODE), а також диференціальні рівняння у приватних похідних (PDE), у тому числі задачі з початковими умовами (IVP) та задачі з граничними умовами (BVP).

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

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

Графіка в Maple

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

Графічні засоби Maple дозволяють будувати двовимірні графіки відразу кількох функцій, створювати графіки конформних перетворень функцій з комплексними числами та будувати графіки функцій у логарифмічній, подвійній логарифмічній, параметричній, фазовій, полярній та контурній формі. Можна графічно представляти нерівності, неявно задані функції, розв'язання диференціальних рівнянь та кореневі годографи.

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

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

Спеціалізовані програми

Великий набір потужних інструментальних програм Maple PowerTools та пакетів для таких областей, як аналіз методом кінцевих елементів (FEM), нелінійна оптимізація та ін., повністю задовольнять користувачів з університетською математичною освітою. У Maple включені також пакети підпрограм для вирішення задач лінійної та тензорної алгебри, евклідової та аналітичної геометрії, теорії чисел, теорії ймовірностей та математичної статистики, комбінаторики, теорії груп, інтегральних перетворень, чисельної апроксимації та лінійної оптимізації (симплекс-метод), фінансової математики та багатьох, багатьох інших.

Для фінансових розрахунків призначено програмний пакет Finance. З його допомогою можна обчислювати поточну та накопичену суму щорічної ренти, сукупну щорічну ренту, суму довічної ренти, сукупну довічну ренту та відсотковий дохід на облігації. Ви можете будувати таблицю амортизації, визначати реальну суму ставки для складних відсотків та обчислювати поточну та майбутню фіксовану кількість для конкретної ставки та складних відсотків.

Програмування

Система Maple використовує процедурну мову 4-го покоління (4GL). Ця мова спеціально призначена для швидкої розробки математичних підпрограм і додатків користувача. Синтаксис цієї мови аналогічний синтаксису універсальних мов високого рівня: C, Fortran, Basic та Pascal.

Maple може генерувати код, сумісний з мовами програмування, як Fortran або C, і з мовою набору тексту LaTeX, який користується великою популярністю в науковому світі і застосовується для оформлення публікацій. Одна з переваг цієї властивості - здатність забезпечувати доступ до спеціалізованих числових програм, що максимально прискорює вирішення складних завдань. Наприклад, використовуючи систему Maple, можна розробити певну математичну модель, а потім з її допомогою згенерувати код мовою C, що відповідає цій моделі. Мова 4GL, спеціально оптимізована для розробки математичних додатків, дозволяє скоротити процес розробки, а налаштувати інтерфейс користувача допомагають елементи Maplets або документи Maple з вбудованими графічними компонентами.

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

Інтернет-сумісність

Maple є першим універсальним математичним пакетом, який пропонує повну підтримку стандарту MathML 2.0, який управляє як зовнішнім виглядом, так і змістом математики в Інтернеті. Ця ексклюзивна функція робить поточну версію MathML основним засобом Інтернет-математики, а також встановлює новий рівень сумісності розрахованого на багато користувачів середовища. TCP/IP-протокол забезпечує динамічний доступ до інформації з інших Інтернет-ресурсів, наприклад даних для фінансового аналізу в реальному часі або даних про погоду.

Перспективи розвитку

Останні версії Maple, окрім додаткових алгоритмів і методів розв'язання математичних завдань, отримали зручніший графічний інтерфейс, просунуті інструменти візуалізації та побудови графіків, а також додаткові засоби програмування (у тому числі за сумісністю з універсальними мовами програмування). Починаючи з дев'ятої версії в пакет було додано імпорт документів із програми Mathematica, а довідкову систему було введено визначення математичних та інженерних понять та розширено навігацію сторінками довідки. Крім того, було підвищено поліграфічну якість формул, особливо при форматуванні великих та складних виразів, а також значно скорочено розмір MW-файлів для зберігання робочих документів Maple.

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

До недоліків системи Maple можна віднести лише її деяку «задумливість», причому не завжди обґрунтовану, а також дуже високу вартість цієї програми (залежно від версії та набору бібліотек ціна її сягає кількох десятків тисяч дол., правда студентам та науковцям пропонуються дешеві версії – за кілька сотень дол.).

Пакет Maple широко поширений в університетах провідних наукових держав, у дослідницьких центрах та компаніях. Програма постійно розвивається, вбираючи нові розділи математики, набуваючи нових функцій і забезпечуючи найкраще середовище для дослідницької роботи. Один із основних напрямів розвитку цієї системи - підвищення потужності та достовірності аналітичних (символьних) обчислень. Цей напрямок представлений у Maple найбільш широко. Вже сьогодні Maple може виконувати найскладніші аналітичні обчислення, які нерідко не під силу навіть досвідченим математикам. Звичайно ж, Maple не здатна на геніальні припущення, зате рутинні та масові розрахунки система виконує з блиском. Інший важливий напрямок – підвищення ефективності чисельних розрахунків. Внаслідок цього помітно зросла перспектива використання Maple у чисельному моделюванні та у виконанні складних обчислень - у тому числі з довільною точністю. І нарешті, тісна інтеграція Maple з іншими програмними засобами – ще один важливий напрямок розвитку цієї системи. Ядро символьних обчислень Maple вже включено до складу цілої низки систем комп'ютерної математики - від систем широкого кола користувачів типу MathCad до однієї з найкращих систем чисельних розрахунків і моделювання MatLab.

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

Альтернативні пакети

Як простіші, але ідеологічно близькі альтернативи програмі Maple можна відзначити такі пакети, як Derive (http://www.chartwellyorke.com/derive.html), Scientific WorkPlace (http://www.mackichan.com/) та YaCaS (www.xs4all.nl/~apinkus/yacas.html).

Як ми вже говорили, система Scientific WorkPlace (SWP, поточна версія 5.5) спочатку розвивалася як редактор наукових текстів, дозволяючи легко набирати та редагувати математичні формули. Однак згодом компанія MacKichan Software, Inc. (Розробник системи Scientific WorkPlace) ліцензувала символьний двигун Maple у компанії Waterloo Maple, Inc., і тепер ця програма поєднує простий у використанні текстовий процесор, що забезпечує створення математичних текстів і систему комп'ютерної алгебри в одному середовищі. Завдяки вбудованій системі комп'ютерної алгебри ви можете проводити обчислення прямо у документі. Звичайно, у цієї програми немає таких можливостей, як у Maple, проте вона маленька і проста у використанні.

Що стосується YaCaS (абревіатура від вираження Yet Another Computer Algebra System - ще одна система комп'ютерної алгебри), то це безкоштовна альтернативна кросплатформа Maple, побудована на тих же принципах. Потужний та високоефективний двигун YaCaS повністю реалізований на C++ на умовах відкритої ліцензії (OpenSource). Інтерфейс, звичайно, бідніший і простіший, ніж у маститих конкурентів, але досить зручний.

А ось маленька комерційна математична система Derive (поточна версія 6.1) існує вже досить давно, але, звичайно, не може розглядатися як повноцінна альтернатива Maple, хоча вона й досі приваблива своєю невимогливістю до апаратних ресурсів ПК. Більше того, при вирішенні завдань помірної складності вона демонструє навіть більш високу швидкодію та більшу надійність рішення, ніж перші версії систем Maple та Mathematica. Втім, системі Derive важко всерйоз конкурувати з цими системами - як за великою кількістю функцій і правил аналітичних перетворень, так і за можливостями машинної графіки і зручністю інтерфейсу користувача. Поки що Derive є більшою навчальною системою комп'ютерної алгебри початкового рівня.

І хоча нова версія Derive 6 під Windows вже має сучасний зручний інтерфейс, він багато в чому поступається вишуканому інтерфейсу маститих конкурентів. А щодо можливості графічної візуалізації результатів обчислень Derive і взагалі далеко відстає від конкурентів.

MatLab (http://www.mathworks.com/)

Мінімальні вимоги до системи:

  • процесор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP;
  • 256 Мбайт оперативної пам'яті (рекомендується 512 Мбайт);
  • 400 Мбайт дискового простору (тільки для самої системи MatLab та її Help);
  • ОС Microsoft Windows 2000 (SP3)/XP.

Система MatLab відноситься до середнього рівня продуктів, призначених для символьної математики, але розрахована на широке застосування у CAE (тобто сильна і в інших областях). MatLab - одна з найстаріших, ретельно опрацьованих та перевірених часом систем автоматизації математичних розрахунків, побудована на розширеному поданні та застосуванні матричних операцій. Це знайшло відображення і в самій назві системи – MATrix LABoratory, тобто матрична лабораторія. Проте синтаксис мови програмування системи продуманий настільки ретельно, що це орієнтація майже відчувається тими користувачами, яких цікавлять безпосередньо матричні обчислення.

Незважаючи на те, що спочатку MatLab призначалася виключно для обчислень, у процесі еволюції (а зараз випущена вже версія 7), на додаток до прекрасних обчислювальних засобів, у фірми Waterloo Maple за ліцензією для MatLab було придбано ядро ​​символьних перетворень, а також з'явилися бібліотеки, які забезпечують у MatLab унікальні для математичних пакетів функції. Наприклад, широко відома бібліотека Simulink, реалізуючи принцип візуального програмування, дозволяє побудувати логічну схему складної системи управління з одних стандартних блоків, не написавши при цьому ні рядка коду. Після конструювання такої схеми можна детально проаналізувати її роботу.

У системі MatLab також є широкі можливості для програмування. Її бібліотека C Math (компілятор MatLab) є об'єктною і містить понад 300 процедур обробки даних мовою C. Усередині пакета можна використовувати як процедури самої MatLab, так і стандартні процедури мови C, що робить цей інструмент наймогутнішою підмогою при розробці додатків (використовуючи компілятор C Math, можна вбудовувати будь-які процедури MatLab у готові програми).

Бібліотека C Math дозволяє користуватися такими категоріями функцій:

  • операції з матрицями;
  • порівняння матриць;
  • розв'язання лінійних рівнянь;
  • розкладання операторів та пошук власних значень;
  • знаходження зворотної матриці;
  • пошук визначника;
  • обчислення матричного експоненціалу;
  • елементарна математика;
  • функції beta, gamma, erf та еліптичні функції;
  • основи статистики та аналізу даних;
  • пошук коренів поліномів;
  • фільтрація, згортка;
  • швидке перетворення Фур'є (FFT);
  • інтерполяція;
  • операції із рядками;
  • операції введення-виведення файлів і т.д.

При цьому всі бібліотеки MatLab відрізняються високою швидкістю чисельних обчислень. Однак матриці широко застосовуються не тільки в таких математичних розрахунках, як розв'язання задач лінійної алгебри та математичного моделювання, обліку статичних та динамічних систем та об'єктів. Вони є основою автоматичного складання та вирішення рівнянь стану динамічних об'єктів та систем. Саме універсальність апарату матричного обчислення значно підвищує інтерес до системи MatLab, що увібрала в себе найкращі досягнення в області швидкого вирішення матричних завдань. Тому MatLab давно вже вийшла за межі спеціалізованої матричної системи, перетворившись на одну з найбільш потужних універсальних інтегрованих систем комп'ютерної математики.

Для візуалізації моделювання система MatLab має бібліотеку Image Processing Toolbox, яка забезпечує широкий спектр функцій, що підтримують візуалізацію обчислень, що проводяться безпосередньо з середовища MatLab, збільшення та аналіз, а також можливість побудови алгоритмів обробки зображень. Удосконалені методи графічної бібліотеки у поєднанні з мовою програмування MatLab забезпечують відкриту систему, що розширюється, яка може бути використана для створення спеціальних додатків, придатних для обробки графіки.

Основні засоби бібліотеки Image Processing Tollbox:

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

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

Таким чином, програму MatLab можна використовувати для відновлення зіпсованих зображень, шаблонного розпізнавання об'єктів на зображеннях або розробки будь-яких власних оригінальних алгоритмів обробки зображень. Бібліотека Image Processing Tollbox спрощує розробку високоточних алгоритмів, оскільки кожна з функцій, включених до цієї бібліотеки, оптимізована для максимальної швидкодії, ефективності та достовірності обчислень. Крім того, бібліотека забезпечує розробника численним інструментарієм для створення власних рішень та для реалізацій складних програм обробки графіки. А при аналізі зображень використання миттєвого доступу до потужних засобів візуалізації допомагає миттєво побачити ефекти збільшення, відновлення та фільтрації.

Серед інших бібліотек системи MatLab можна також відзначити System Identification Toolbox - набір інструментів для створення математичних моделей динамічних систем, заснованих на вхідних/вихідних даних, що спостерігаються. Особливістю цього інструментарію є наявність гнучкого інтерфейсу користувача, що дозволяє організувати дані і моделі. Бібліотека System Identification Toolbox підтримує параметричні та непараметричні методи. Інтерфейс системи полегшує попередню обробку даних, роботу з ітеративним процесом створення моделей для отримання оцінок та виділення найбільш значимих даних. Швидке виконання з мінімальними зусиллями таких операцій, як відкриття/збереження даних, виділення області можливих значень даних, видалення похибок, запобігання відходу даних від характерного для них рівня.

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

А щодо математичних обчислень, то MatLab надає доступ до величезної кількості підпрограм, що містяться в бібліотеці NAG Foundation Library компанії Numerical Algorithms Group Ltd (інструментарій має сотні функцій з різних галузей математики, і багато з цих програм були розроблені широко відомими у світі фахівцями). Це унікальна колекція реалізацій сучасних чисельних методів комп'ютерної математики, створених за останні три десятки років. Таким чином, MatLab увібрала і досвід, і правила, і методи математичних обчислень, накопичені за тисячі років розвитку математики. Одну додаткову до системи велику документацію цілком можна розглядати як фундаментальний багатотомний електронний довідник з математичного забезпечення.

З недоліків системи MatLab можна відзначити невисоку інтегрованість середовища (дуже багато вікон, з якими краще працювати на двох моніторах), не дуже виразну довідкову систему (а тим часом обсяг фірмової документації досягає майже 5 тис. сторінок, що робить її важко доступною для огляду) і специфічний редактор коду MatLab-програм. Сьогодні система MatLab широко використовується в техніці, науці та освіті, але все-таки вона більше підходить для аналізу даних та організації обчислень, ніж для суто математичних викладок.

Тому для проведення аналітичних перетворень у MatLab використовується ядро ​​символьних перетворень Maple, а Maple для чисельних розрахунків можна звертатися до MatLab. Адже недарма символьна математика Maple увійшла складовою до цілого ряду сучасних пакетів, а чисельний аналіз від MatLab та набори інструментів (Toolboxes) унікальні. Проте математичні пакети Maple та MatLab – це інтелектуальні лідери у своїх класах, це зразки, що визначають розвиток комп'ютерної математики.

Як простіші, але ідеологічно близькі альтернативи програмі MatLab можна відзначити такі пакети, як Octave (www.octave.org), KOctave (bubben.homelinux.net/~matti/koctave/) та Genius (www.jirka.org/genius .html).

Octave – це програма числових обчислень, добре сумісна з MatLab. Інтерфейс системи Octave, звичайно, бідніший, і вона не має таких унікальних бібліотек, як у MatLab, зате це дуже проста в освоєнні програма, невимоглива до системних ресурсів. Octave поширюється на умовах відкритої ліцензії з вихідним кодом (OpenSource) і може стати гарною підмогою для навчальних закладів.

Програма KOctave по суті є більш просунутим графічним інтерфейсом для системи Octave. Внаслідок використання KOctave система Octave стає повністю схожою на MatLab.

Проста математична програма Genius, звісно, ​​неспроможна посперечатися за потужністю з іменитими конкурентами, але ідеологія математичних перетворень в неї схожа з MatLab і Maple. Поширюється Genius також за умов відкритої ліцензії з вихідним кодом (OpenSource). Вона має власну мову GEL, розвинений інструментарій Genius Math Tool та хорошу систему підготовки документів для публікації (з використанням таких мов оформлення, як LaTeX, Troff (eqn) та MathML). Дуже хороший графічний інтерфейс програми Genius зробить роботу з нею простою та зручною.

MathCad (http://www.mathsoft.com/, http://www.mathcad.com/)

Мінімальні вимоги до системи:

  • процесор Pentium II або вище;
  • 128 Мбайт оперативної пам'яті (рекомендується 256 Мбайт чи більше);
  • 200-400 Мбайт дискового простору;
  • операційні системи: Windows 98/Me/NT 4.0/2000/XP.

На відміну від потужного та орієнтованого на високоефективні обчислення при аналізі даних пакета MatLab, програма MathCad (поточна версія 13) – це, швидше, простий, але сучасний редактор математичних текстів з широкими можливостями символьних обчислень і прекрасним інтерфейсом. MathCad немає мови програмування як, а двигун символьних обчислень запозичений з пакета Maple. Проте інтерфейс програми MathCad дуже простий, а можливості візуалізації багаті. Усі обчислення тут здійснюються на рівні візуального запису виразів у загальновживаній математичній формі. Пакет має хороші підказки, докладну документацію, функцію навчання використанню, цілу низку додаткових модулів та пристойну технічну підтримку виробника (як можна бачити за версією продукту, оновлення цієї програми відбувається частіше, ніж інших, згаданих у цьому огляді, хоча рік випуску першої версії у них приблизно той самий - 1996-1997 роки). Однак поки що математичні можливості MathCad в області комп'ютерної алгебри набагато поступаються системам Maple, Mathematica, MatLab і навіть малюку Derive. Однак за програмою MathCad випущено багато книг та навчальних курсів, у тому числі у нас у Росії. Сьогодні ця система стала буквально міжнародним стандартом для технічних обчислень і навіть багато школярів освоюють та використовують MathCad.

Для невеликого обсягу обчислень MathCad ідеальний - тут все можна зробити дуже швидко та ефективно, а потім оформити роботу у звичному вигляді (MathCad надає широкі можливості для оформлення результатів, аж до публікації в Інтернеті). Пакет має зручні можливості для імпорту/експорту даних. Наприклад, можна працювати з електронними таблицями Microsoft Excel прямо всередині документа MathCad.

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

Як дешевші, простіші, але ідеологічно близькі альтернативи програмі MathCad можна відзначити такі пакети, як вже згаданий YaCaS, комерційну систему MuPAD (http://www.mupad.de/) та безкоштовну програму KmPlot (http://edu.kde .org/kmplot/).

Програма KmPlot поширюється на умовах відкритої ліцензії з вихідним кодом (OpenSource). Вона дуже проста в освоєнні та підійде навіть школярам.

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

Висновок

Незважаючи на те, що в галузі комп'ютерної математики не спостерігається такого розмаїття, як, скажімо, в середовищі комп'ютерної графіки, за видимою обмеженістю ринку математичних програм ховаються їх безмежні можливості! Як правило, CAE-системи охоплюють практично всі галузі математики та інженерних розрахунків.

Колись системи символьної математики були спрямовані виключно на вузьке коло професіоналів і працювали на великих комп'ютерах (мейнфреймах). Але з появою ПК ці системи було перероблено під них і доведено рівня масових серійних програмних систем. Зараз на ринку співіснують системи символьної математики різного калібру - від розрахованої на широке коло споживачів системи MathCad до комп'ютерних монстрів Mathematica, MatLab та Maple, що мають тисячі вбудованих та бібліотечних функцій, широкі можливості графічної візуалізації обчислень та розвинені засоби для підготовки документації.

Відзначимо, що практично всі ці системи працюють не тільки на персональних комп'ютерах, оснащених популярними операційними системами Windows, а й під керуванням операційних систем Linux, UNIX, Mac OS, а також на КПК. Вони давно знайомі користувачам і поширені на всіх платформах - від наладонника до суперкомп'ютера.

Хотів порівняти результати моделювання простенької системи (типу "тіло на мотузку") трьома різними пакетами. Результати збіглися, але процес порівняння виявився дуже цікавим. Я спробував пояснити особливості використання кожного продукту, його сильні та слабкі сторони під час розрахунку динаміки механічних систем. Крім того, інформація російською мовою про використання MapleSim на момент написання статті практично була відсутня.

Особливості чисельного моделювання динаміки експериментальної тросової системи з використанням програмних засобів на основі мови Python

Наукові розрахунки С++

  • Малювання графіків у С++. Цікавила проста бібліотека для малювання двовимірних графіків. Під час пошуків завдання уточнилося, і ось, що виявилося...
  • Інтегрування звичайних диференціальних рівнянь у С++. Для цього потрібні бібліотеки інтеграторів (solvers) та векторно-матричних операцій.
  • Бібліотека лінійної алгебри C++. Налаштування Armadillo. Переваги: ​​1) швидка; 2) є все, що мені потрібно, наприклад, матриці-рядки та стовпці, а не просто вектори (рядки та стовпці успадковуються від матриць); 3) якість коду (я так не вмію :)).
  • Бібліотеки для роботи з розрідженими матрицями. Підбираємо бібліотеку для роботи з розрідженими матрицями. Необхідні вирішувачі СЛАУ і бажана кросплатформність. Складаю сюди знайдену інформацію.

Системи комп'ютерної математики

  • Популярна система комп'ютерної математики (СКМ) Maple.
  • Giac - вільна СКМ, що має режим сумісності з Maple.
  • Maxima – популярна вільна СКМ.

MATLAB

Лекції для студентів приклади програм. Проекти.

Вільний кросплатформовий пакет для наукових та інженерних розрахунків, близький до можливостей до MATLAB.

Пакети візуального моделювання

Simulink, Xcos та інші... Візуальне моделювання дозволяє створити комп'ютерну модель динамічної системи у вигляді структурної схеми, не вдаючись до програмування.

будує графіки та анімацію за допомогою команд. Виконує апроксимацію. Може використовуватися як бібліотека візуалізації та калькулятор (простіше MATLAB-a, але набагато потужніший за вбудований системний). Має повноцінну мову програмування. Малий, удалий, вільний і кросплатформенний:)

Комп'ютерне моделювання руху за допомогою фізичних двигунів

Корисна інформація щодо роботи фізичних двигунів. Моделі в Box2d та Bullet.

Збираємо в купу вирішувачі PDE і пакети кінцево-елементного аналізу, що використовують ці вирішувачі.

Спеціалізоване програмне забезпечення для проведення наукових досліджень, збору наукової (експериментальної) статистики та здійснення на основі зібраних даних спеціальних наукових розрахунків не так широко відоме. Одним із напрямів наукових досліджень, на якому найширше застосовується спеціалізоване наукове програмне забезпечення, є біоінформатика (Програма Avogadro), потім йдуть програми для загальних математичних, статистичних та фізичних розрахунків (найчастіше зустрічаються STATISTICA, MathCad, MathLab, MATHEMATICA). Третій за кількістю програм тип – програми для астрономічного моделювання та астрономічних розрахунків.

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

□ для взаємодії;

□ для передачі знань з певних предметів;

□ для комп'ютерного тестування та тренінгу.

Мультимедійні програми

До класу мультимедійного ПЗ відносяться програми, за допомогою яких можна створювати, редагувати, зберігати та відтворювати мультимедійні дані, тобто дані, що містять стаціонарні та рухомі зображення, звук. До мультимедійного програмного забезпечення відноситься цілий ряд дуже популярних програм: графічні редактори растрових форматів AdobePhotoshop і GIMP, векторні графічні редактори CorelDraw та CorelXara, програми для створення та редагування flash-анімації, програми для роботи зі звуком, та цілий ряд програвачів мультимедійних форматів, від програм перегляду малюнків до DVD-програвачів.

Бухгалтерські програми

Бухгалтерські програми представляють величезний клас додатків. Це можуть бути і автономні програмні продукти, і програмні модулі, що входять до інформаційної системи. Серед вітчизняних бухгалтерських програм найбільш відома програма 1С: Бухгалтерія, яка включає модулі для кадрового обліку (1С-кадри), складського обліку (1С-склад), планування фінансової діяльності промислових підприємств (1С-підприємство) і торгових фірм (1С-торгівля) ). Цей програмний продукт є комерційним.

Серед вільного програмного забезпечення теж є рішення для автоматизації бухгалтерського та економічного обліку підприємств (Ananas), яке при грамотному застосуванні може виявитися у багатьох випадках доцільнішим, ніж досить дорога система спеціального навчання, що вимагає спеціального навчання.

Програми для фінансових розрахунків та прогнозування

Основне призначення таких програм – виконання фінансових розрахунків. Подібні програми можуть виконувати такі функції:

□ розробка бізнес-плану підприємства;

□ проектування розвитку бізнесу;

□ аналіз фінансового стану підприємства на основі його фінансової звітності;

□ розрахунок фінансових показників;

□ розрахунок кредитоспроможності позичальника;

□ підготовка річного звіту підприємства;

□ порівняння фінансового стану підприємства з компаніями-конкурентами;

□ аналіз рентабельності, платоспроможності, ліквідності та фінансової стійкості;

□ аналіз запланованої інвестиційної діяльності.

Як приклад такого типу програмного забезпечення можна навести пакет програм фірми ExpertSystems: ProjectExpert, AuditExpert і PrimeExpert. Ці програми дозволяють виробляти всі згадані види фінансового аналізу та планування, оцінки ризиків та можливостей підприємства.

Програми для технічного проектування

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

Крім цих дуже недешевих програмних продуктів є ціла лінійка різноманітних спеціалізованих програм, як комерційних, так і вільних.

Програми для бізнесу

Програмне забезпечення для бізнесу включає найрізноманітніші типи програмних пакетів:

□ програмне забезпечення управління роботою промислового підприємства;

□ програмне забезпечення управління технологічним процесом;

□ спеціалізоване програмне забезпечення для галузей промисловості;

□ спеціалізоване програмне забезпечення за видами виробництв;

□ спеціалізовані інформаційні системи для видів бізнесу;

□ програмне забезпечення для малого бізнесу;

□ програмне забезпечення для мережевого бізнесу.

Для підприємств великого та середнього масштабу стали вже стандартом готові системи планування ресурсів (EnterpriseResourcePlanning – ERP). Найбільш відомими програмними пакетами такого класу є SAPR/3 від компанії SAPAG та Oraclee BusinessSuite від компанії Oracle. З російських програмних пакетів найбільшого поширення набув пакет Галактика ERP від ​​корпорації Галактика, і навіть 1С: Підприємство.

RP-системи набули широкого поширення за рахунок своєї модульної структури, яка дозволяє здійснювати гнучке конфігурування програмного продукту під потреби будь-якого підприємства. Наприклад, OracleeBusinessSuite включає в себе підсистеми управління:

□ ефективністю бізнесу;

□ матеріальними потоками;

□ взаємини з клієнтами;

□ фінансами;

□ техобслуговування та ремонт;

□ персоналом;

□ виробництвом;

□ проектами;

□ життєвим циклом;

□ логістикою.

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

Соціальні дзвінки розвитку програмного забезпечення. Несвобода людини

Все зростаюча свобода комп'ютера від програмного забезпечення, а іноді від дискових накопичувачів і від пристроїв зберігання інформації, багато в чому благо: все, що потрібно людині, це комп'ютерна мережа і можливість підключитися до неї. У мережі можна знаходити програми, можливо навіть операційну систему, в мережі лежать документи, відредагувавши або переславши їх, людина знову зберігає їх у мережевих сховищах. При цьому свобода людини від програмного забезпечення обмінюється на несвободу в іншому плані. Який рівень конфіденційності, захищеності, доступності документів?

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

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

Інтелектуальна деградація

Комп'ютери стають все «розумнішими» за рахунок все більш складного програмного забезпечення. При цьому інтерфейс програм стає все простіше та веселіше. Не треба думати, не потрібно напружуватися, найскладніші технології, доступні у вигляді барвистих значків і картинок, все зроблять за вас: порахують, оцінять, спрогнозують, підберуть чоловіка, призначать дієту. Відповідей в Інтернеті стало набагато більше, ніж питань у людей, і це не може не спричинити тривогу. Якщо людина не тренує м'язи, вона деградує фізично, якщо людина перестає напружувати свій розумовий апарат, вона деградує інтелектуально. Це дуже важливий виклик, гідно відповісти на який може лише сучасна, побудована з розрахунком на цей виклик система освіти, у тому числі система безперервної освіти протягом усього життя.

Запитання

1. Як можна класифікувати програмне забезпечення за рівнем його взаємодії з апаратною частиною комп'ютера?

2. Які класи програмного забезпечення за видом ліцензування ви знаєте?

3. У чому різниця між вільним, відкритим, комерційним та пропрієтарним програмним забезпеченням?

4. У чому різниця між переносним та міжплатформним програмним забезпеченням?

5. Класифікуйте програмне забезпечення за способом його взаємодії з комп'ютерною мережею.

6. Що таке небезпечне програмне забезпечення?

7. Що таке додаток, що переноситься?

8. Перерахуйте відомі вам класи прикладного програмного забезпечення.

9. Які основні функції текстового процесора?

10. Яким вимогам має відповідати сучасна електронна таблиця?

11. Яка основна та додаткова функціональність програми для створення та демонстрації презентацій?

12. Чи функціональні програми, що входять до складу пакетів MicrosoftOffice і OpenOffice.org?

13. Навіщо (з переліком функцій) призначене програмне забезпечення управління проектами?

14. Назвіть функціональність, важливу для сучасного текстового процесора.

15. Які функціональні відмінності Microsoft Word та OpenOffice.org Writer?

16. Перерахуйте основні функції табличного процесора.

17. У чому додаткова функціональність табличного процесора?

18. Що таке зведені таблиці, навіщо вони?

19. Яке призначення та типова функціональність органайзера?

20. Які системи електронного документообігу вам відомі?

21. Якою є базова функціональність системи електронного документообігу?

22. Створення презентації засобами PowerPoint.

23. Які програми для роботи з Інтернет-сервісами вам відомі?

24. Які функції виконує освітнє програмне забезпечення?

25. Як створювати документи та електронні таблиці у поширених «офісних» форматах, не встановлюючи на комп'ютер офісний пакет?

26. Які перспективи розвитку програмного забезпечення?

27. Які соціальні наслідки інтенсивної взаємодії людини та сучасного програмного забезпечення?

28. Соціальні виклики розвитку програмного забезпечення

1

У цій роботі описується програма розрахунку кінетичних характеристик гетерофазних реакцій, написана мовою програмування Visual Basic Community 2015. Обчислення констант швидкостей та енергій активацій здійснюється методами регресійного аналізу. Механізм реакції визначається за мінімумом похибок апроксимацій з ряду функцій (статечного та експоненційного законів, Праута – Томпкінса та Авраамі рівнянь). Механізм реакції визначає зону реакції: статечної – кінетичну, а три інші – дифузійну. Також на прикладі реакції фторування анортозитів гідродифторидом амонію проводиться статистична перевірка гіпотез про адекватність використовуваних регресійних моделей за Снедекором – Фішером та про значущість коефіцієнтів регресії за t-критерієм Стьюдента. Програма апробувалася на розрахунках гетерофазних реакцій, здійснюваних у ході технологічних процесів комплексної фторидної переробки алюмосилікатної та силікатної сировини Верхнього Приамур'я, а також низки регіонів РФ.

константа швидкості

енергія активації

зона реакції

механізм реакції

лінійна регресія

нелінійна регресія

процедура

1. Сорокін А.П., Римкевич В.С., Пушкін А.А., Єранська Т.Ю. Безвідходні геотехнології комплексної переробки алюмосилікатної та силікатної сировини Приамур'я // Гірський інформаційно-аналітичний бюлетень. – 2016. – № 11. – С. 215–223.

2. Стромберг А.Г., Семченко Д.П. Фізична хімія. - М.: Вища школа, 1999. - 528 с.

3. Пушкін А.А., Римкевич В.С. Встановлення зон гетерофазних реакцій// Міжнародний науково-дослідний журнал. - 2017. - № 03 (57). – Частина 3. – С. 35–38.

4. Балдін К.В., Башликов В.М., Рукосуєв А.В. Теорія ймовірностей та математична статистика. Підручник 2-ге видання. - М.: Видавничо-торгівельна корпорація "Дашков і К °", 2014. - 473 с.

6. Дукін А.Н., Пожидаєв А.А.. Самовчитель Visual Basic 2010. - СПб.: БХВ-Петербург, 2010. - 560 с.

7. Шевякова Д., Степанов А., Дукін А. Самовчитель Visual basic 2008. - СПб.: БХВ-Петербург, 2008. - 592 с.

8. Колемаєв В.А., Староверів С.В., Турундаєвський В.Б. Теорія ймовірностей та математична статистика. Навчальний посібник для економічних спеціальностей вишів. - М.: Вища школа, 1991. - 400 с.

Ця стаття присвячена комп'ютерній обробці експериментів з кінетики хімічних реакцій. У нашому інституті кінетика хімічних реакцій вивчається у процесі розробки технологічних процесів комплексної фторидної переробки для різних видів алюмосилікатної сировини Верхнього Приамур'я. Результатами експериментального дослідження з кінетики хімічної реакції є значення концентрацій деякої речовини С ik (t ik) в задані моменти часу t ik (i = 1, …, n k , де n k - кількість відліків часу при температурі T k , k = 1,2, …, l, де l – кількість температур). Кількість робочих температур l, допустима у програмі, від двох до чотирьох. Кількість відліків часу n k в загальному випадку для різних температур T k відрізняється і змінюється від 3 до 9.

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

Обчислення констант швидкостей у роботі ми проводимо, використовуючи чотири види фізико-хімічних процесів, що відповідають чотирьом законам зміни концентрацій: статечному (), Авраамі (), експоненційному () та Праута - Томпкінсу , де w i - швидкість реакції, C i - концентрація речовини, α i – ступінь перетворення речовини, k – константа швидкості. Ступеневий закон визначає зіткнення частинок, решта трьох - різні види дифузії. Відповідно до цього зона реакцій, що описуються статечним процесом кінетична, для решти трьох процесів - дифузійна.

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

Мета дослідження

Відправною точкою дослідження у цій роботі є дані з кінетики хімічних реакцій. Мета дослідження – визначити кінетичні характеристики реакції. Математична обробка результатів експериментів значно полегшується під час використання комп'ютерної розрахункової програми. З метою розробки комп'ютерної програми створювався алгоритм розрахунку із подальшою програмною реалізацією, спочатку засобами програми Microsoft Access 2007 із застосуванням vba. У цій роботі описується програма для обробки експериментальних даних з кінетики з розрахунком кінетичних параметрів: констант швидкостей, енергій активацій, зон та механізмів реакцій, написана мовою Visual Basic Community 2015.

Матеріали та методи дослідження

Методами дослідження у роботі є регресійний аналіз та комп'ютерний розрахунок. Для кожного зі згаданих вище процесів методом лінеаризації його рівняння будується рівняння регресії. Лінеаризація здійснюється у разі статечного, експоненційного законів та рівняння Праута – Томпкінса логарифмуванням, а у разі Авраамі – методом подвійного логарифмування. Отримані внаслідок рівняння регресії є нелінійними. Шляхом замін змінних ми здійснюємо перехід до двох лінійних моделей регресії: з кутовим коефіцієнтом та вільним членом у разі статечного закону та Авраамі та з одним кутовим коефіцієнтом у разі експоненційного закону та рівняння Праута – Томпкінса (див. табл. 1). Далі, за формулами методу найменших квадратів обчислюємо значення кутових коефіцієнтів та вільних членів. У разі статечного закону та рівняння Авраамі кутовий коефіцієнт дорівнює порядку реакції, а вільний член дорівнює логарифмам константи швидкості. У разі експоненційного закону та рівняння Праута - Томпкінса кутові коефіцієнти є константами швидкостей.

Таблиця 1

Моделі нелінійних регресій, заміни змінних для переходу до лінійних моделей та їх рівняння для процесів, що використовуються в програмі

Найменування закону

Математичне формулювання закону

Нелінійна регресія

Заміна змінних

Лінійна регресія

Лінійний

Ступіньною

Експонентний

Праута - Томпкінса

Арреніуса

Енергії активацій у програмі розраховуються за рівнянням Арреніуса для констант швидкостей. Після перетворення, логарифмування та заміни змінних виходить рівняння з одним кутовим коефіцієнтом, що розраховується методом найменших квадратів. Кутовий коефіцієнт дорівнює енергії активації, поділеної на універсальну постійну газову R (останній рядок в табл. 1).

У програмі розраховуються похибки апроксимацій за формулою

(*)

де cik(tik) - експериментальні значення концентрацій у моменти часу tik, - розрахункове значення, отримане за досліджуваним законом у точках tik при температурі Tk, а nk, як і раніше, кількість часових відліків при даній температурі.

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

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

Результати дослідження та їх обговорення

Програма Кінетика для розрахунку кінетичних характеристик гетерофазних реакцій написана мовою Visual Basic в інтегрованому середовищі розробки Visual Studio Community 2015.

Програма має десять вкладок: Вхід, Кінетика, Зона реакції, Графіки, Статистика (Х = 0, …, 5).

Вкладка Вхід призначена для розміщення елементів управління, що здійснюють введення даних: масиви концентрацій КонцX(i) та часів ЧасХ(i), рядок температур TемперХ (X = 1,…,4; i = 1, 2, …, n), число точок відліків часу nk, кількість рядів даних l, максимальні часи та концентрації для кожної з температур Tk.

Рівень значущості (встановлюється вибором однієї з восьми значень у списку ComboBox-поле ) служить вибору коефіцієнтів Стьюдента і Снедекора - Фішера з таблиць Excel Стьюдент і Фішер, підключених до програми.

Після вибору рівня значення натисканням кнопки Обчислити на вкладці Вхід запускається процедура обчислення всіх передбачених характеристик. Насамперед створюються двовимірні масиви концентрацій і часу Time(i, j) і Сonc(i, j), одновимірні масиви температур Temperature(k) і зворотних температур ReTemp(k) = 1/(Temperature(k) + 273), k = 1, ..., l.

Далі здійснюється перехід до відносних величин концентрації та часу Time_norm(i, j) та Сonc_norm(i, j), розподілом на максимальні значення. Потім вводяться узагальнені координати, що представляють тривимірні масиви abscissa(4, 9, 4) та ordinate(4, 9, 4), в яких перший індекс означає порядковий номер закону зміни концентрацій від 0 до 4, другий - порядковий номер відліку часу від 3 до 9, третій - порядковий номер температурного ряду від 1 до 4. Наведемо фрагмент програми, в якому здійснюється введення узагальнених змінних:

If j = 0 Then ordinate (j, i, k) = Conc_norm (i, k): abscissa (j, i, k) = Time_norm (i, k)

If j = 1 Then ordinate (j, i, k) = Math.Log (Rate (i, k)): abscissa (j, i, k) = Math.Log (Conc_norm(i, k))

If j = 2 Then ordinate (j, i, k) = Math.Log (-Math.Log (1 - Conc_norm (i, k))): abscissa(j, i, k) = Math.Log(Time_norm(i , k))

If j = 3 Then ordinate (j, i, k) = Math.Log (1 - Conc_norm (i, k)): abscissa (j, i, k) = Time_norm (i, k)

If j = 4 Then ordinate (j, i, k) = Math.Log (Conc_norm (i, k) / (1 - Conc_norm (i, k))): abscissa (j, i, k) = Time_norm (i, k).

Після цього відбувається обчислення сум для методу найменших квадратів:

Sx(j, k) = Sx(j, k) + abscissa (j, i, k)

Sy (j, k) = Sy (j, k) + ordinate (j, i, k)

Sxy (j, k) = Sxy (j, k) + abscissa (j, i, k) * ordinate (j, i, k)

Sx2 (j, k) = Sx2 (j, k) + Math.Pow (abscissa (j, i, k), 2),

де Sx (j, k), Sy (j, k), Sxy (j, k) та Sx2 (j, k) - суми абсцис, ординат, творів абсцис на ординати та квадратів абсцис відповідно.

Далі у програмі розраховуються вільні члени та кутові коефіцієнти регресій для кожної моделі регресії (кожного із законів зміни концентрації) та за кожної температури. Константи швидкостей ConRat(j,k) для лінійної моделі (j = 0) рівні вільному члену, для статечного закону (j = 1) та рівняння Авраамі (j = 2) обчислюються взяттям експоненти від вільного члена, а порядки реакцій m(j, k) для цих двох законів дорівнюють кутовим коефіцієнтам (рядки друга і третя зверху табл. 1). Константи швидкостей для експоненційного закону (j = 3) та рівняння Праута - Томпкінса (j = 4) дорівнюють кутовим коефіцієнтам відповідних рівнянь регресій (у табл. 1 зверху рядки 4 та 5).

Похибки розрахунку констант швидкостей pK(j,k) і порядків реакції pM(j,k) обчислюються за формулами розрахунку коефіцієнтів регресії , а похибка апроксимації Prec(j, k) розраховується за формулою (*). Похибки розрахунку констант швидкостей pK(j,k) і апроксимацій Prec(j, k) обчислюються кожної моделі і за кожної температурі. Похибки порядків реакцій pM(j,k) обчислюються моделей з j = 1, 2.

Обчислення енергій активацій провадиться за формулою, наведеною в останньому стовпці шостого зверху рядка табл. 1. У цій моделі регресії змінними є зворотні температури ReTemp(k) та логарифм константи швидкості ConRat(j, k). З цієї формули випливає, що енергія активації дорівнює кутовому коефіцієнту даної моделі, помноженому на універсальну постійну газову. Для кожної моделі обчислюється значення енергії активації. Обчислюється також кожної моделі і похибка енергії активації pE(j).

Розрахунок констант швидкостей, похибок констант швидкостей, похибок апроксимацій, а також порядків реакції та їх похибок наводиться на вкладці Кінетика.

На вкладці Зона реакції (див. рис. 1) розташовуються результати автоматизованого відбору: дані про ті зони та механізми реакції, які (за результатами розрахунку та відбору) мали місце при кожній температурі. Сюди входять також значення констант швидкостей, похибок їх обчислень та похибок апроксимацій та енергій активацій.

Натисканням кнопки Виведення на вкладці Зона реакції відбувається виведення даних у таблицю Microsoft Word. Виведення даних здійснюється за допомогою окремої процедури, яка здійснює автоматичне форматування тексту та таблиці. У програмі передбачено виведення та заповнення таблиці для різної кількості рядів даних (від двох до чотирьох).

На рис. 1 як приклад показані результати розрахунку реакції фторування анортозитів гідродифторидом амонію. З цього малюнка видно, що ця твердофазна реакція при всіх температурах протікає в дифузійній зоні, при нижній і середніх температурах за рівнянням Авраамі, а при верхній температурі за експоненційним законом. Енергія активації для Авраамі дорівнює у разі 19,1 кДж/моль, а експоненційного закону дорівнює 19,7 кДж/моль. Незважаючи на різні механізми реакції, енергії активації близькі та константи швидкості монотонно зростають від 0,004483 хв-1 до 0,017836 хв-1. Очевидно, це пов'язано з тим, що порядки реакції для Авраамі виявилися близькими до 1 і набули значення 0,86; 0,91; 0,96; 1,09 (див. рис. 2). З порівняння рівняння Авраамі з експоненційним законом очевидно, що з порядку, що дорівнює 1, рівняння Авраамі перетворюється на експоненційний закон.

Мал. 1. Вкладка Кінетика програми Кінетика з результатами розрахунку з прикладу реакції фторування анортозитів гідродифторидом амонію

Мал. 2. Вкладка Кінетика програми Кінетика з результатами розрахунку з прикладу реакції фторування анортозитів гідродифторидом амонію

Таблиця 2

Статистична перевірка гіпотез про адекватність моделей регресії та про значимість коефіцієнтів регресій за Снедекором - Фішером і Стьюдентом відповідно

У програмі здійснюється статистична перевірка гіпотез про адекватність регресійної моделі з використанням критерію Снедекору - Фішера та про значущість коефіцієнтів регресії за t-критерієм Стьюдента (див. табл. 2).

Статистична перевірка показала адекватність моделей з j = 2, 3, 4 за всіх температур. Моделі з j = 0 та 1 неадекватні при нижній температурі. Перевірка значимості коефіцієнтів регресії показала значимість кутових коефіцієнтів регресій для моделей з j = 0, 2, 3, 4 за всіх температур, з j = 1 за нижньої температури. Вільні члени значущі лише для статечного закону при верхній температурі.

Повернемося до мал. 1. Відібрані по мінімуму похибок апроксимацій механізми, Авраамі та експоненційний, піддамо статистичному аналізу. Зауважимо, що константи швидкостей для Авраамі обчислюються взяттям експоненти від вільного члена, який згідно з t-критерієм Стьюдента є статистично незначним за всіх температур. Очевидно, слід вважати, що механізмом реакції є експоненційний закон, зокрема за нижніх і середніх температурах. Енергія активації, отже, дорівнюватиме 19,7 кДж/моль при всіх температурах, а константи швидкостей матимуть значення 0,003942; 0,005346; 0,007637; 0,017836 (див. рис. 2).

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

Бібліографічне посилання

Пушкін А.А., Римкевич В.С. ПРОГРАМА ДЛЯ РОЗРАХУНКУ КІНЕТИКИ ГЕТЕРОФАЗНИХ РЕАКЦІЙ НА МОВІ VISUAL BASIC COMMUNITY 2015 // Фундаментальні дослідження. - 2017. - № 10-3. - С. 518-523;
URL: http://fundamental-research.ru/ru/article/view?id=41868 (дата звернення: 23.06.2019). Пропонуємо до вашої уваги журнали, що видаються у видавництві «Академія Природознавства»

З розвитком комп'ютерної техніки дедалі частіше почали з'являтися автоматизовані програми обчислень і розрахунків. Багато хто з них представлений, наприклад, у нас на сайті абсолютно безкоштовно. Завантажити їх нескладно. Існують і платні програми, але на нашому сайті ви знайдете лише перевірені безкоштовні програми для обчислень та розрахунків.

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

Отже, до найпростіших програм відносяться всілякі калькулятори та програми для вирішення алгебраїчних та тригонометричних рівнянь, матриць, векторних систем, комплексних чисел, обчислення значень функцій, інтегралів, логарифмів тощо. У більшості випадків, такі програми для обчислень та розрахунків не лише видають кінцевий результат, а й показують наочний перебіг рішення. З іншого боку, вони можуть будувати графіки функціональних залежностей чи, скажімо, визначати екстремуми функцій. Такі графіки можуть бути представлені у двовимірному або тривимірному виконанні. Здається, функціонально вони передусім розраховані на школярів та студентів. В Інтернеті їх представлено чимало. Залишається тільки знайти потрібний програмний продукт і завантажити його. Знову ж таки, багато програм розповсюджуються абсолютно безкоштовно і не мають обмежень щодо термінів використання. Можете скористатися пошуком у нас на сайті.

Складніша справа, якщо розглядати програми для обчислень та розрахунків, які є найскладнішими автоматизованими системами. Тут можна проводити найрізноманітніші обчислення. Наприклад, це можуть бути тензорні рівняння. Однак лише математичними функціями такі системи не обмежені. Можна використовувати їх у різних областях, скажімо, для хімічних рівнянь, обчислень опору матеріалів чи побудови різних моделей поведінки речовини у сфері фізики. Це ми вже не говоримо про більш складні системи в галузі астрономії, які використовують аерокосмічні агенції та обсерваторії. Безкоштовно скачати такі програми просто не вийде, бо практично всі розробки в цій галузі є таємними.

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

Сподобалася стаття? Поділіться з друзями!