Основи програмування
Дана глава присвячена ілюстрації можливостей однієї з найефективніших
систем комп’ютерного програмного забезпечення – пакета універсальних
інтегрованих програм МАТLAB. Допитливому читачеві пропонується
ознайомитися в першому наближенні з основами мови програмування й
комплексної візуалізації результатів розв’язання ряду наукових і
інженерних задач. Розглядаються такі проблеми як табулювання функцій,
розв’язання нелінійних рівнянь, пошук оптимальних розв’язків,
розв’язання задач Коші, чисельне інтегрування й інші задачі, що
включаються традиційно в курс чисельних методів. Алгоритм цих задач
добре відомий і розроблювачі системи МАТLAB (фірма Math Works, Inc.,
U.S.A) врахували досвід чисельного розв’язку й програмування задач
обчислювальної математики за увесь час існування обчислювальної техніки.
Тому в системі МАТLAB по кожній проблемі є кілька програм (іноді їх
більше 10), призначених для її розв’язання залежно від особливостей
даної задачі.
Крім чисто наукових задач, засобами МАТLAB можуть бути успішно вирішені
й досить складні інженерні проблеми, такі як пошук спектра частот
власних коливань і критичних сил втрати стійкості стержневих,
пластинчастих і оболонкових систем, розв’язання крайових задач для
пружних систем і задач сейсмостійкості споруджень і ін.
Чисельні результати таких задач повинні супроводжуватися відповідними
графіками, тобто візуалізацією розрахунків. МАТLAB вирішує й цю
проблему, що дуже привабливо для навчального процесу, де студенти
витрачають досить багато часу на графічну частину курсових і дипломних
проектів. Крім МАТLAB існують і інші, досить потужні середовища
програмування й візуалізації, такі як Visual Digital Fortran, Delphi,
Visual C+ + і т.п. Однак, на думку авторів, у системі МАТLAB виходять
найбільш прості й у той же час ефективні програми. Читачеві пропонується
самому переконатися в цьому, зрівнявши наведені в даному курсі програми
із програмами інших середовищ. Імовірно, не можна створити в інших
середовищах програмування програми більше прості, ніж у системі МАТLAB.
В якості інженерних задач в главі розглядаються задачі будівельної
механіки – науки про розрахунки споруджень на статичне, динамічне
навантаження й стійкість. Для розв’язання задач будівельної механіки
розроблено безліч методів – методи сил і переміщень, метод кінцевих
елементів, метод кінцевих різниць, метод R-функцій, метод граничних
елементів і ін.
Тут для ілюстрації можливостей МАТLAB обраний один з найбільш ефективних
методів – метод граничних елементів (МГЕ), що дозволяє істотно спростити
алгоритм розв’язуваних задач. Об’єднання можливостей МАТLAB і МГЕ
дозволить на якісно більш високому рівні представити розв’язки
інженерних задач, що істотно підвищує їх науковий і практичний зміст. В
зв’язку з цим матеріал даної глави опирається на ідеї й теорію
попередніх глав курсу.
Слово „МАТLAB” складається з початкових букв двох слів MATrix LABoratory
– матрична лабораторія. Це дійсно матрична лабораторія, де початковою
цеглинкою є не проста змінна або константа, а матриця і її окремі
випадки – вектор-рядок, вектор-стовпець.
Ae ? x
„
?????????q?е процес введення вихідних матриць і виклик чисельних
процедур, тобто реалізуються в повному обсязі ідеї структурного й
модульного програмування, що значно зменшує кількість помилок. Подальша
графічна візуалізація результатів розрахунків логічно завершує
постановку задач і їхнє розв’язання.
Основи мови програмування й візуалізації результатів розрахунків
Тут наведені в короткому викладі основні правила й оператори мови
програмування МАТLAB.
Алфавіт мови програмування
У МАТLAB, як і в інших системах, використовуються всі букви латинського
алфавіту від A до Z і арабські цифри від 0 до 9. Як і в C++, більші й
малі букви це різні змінні й константи. Крім букв латинського алфавіту
використовуються всі спеціальні символи клавіатури комп’ютера.
Арифметичні й логічні оператори
Число арифметичних операторів у МАТLAB значно розширено й містить у собі
матричні й арифметичні операції. У табл. 5.1 приводиться список
арифметичних операторів
Таблиця 5.1
У математичних виразах оператори мають певний пріоритет виконання.
Пріоритет логічних операторів вищий, ніж арифметичних, пріоритет
зведення в степінь вищий пріоритетів множення й ділення, пріоритет
множення й ділення вищий додавання й віднімання. Для підвищення
пріоритету операцій потрібно використовувати круглі дужки. Ступінь
вкладення дужок не обмежується.
Оператори відношення служать для порівняння двох величин, векторів або
матриць. Всі оператори відношення мають дві порівнювані величини й
записуються, як показано в табл. 5.2
Таблиця 5.2
Дані оператори виконують поелементне порівняння векторів або матриць
однакового розміру й логічний вираз приймає значення 1 (True), якщо
елементи ідентичні, і значення 0 (False) у противному випадку.
Логічні оператори служать для реалізації поелементних логічних операцій
над елементами однакових по розміру масивів згідно табл. 5.3.
Таблиця 5.3
Функція Оператор (синтаксис)
Логічне І &; and (and (a,b))
Логічне АБО |; or (or (a,b))
Логічне НЕ ~; not (not (a,b))
Що виключає АБО xor (xor (a,b))
Вірно, якщо всі елементи вектора дорівнюють нулю any (any(a))
Вірно, якщо всі елементи вектора не дорівнюють нулю all (all(a))
Елементарні функції
Набір елементних функцій представимо їхнім описом. У тригонометричних
функціях кути виміряються в радіанах.
Таблиця 5.4
– тангенс гіперболічний tanh(x)
Варто пам’ятати, що всі елементарні функції повинні записуватися в
програмах малими буквами. Існують також спеціальні математичні функції,
на яких ми не будемо зупинятися. Їхній опис див. в [105-108].
Нашли опечатку? Выделите и нажмите CTRL+Enter