Матриці, вектори та числа як основні поняття вхідної мови системи MatLab
Систему MatLab початково було розроблено для роботи з великими структурами даних, матрицями та векторами. Хоча на сьогодні це потужний інструмент для проведення різноманітних числових та аналітичних розрахунків, система залишається орієнтованою на роботу з матрицями та векторами, а її вхідна мова направлена саме на оброблення упорядкованих числових структур. Тому з приводу базових визначень та понять вхідної мови системи у розробників та фахівців не існує єдиної думки. Є спеціалісти, які вважають, що простіше зрозуміти вхідну мову MatLab, якщо взяти за базове поняття матриці і на його основі сформувати поняття вектора як матриці розміром (1, n) та поняття числа як матриці розміром (1, 1). Також суттєво відрізняють поняття розміру та розмірності матриці. Зрозуміло, що така теоретична структура дещо суперечить сучасним математичним правилам, де базовим є поняття числа, але вона дійсно відповідає парадигмі мови системи MatLab. Інші фахівці роблять традиційно: вводять базове поняття числа, на його основі формують поняття вектора та матриці як упорядкованих сукупностей чисел, і вже надалі формулюють головні правила мови системи MatLab, які більше орієнтовані на роботу з матрицями та векторами, ніж зокремими числами. Такий підхід має свої переваги, оскільки постановка на комп’ютері практичних задач математичного моделювання потребує саме проведення операцій з великими структурами даних. У галузі електроніки до таких задач належать побудова математичних моделей фізичних явищ у реальних приладах (навіть у межах простих одновимірних моделей) та аналіз електронних схем та систем. Конкретні приклади таких задач та їх розв’язання з використанням засобів MatLab. Проте у більшості математичних САПР, і навіть у мовах програмування (FORTRAN, Паскаль, С, С++) не існує стандартних функцій оброблення числових масивів, зокрема пошуку мінімальних та максимальних елементів, їх сортування у порядку збільшення або зменшення, не кажучи про елементарні математичні операції з елементами двох матриць одного розміру: наприклад, множення або ділення відповідних елементів однієї матриці на елементи другої. Зазвичай у мовах програмування для виконання таких нескладних операцій з масивами даних застосовують невеликі фрагменти програм, основою яких є циклічні структури. Організувати стандартні процедури для виконання таких операцій зі структурами даних невизначеного розміру досить непросто. Розвинений у сучасних мовах програмування високого рівня апарат динамічних змінних тільки оптимізує розташування надмірних структур даних у пам’яті, але не спрощує, а у деяких випадках навіть ускладнює оброблення даних. Як результат — структурні програми, написані сучасними мовами програмування високого рівня, зазвичай перевантажені великою кількістю циклів, призначених для оброблення числових структур, що значно ускладнює написання та розуміння таких програм. Складність роботи із структурами даних у мовах програмування високого рівня призводить до алгоритмічних помилок, виявлення яких, на відміну від синтаксичних та логічних, є досить кропіткою працею та значно ускладнює роботу програмістів. Зазвичай виправлення таких помилок займає більше, ніж 90% часу створення програмного забезпечення. Через відсутність стандартних функцій та процедур оброблення числових даних у відомих мовах програмування майже вся навчальна література орієнтована на вивчення оброблення упорядкованих та ієрархічних структур даних. Навіть кількість посібників та підручників з алгоритмів чисельних методів, реалізованих мовами програмування високого рівня, вкрай обмежена. Орієнтація вхідної мови MatLab на виконання матричних операцій математичних функцій для роботи з ними дає змогу уникати використання циклічних структур, створювати досить короткі та надійні програми, призначені для розв’язання конкретних задач при наявності відповідного математичного апарату. Приклади використання MatLab для моделювання електронних приладів.
Дата добавления: 2016-05-11; просмотров: 545;