Контакти

Основні елементи мови програмування Matlab. На допомогу математикам: огляд MATLAB Що робить програма matlab

Зараз можливості системи значно перевершують можливості первісної версії матричної лабораторії Matrix Laboratory. Нинішній MATLAB, дітище фірми The MathWorks, Inc., - це високоефективний мову інженерних і наукових обчислень. Він підтримує математичні обчислення, візуалізацію наукової графіки та програмування з використанням легко освоюється операційного оточення. Найбільш відомі області застосування системи MATLAB:

Математика і обчислення;

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

Обчислювальний експеримент, імітаційне моделювання, макетування;

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

Наукова та інженерна графіка;

Розробка додатків, включаючи графічний інтерфейс користувача.

MATLAB - це інтерактивна система, основним об'єктом якої є масив, для якого не потрібно вказувати розмірність явно. Це дозволяє вирішувати багато обчислювальні завдання, пов'язані з векторно-матричними формулюваннями.

Версія MATLAB 6.1 - це передостаннє досягнення розробників (останнє - MATLAB 6.5).

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

Операційне середовище системи MATLAB 6.1.Операційне середовище системи MATLAB 6.1 - це безліч інтерфейсів, які підтримують зв'язок цієї системи з зовнішнім світом через діалог з користувачем через командний рядок, редактор М-файлів, взаємодія з зовнішніми системами Microsoft Word, Excel і ін.

Після запуску програми MATLAB на дисплеї комп'ютера з'являється її головне вікно, що містить меню, інструментальну лінійку з кнопками і клієнтську частину вікна зі знаком запрошення. Це вікно прийнято називати командним вікном системи MATLAB (рис. 1).

Меню файл (Рис. 2) об'єднує звичайні функції: Виправлення відповідає за зміну змісту вікна команд (скасування, повтор, вирізати, копіювати, вставити, вибрати все, видалити і ін.) і за очистку деяких вікон MATLAB; меню вид - за оформлення Робочого столу; меню Web - запускає Web-сторінки з Internet; меню вікно - працює з редактором / отладчиком М-файлів (закриває всі М-файли, робить поточним один з них); меню Допомога - працює з довідковою документацією і демонстраціями.


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

інструментальна панель командного вікна системи MATLAB дозволяє забезпечити простий доступ до операцій над М-файлами: створення нового М-файлу; відкриття існуючого М-файлу; видалення фрагмента; копіювання фрагмента; вставка фрагмента; відновлення тільки виконаної операції і ін.

В клієнтської частини командного вікна MATLAB після знака запрошення можна вводити різні числа, імена змінних і знаки операцій, що в сукупності становить деякі вирази. Натискання клавіші Enter змушує систему MATLAB обчислити вираз або, якщо воно не обчислюється, повторити його. Хоча знак «;» в кінці рядка гасить висновок результату (луна-висновок).

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

Отже, були піддані розбору структурні частини командного вікна MATLAB. Але крім них існують ще кілька елементів MATLAB, які допомагають при роботі:

команди - вікно, що містить по порядку введені раніше команди в Вікні команд ( «історія команд»).

Робоча область - це область пам'яті MATLAB, в якій розміщені змінні системи. Вміст цієї області можна переглянути з командного рядка за допомогою команд who (Виводить тільки імена змінних) і whos (Виводить інформацію про розміри масивів і типі змінної) або в окремому вікні під тією ж назвою. У ньому можна виконати наступні операції: завантажити файл даних, зберегти робоче середовище як (команди дозволяють відкрити і зберегти вміст робочої області в довічним MAT-файлі), видалити вибрані змінні; відкрити обрані змінні (де можна змінити їх значення). Крім цього в меню Правка можна очистити як Вікно команд і Історію команд, так і Робочу область (або виконати команду в Вікні команд: clear).

Для збереження і запуску Робочої області можна використовувати команди load і save.

Приклад.

Saving to: matlab.mat

\u003e\u003e save my.mat

\u003e\u003e load my.mat

\u003e\u003e save my2

\u003e\u003e load my2

Поточний каталог - вікно, що є своєрідним «провідником» по каталогам MATLAB.

запустити Редактор- вікно, що відображає дерево структурних елементів MATLAB і інших встановлених разом з ним програмних засобів, які можна запускати подвійним лівим клацанням миші. Наприклад, це вікно може виглядати, як показано на рис 9.

Редактор / відладчик М-файлів - один з найважливіших структурних частин MATLAB, який може бути відкритий вибором відповідної опції в головному меню, на панелі інструментів або викликаний з командного рядка командою edit або edit<имя М-файла> і дозволяє створювати і редагувати М-файли.

Редактор / відладчик підтримує наступні операції: створення нового М-файлу; відкриття існуючого М-файлу; збереження М-файлу на диску; видалення фрагмента; копіювання фрагмента; вставка фрагмента; допомога; встановити / видалити контрольну точку; продовжити виконання і ін.

GUIDE - графічний інтерфейс користувача, в якому відбувається створення закінчених додатків.

Інтерактивний сеанс роботи. М-файли. Інтерактивний режим - це призначений для користувача режим введення з клавіатури команд і виразів, в результаті виконання яких виходять необхідні числові результати, які можна легко і швидко візуалізувати вбудованими графічними засобами пакета MATLAB. Але використання цього режиму для створення і збереження конкретної програми неможливо. Тому творці MATLAB крім Вікна команд, в якому реалізований інтерактивний режим, виділили спеціальні файли, що містять коди мови MATLAB, і назвали M-файлами (* .m). Для створення M-файлу використовується текстовий редактор (редактор / відладчик М-файлів).

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

Розкрийте меню File основного вікна MatLab і в пункті New виберіть підпункт M-file. Новий файл відкривається у вікні редактора M-файлів (рис. 10). Запишемо в файл програму обчислення середнього арифметичного пере-

сних a і b, потім збережемо з ім'ям fun1.m. Порівняйте способи вирішення завдання, представлені в таблиці.

Розміщено на http://www.allbest.ru/

Вступ

Назва пакета Matlab є скороченням від англійського Matrix Laboratory(що означає матрична лабораторія). Цим же терміном (Тобто Matlab) називають і мова програмування, що використовується для складання програмних кодів. Як відомо, програмний код може компілюватиметьсяабо інтерпретуватися. У першому випадку отримуємо виконавчий (машинний) код, який виконується центральним процесором. При інтерпретації відбувається перетворення в проміжний код, який виконується безпосередньо системою-інтерпретатором. Скомпільований код зазвичай виконується швидше, ніж інтерпретована код. Разом з тим інтерпретовані мови програмування, як правило, більш демократичні в плані синтаксису. Програмний код Matlab інтерпретується. Однак це ніяк не ставить під сумнів обчислювальні можливості Matlab. Основою для реалізації різних типів даних в Matlab є матриці, Що пояснює багато особливості середовища (і мови програмування) Matlab. До матрицями ми будемо досить часто апелювати по ходу викладу матеріалу книги.

Значна частина функціональних можливостей програми Matlab реалізована через пакети інструментів(Англійський термін toolbox). Це колекції функцій та інших утиліт, призначених для вирішення вузько спеціальних завдань. Більшість пакетів мають вузьку, специфічну спрямованість. Додаток Matlab призначене (в першу чергу) для виконання числових розрахунків і візуалізації отриманих результатів. Пакет містить величезну кількість утиліт для виконання самих різних операцій і дозволяє створювати власні повнофункціональні програмні коди. Разом з тим в Matlab можуть виконуватися і символьні розрахунки. Цій меті служить вбудована в Matlab середу MuPAD. Таким чином, користувачеві Matlab надаються широкі можливості не тільки в області числових, але і символьних розрахунків.

1. прості обчислення

Під простими, або покроковими, мають на увазі обчислення, звичайно що виконуються в командному вікні Matlab. Відповідна інструкція або команда вводиться в командному вікні і потім виконується. На малюнку 1 показано, як може виглядати робоче вікно програми Matlab при запуску. Інтерес в даному випадку представляє внутрішнє вікно (зазвичай в центрі робочого вікна програми) з назвою Command Window- командне вікно. В цьому вікні можна помітити індикатор рядка введення (у вигляді подвійної стрілки >> ). Для введення команди курсор необхідно перемістити після індикатора рядка введення і ввести інструкцію для виконання. Іншими словами, в рядок введення командного вікна необхідно ввести вираз і, натиснувши клавішу «Enter», запустити процес обчислення цього виразу. Результат обчислень відображається внизу, під виконуваної командою. За замовчуванням результат заноситься в системну змінну «ans».

Малюнок 1

На малюнку 2 наведено приклад обчислення декількох арифметичних виразів. В даному випадку наведені результати обчислення виразів 1 + 2 * 3 і (5 ^ 2-4) / 7 відповідно. У першому випадку, як і очікувалося, отримуємо в якості результату значення 7, в другому - значення 3.

малюнок 2

В якості основних арифметичних операторів в Matlab використовуються: оператор «+» для обчислення суми, оператор «-» для обчислення різниці, оператор «*» для обчислення добутку, оператор «/» для обчислення приватного і оператор «^» для зведення в ступінь.

У загальному сенсі змінна- це область пам'яті, до якої можна звертатися по імені для отримання значення, записаного в цій області, а також його зміни. У строго типізованих мовах програмування (таких, як С ++, Java або Pascal) для використання змінної необхідно попередньо її оголосити, вказавши при цьому, до якого типу вона відноситься. У Matlab нічого подібного робити не потрібно. Змінної відразу можна привласнювати значення. В якості оператора присвоєння використовується знак рівності «\u003d». Ім'я змінної, якій присвоюється значення, вказується зліва від оператора привласнення, а привласнюється змінної значення праворуч від оператора присвоювання. Значення, що привласнюється змінної, якщо мова йде про скалярних величинах, може бути числом або виразом, що містить інші змінні. При цьому необхідно, щоб цим змінним раніше вже було присвоєно значення. Приклад використання скалярних змінних в покрокових обчисленнях наведено в робочому документі на малюнку 3.

малюнок 3

Першою командою x \u003d 0.5 * sin (0.1) присвоюється значення змінної «x». При цьому використана вбудована функція Matlab «sin ()» для обчислення синуса. Присвоєне в результаті цієї змінної значення відображається внизу під рядком введення в форматі:

« змінна =

значення »

Аналогічно за допомогою такої команди y \u003d 0.3 * cos (0.2) значення присвоюється змінної «y». Тут «cos ()» - вбудована функція Matlab для обчислення косинуса. Звертаємо також увагу читача, що в якості десяткового роздільника при введенні дійсних чисел з дробової десяткової частиною використовується точка.

Нарешті, командою z \u003d (x ^ 2 + y ^ 2) ^ (1/3) значення присвоюється змінної «z». У вираз, що визначає значення змінної «z», входять змінні «x» і «y». Однак оскільки попередньо цим змінним були привласнені значення, помилки не виникає і значення змінної «z» присвоюється коректно.

Є дві базові операції, які досить корисні, особливо при більшому обсязі обчислень. По-перше, в деяких випадках потрібно дізнатися, які змінні робочого простору вже використовуються, і, по-друге, іноді доводиться, образно висловлюючись, "видаляти змінні з ігрового поля" - тобто звільняти пам'ять, виділену під ці змінні. Перша операція виконується за допомогою інструкції «whos». Якщо ввести в командний рядок цю інструкцію і натиснути клавішу «Enter», буде виведений список доступних в робочому просторі змінних з описом їх деяких атрибутів.

малюнок 4

В даному випадку список складається з чотирьох змінних: трьох оголошених змінних користувача «x», «y» і «z», і системної змінної «ans». Очищення простору змінних здійснюється за допомогою інструкції «clear», після якої, через пробіл, вказуються імена видаляються змінних. На малюнку 5 представлений результат виконання команди «clear x y», після якої виконана команда «whos» для перевірки списку змінних робочого простору.

малюнок 5

Оскільки командою «clear x y» змінні «x» і «y» з робочого простору видалені, в списку змінних залишилися тільки змінна «z» і системна змінна «ans». Хоча значення змінної «z» присвоюється на основі значень змінних «x» і «y», їх видалення з робочого простору (або зміна їх значення) призначення змінної «z» ніяк не впливає. Для видалення з робочого простору всіхзмінних використовують інструкцію «clear» без вказівки змінних.

У попередніх прикладах використовувалися скалярні величини. З точки зору основної ідеології і технічної реалізації, скаляри в Matlab є скоріше екзотикою, ніж звичайним явищем. Справа в тому, що в Matlab базовим типом даних є матриці (або масиви). В цьому відношенні скаляр "з точки зору Matlab" (якщо можна так висловитися) є матрицею розміру 1х Як відомо, масиви можна індексувати, тобто для доступу до елементу масиву вказується ім'я масиву і його індекс (або індекси). Індекси вказуються після імені матриці (масиву) в круглих дужках і розділяються комами. До скалярної змінної можна звертатися як по імені, так і вказавши індекси - в даному випадку це (1,1). Приклад звернення до скалярної величиною в звичайному режимі і за допомогою пари одиничних індексів показаний на малюнку 6.

Командою «MyVar \u003d 10» змінної «MyVar» присвоюється значення «10». Звертатися до змінної можна як по імені «MyVar», так і в режимі звернення до елементу матриці «MyVar (1,1)». В обох випадках в якості результату повертається значення скалярної змінної «MyVar».

Оскільки всі змінні в Matlab апріорі розглядаються як матриці, ніяких особливих інструкцій при оголошенні матриць виконувати не потрібно, за винятком того, що для матриці необхідно задати значення її елементів. Робиться це досить просто. Список елементів матриці полягає в квадратні дужки, списки значень елементів рядка розділяються комами або пробілами, а списки значень різних стовпців розділяються крапкою з комою. Наприклад, командою «A \u003d» задається вектор-рядок (матриця розмірів 1х3) з елементами «1», «2» і «3» відповідно.

малюнок 6

Командою «B \u003d» задається вектор-стовпець (матриця розмірів 3х1) з елементами «4», «5» і «6». Нарешті, командою «C \u003d» задається матриця розмірами 3х2 (3 рядки і 2 колонки). Приклади виконання цих команд наведені в документі на малюнку 7.

малюнок 7

До елементів матриці можна звертатися в звичайному режимі, вказавши два індексу (номер рядка і номер стовпця, на перетині яких знаходиться елемент). Існує також спосіб поводження з узагальненому індексу. Узагальнений індекс елемента матриці визначається як його порядковий номер, якщо відлік починати з верхнього лівого елемента зверху вниз і від лівого стовпчика до правого. Так, якщо матриця «X» має розміри «n» на «m», то до елементу з індексами «i» та «j» можна звернутися або як «X (i, j)», або як «X (n * ( j-1) + i) ». Хоча другий спосіб індексування елементів може здатися дещо заплутаним, він відповідає технічному способу індексації елементів матриці в пам'яті, тому обчислення в такому випадку виконуються швидше. На малюнку 8 наведено фрагмент документа, в якому в різному режимі виконується звернення до елементів матриці «C», визначеної раніше. Зокрема, командою «C (1)» отримуємо значення елемента «C (1,1)» (значення1). Інструкція «C (5)» є посиланням на елемент «C (2,2)», значення якого дорівнює «4».

малюнок 8

2. Арифметичні операції

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

Таблиця 1 Основні арифметичні оператори Matlab.

оператор

опис

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

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

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

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

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

Оператор лівостороннього ділення. Бінарний оператор. операндами

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

Оператор поелементного множення. Бінарний оператор. Операндами є матриці однакового розміру. Результатом є матриця, елементи якої дорівнюють добутку відповідних елементів матриць-операндів.

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

Оператор поелементного лівостороннього ділення. Бінарний оператор. Операндами є матриці однакового розміру. Результатом є матриця того ж розміру. Виконується розподіл елементів матриці - другого операнда на відповідні елементи матриці - першого операнда.

Оператор обчислення сполученої матриці. Унарний оператор. Результатом є матриця, сполучена до матриці-оператору.

Оператор транспонування. Унарний оператор. Результатом є матриця, транспонована до матриці-операнду.

Оператор поелементного зведення в ступінь. Бінарний оператор.

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

Наведені оператори практично повністю перекривають весь спектр можливих операцій, які доводиться виконувати з матрицями. Деякі приклади використання арифметичних операторів з матричними операндами наведені в табл. 2. Матриці «A» і «B» при цьому ініціалізовані в документі наступними командами (жирним шрифтом виділено введення користувача):

>> A \u003d

>> B \u003d [- 1,1; 3, -2]

Таблиця 2 Приклади виконання арифметичних операцій з матрицями.

опис

Твір матриць.

Обчислюється за правилами обчислення матриць в лінійної алгебри.

Розподіл матриць.

Матриця A множиться на матрицю, зворотну до матриці B.

Лівосторонній множення матриць.

Матриця, обернена до матриці A, множиться на матрицю B.

Поелементне розподіл матриць.

Елементи матриці A діляться на відповідні елементи матриці B.

Лівосторонній поелементне ділення.

Елементи матриці B діляться на відповідні елементи матриці A.

Поелементне множення матриць.

Елементи матриці A множаться на відповідні елементи матриці B.

Сума матриць.

Обчислюється за правилами обчислення суми матриць в лінійної алгебри (складаються відповідні елементи матриць A і B).

Різниця матриць.

Обчислюється за правилами розрахунку різниці двох матриць (від елементів матриці A віднімаються відповідні елементи матриці B).

Транспонування матриці.

Результатом є матриця, транспонована до матриці A.

малюнок 9

малюнок 10

Однак арифметичні оператори далеко не єдині оператори, які використовуються при обчисленнях.

3. Логічні оператори і оператори порівняння

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

Зазвичай під логічними значеннями мають на увазі тип даних, змінні якого можуть приймати два значення - істинаі брехня( «True» і «false» відповідно). У Matlab будь числове значення, відмінне від нуля, інтерпретується як істина(Або «true»), а ненульові значення інтерпретуються як брехня(Або «false»). Фактично, це є правило перекладу числових значень в логічні значення. Зворотне перетворення виконується за наступним правилом: логічне значення істина(Або «true») перетворюється в числове значення «1», а логічне значення брехня (Або «false») перетворюється в числове значення «0».

Якщо деякої змінної привласнити як значення «true» або «false», що відображається буде відповідно значення «1» або «0».

Операндами для операторів порівняння виступають числові значення. Це бінарні оператори. Якщо обидва операнда - скаляри, порівняння виконується за правилами порівняння чисел. При істинному співвідношенні повертається значення «1», при помилковому - значення «0». Якщо операндами є матриці однакових рангів, порівнюються відповідні елементи матриць (за правилами порівняння числових значень). Результатом є "логічна матриця": її елементи рівні 1 або 0 в залежності від результату порівняння відповідних елементів вихідних матриць. Якщо одним операндом є скаляр, а іншим - матриця, то виконується порівняння кожного елемента матриці зі скаляром. Оператори порівняння перераховані в таблиці 3. бінарний програмування компіляція

Таблиця 3 Оператори порівняння Matlab.

оператор

опис

Оператор перевірки на предмет рівності.

Оператор перевірки значень операндів на предмет нерівності.

Оператор перевірки того, що значення першого операнда більше значення другого операнда.

Оператор перевірки того, що значення першого операнда менше значення другого операнда.

Оператор перевірки того, що значення першого операнда не менш значення другого операнда.

Оператор перевірки того, що значення першого операнда не більш значення другого операнда.

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

Таблиця 4 Логічні оператори Matlab.

Як в операціях порівняння, так і в логічних операціях для елементів матриць або скалярів (в залежності від типу операндів) повертаються значення «0» (неправда) і «1» (істина).

4. Комплексні числа

У Matlab можна використовувати не тільки дійсні, а й комплексні числа. Введення комплексних чисел в робочій області виконується відповідно до правил подання комплексних чисел. Як уявної одиниці можна використовувати, на вибір, змінні «i» або «j», без якого б то не було попереднього оголошення. Однак якщо змінної «i» або «j» привласнити числове значення, відповідну змінну в якості уявної одиниці задіяти не вийде.

>> z \u003d 1 + 2i

>> z + j

>> (2-4i) * (1 + z)

12.0000 - 4.0000i

>> i* z

При введенні комплексного значення між уявною частиною і уявною одиницею оператор множення можна не ставити. За замовчуванням для відображення уявної одиниці використовується символ «i» (хоча може вводитися як «j»). Існує ряд функцій, що полегшують роботу з комплексними числами. Серед них має сенс виділити функції «real ()» і «imag ()» для обчислення дійсної і уявної частин комплексного числа відповідно, функцію «conj ()» для обчислення комплексно сполученого числа, а також функцію «complex ()», приймаючу два аргументу (дійсна і уявна частини), на підставі яких створюється комплексне число.

>> complex (3, -2)

3.0000 - 2.0000i

>> conj (ans)

3.0000 + 2.0000i

>> real (ans)

>> imag(2-4 i)

Комплексними можуть бути не тільки скалярні величини, але і матриці.

малюнок 11

5. Оператор створення інтервалу значень

Досить популярним і часто використовуваним в Matlab є оператор "двокрапка", тобто «:». Існує кілька варіантів його використання. Розглянемо найзагальніші. Для створення вектора-рядка зі значеннями, так само розподіленими в деякому інтервалі, оператор використовують в наступному форматі: «нижня межа діапазону, оператор (тобто«: ») і верхня межа діапазону» - наприклад: «x \u003d a: b». При цьому створюється вектор-рядок (для наведеної команди вектор записується в змінну «x»). Перший елемент вектора дорівнює нижній межі вказаного діапазону (значення «a»). Крок дискретності зміни значень елементів вектора дорівнює одиниці. Значення останнього елемента визначається верхньою межею вказаного діапазону (в даному випадку «b»). Так, командою «x \u003d 1: 10» створюється вектор-рядок зі значеннями «1, 2, 3 і т.д. до 10 »включно (жирним шрифтом виділено введення користувача):

>> x \u003d 1: 10

1 2 3 4 5 6 7 8 9 10

малюнок 12

Якщо потрібно створити вектор-рядок з послідовністю значень і кроком дискретності, відмінним від одиниці, використовують той же оператор "двокрапка" (тобто «:»), але в дещо іншому форматі: «вказується нижня межа діапазону значень, оператор" двокрапка ", крок дискретності, знову оператор "двокрапка", і верхня межа діапазону »- наприклад:« y \u003d a: m: b ». Формується вектор-рядок з першим значенням - нижньою межею діапазону (для наведеної команди це «a»). Кожен наступний елемент виходить додатком до попереднього величини, зазначеної в якостей кроку дискретності (в даному випадку «m»). Значення елементів сформованого масиву не перевищують верхню межу діапазону (тобто «b»). Приклад такого використання оператора "двокрапка" наведено нижче (уривок коду з робочою області, жирним виділено введення користувача):

>> y \u003d 1: 0.7: 10

Columns 1 through 8

0000 7000 2.4000 3.1000 3.8000 4.5000 5.2000 5.9000

Columns 9 through 13

6.6000 7.3000 8.0000 8.7000 9.4000

малюнок 13

В даному випадку створюється вектор-рядок y зі значеннями від 1 до 10 з кроком дискретності 0.7 - значення 0, 7, 2.4 і т.д. до 9.4 включно (наступне гіпотетичне значення в послідовності 10.1 перевищує верхню межу діапазону 10, тому в формований вектор воно не входить). Повідомлення «Columns 1 through 8» і «Columns 9 through 13» з'являються автоматично як наслідок того, що результат виконання команди «y \u003d 1: 0.7: 10» в один рядок не поміщається, тому виконується перенесення частини вектора-результату в наступний рядок. Дані повідомлення покликані полегшити процес індексного ідентифікації елементів.

Другий спосіб використання оператора "двокрапка" - при індексуванні елементів. Як і в попередньому випадку, існує кілька форматів, або правил, використання оператора "двокрапка" в індексах.

Наприклад, якщо оператор "двокрапка" використовується в форматі «A (i: j, k)»,

то в якості результату повертається вектор-стовпець, який формується з елементів матриці «A», що знаходяться в «k-м» стовпці з «i-й» по «j-ю» рядок включно. Посилання в форматі «A (:, k)» повертає в якості значення весь «k-й» стовпець матриці «A».

Можна використовувати оператор "двокрапка" при вказівці відразу двох індексів. Наприклад, командою «A (i: j, m: n)» повертається подматріца, що складається їх рядків з «i-й» по «j-ю» і одночасно стовпців з «m-го» по «n-й».

Розглянемо деякі приклади використання оператора "двокрапка".

Зокрема, вихідна матриця «A» вводиться командою:

A \u003d

У наступних командах оператор "двокрапка" використовується для вилучення підматриць з вихідної матриці «A»:

>> A (1: 3,2)

>> A (3,2: 4)

>> A (3: 4,1: 2)

Наприклад, командою «A (1: 3,2)» повертається вектор-стовпець, складений з елементів з першої по третю рядок у другому стовпці матриці «A». Командою «A (3,2: 4)» повертається вектор-рядок, який складений з елементів третього рядка з другого по четвертий стовпець включно матриці «A». Нарешті, командою «A (3: 4,1: 2)» повертається подматріца матриці «A», верхній лівий елемент якої має індекси «(3,1)», а правий нижній елемент має індекси «(4,2)».

6. Вбудовані математичні функції

У Matlab за замовчуванням є досить велика кількість вбудованих функцій. Ядро їх складають математичні функції, які на практиці використовуються порівняно часто. Деякі з них перераховані в таблиці 5.

Таблиця 5 Деякі математичні функції Matlab.

опис

Модуль числа (в тому числі і комплексного), зазначеного аргументом функції.

Арккосинус для числа, зазначеного аргументом функції.

Арккосинус аргументу функції. Результат представлений в градусах.

Арккотангенс числа, зазначеного аргументом функції.

Арккотангенс аргументу функції. Результат представлений в градусах.

Арккосеканс числа, зазначеного аргументом функції.

Арккосеканс аргументу функції. Результат представлений в градусах.

Арксеканс числа, зазначеного аргументом функції.

Арксеканс аргументу функції. Результат представлений в градусах.

Арксеканс гіперболічний від числа, зазначеного аргументом функції.

Арксинус від числа, зазначеного аргументом функції.

Арксинус аргументу функції. Результат представлений в градусах.

Арксинус гіперболічний від числа, зазначеного аргументом функції.

Арктангенс від числа, переданого аргументом функції.

У функції два аргументи (наприклад, atan (y, x)). Як результат повертається напрямок (кут в діапазоні значень від -р до р) на точку з відповідними координатами (в даному випадку, точка з координатами (y, x)). Якщо аргументи комплексні, їх уявні частини ігноруються.

Арктангенс аргументу функції. Результат представлений в градусах.

Арктангенс гіперболічний від числа, переданого аргументом функції.

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

Косинус від числа, переданого аргументом функції.

Косинус аргументу функції, зазначеного в градусах.

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

Котангенс від числа, переданого аргументом функції.

Котангенс аргументу функції, зазначеного в градусах.

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

Косеканс від числа, переданого аргументом функції.

Косеканс аргументу функції, зазначеного в градусах

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

Експонента: показова функція з основою-константою Ейлера і показником ступеня, що визначаються аргументом функції.

Командою виду expm1 (x) з підвищеною точністю обчислюється значення exp (x) -

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

Функція для обчислення факторіала числа, зазначеного аргументом функції.

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

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

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

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

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

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

Натуральний логарифм від числа, зазначеного аргументом функції.

Логарифм за основою 10 від числа, зазначеного аргументом функції.

Командою виду log1p (x) з підвищеною точністю обчислюється значення log (1 + x).

Логарифм за основою 2 від числа, зазначеного аргументом функції.

Функцією повертається залишок від ділення значення першого аргументу функції на значення другого аргументу. Ціла частина відділення визначається функцією froor ().

Функцією як значення повертаються біноміальні коефіцієнти. Якщо функція викликана в форматі nchoosek (n, k), то в якості результату повертається значення:,

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

Командою nthroot (x, n) в якості значення повертається корінь порядку n (другий аргумент) з дійсного числа або елементів дійсного масиву x (перший аргумент).

Функція може бути викликана з одним або двома аргументами. Якщо у функції один аргумент (масив) і функція викликається в форматі pow2 (x), то в якості результату повертається масив ступенів двійки, показники ступеня визначаються масивом x. Якщо функція викликається з двома аргументами в форматі pow2 (x, y), то результатом є x. * 2. ^ y.

У функції два аргументи. Якщо аргументи скалярні, як результат повертається значення першого аргументу, зведена в ступінь, яка визначається другим аргументом. У більш загальному випадку в якості результату виконання команди power (A, B) повертається "A. ^ B".

Функцією генерується список простих чисел. Кількість чисел вказується аргументом функції.

Функцією повертається залишок від ділення значення першого аргументу функції на значення другого аргументу. Ціла частина відділення визначається функцією fix ().

Функція округлення аргументу до найближчого цілого значення.

Секанс від числа, зазначеного аргументом функції.

Секанс аргументу функції, зазначеного в градусах.

Знак числа, зазначеного аргументом функції (для позитивних чисел - одиниця, для негативних чисел - мінус одиниця, для нуля - нуль).

Синус від числа, зазначеного аргументом функції.

Синус аргументу функції, зазначеного в градусах.

Корінь квадратний з числа, зазначеного аргументом функції.

опис

Тангенс від числа, зазначеного аргументом функції.

Тангенс аргументу функції, зазначеного в градусах.

Хоча більшість з представлених вище функцій з математичної точки зору визначені для скалярних величин, зазвичай вони можуть застосовуватися і для аргументів-матриць. У цьому випадку дія функціонального оператора застосовується до кожного з елементів матриці. Наприклад, якщо змінна «A» є матрицею з елементами «A (i, j)», то в результаті виконання команди «exp (A)» отримаємо матрицю того ж рангу, а її елементи обчислюються як «exp (A (i, j )) ». У деяких випадках такий підхід неприйнятний. Існують так звані матричні функції, аргументами яких за визначенням є матриці (в основному квадратні). Результат цих функцій обчислюється по алгоритмам, розробленим спеціально для матриць. Так, в Matlab є вбудовані матричні функції для експоненти, логарифма і квадратного кореня. Це відповідно функції «expm ()», «logm ()» і «sqrtm ()». Наприклад, якщо «A» - квадратна матриця, то функцією «expm (A)» обчислюється матрична експонента. За визначенням це ряд:

Результатом є матриця, яка обчислюється, як правило, на основі власних чисел і власних векторів матриці «A». Матричний логарифм для аргументу-матриці «A», який вираховується інструкцією «logm (A)», являє собою матрицю таку, що матрична експонента від неї дорівнює матриці «A». Іншими словами, за визначенням якщо «B \u003d logm (A)», то «expm (B) \u003d A», і функція «logm ()» є зворотною до функції «expm ()». Аналогічно, в результаті вилучення квадратного кореня з матриці «A» за допомогою функції «sqrtm ()» отримуємо матрицю, яка, будучи зведеної в квадрат, дає матрицю «A». Наприклад, якщо «B \u003d sqrtm (A)», то «B * B \u003d A».

У Matlab також широко представлені спеціальні функції, деякі з них наведені в таблиці 6.

Таблиця 6. Деякі спеціальні математичні функції Matlab.

опис

Функція Ейрі.

Функція Бесселя третього роду (функція Ханкеля).

Командою besseli (n, x) повертається модифікована функція Бесселя першого роду (індексу n).

Командою besselj (n, x) повертається функція Бесселя першого роду (індексу n), яка є одним з рішень рівняння Бесселя.

Командою besselk (n, x) повертається модифікована функція Бесселя другого роду (індексу n), яка є одним з рішень модифікованого рівняння Бесселя. Для цілих індексів відповідний вираз розраховується як ліміт.

Командою besselj (n, x) повертається функція Бесселя другого роду (індексу n), яка є одним з рішень рівняння Бесселя. Для цілих індексів відповідний вираз розраховується як ліміт.

Бета-функція Ейлера.

Неповна бета-функція Ейлера.

Логарифм натуральний від бета-функції Ейлера. Аргументами передаються аргументи бета-функції.

Еліптична функція Якобі. Якщо функція викликається з двома аргументами в форматі ellipj (u, m), в якості результату повертаються значення (вектор) для функцій sn(u) , cn(u) і dn(u).

Функція для обчислення повного еліптичного інтеграла першого та другого роду (вектор значень).

Функція помилок.

Функція помилок (залишкова).

Функція помилок (залишкова нормована).

Зворотна функція до функції помилок erf ().

Зворотна функція до функції помилок erfc ().

Інтегральна експонента.

Гамма-функція Ейлера.

Неповна гамма-функція.

Логарифм натуральний від гамма-функції Ейлера. Аргументом функції передається аргумент гамма-функції.

Функція для обчислення приєднаних поліномів Лежандра. В результаті виклику функції в форматі legendre (n, x) повертається вектор-стовпець значень приєднаних поліномів Лежандра m() Pn xдля m= 0,1,2,...,n

Псі-полігамних функція.

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

7. Формат виведення числових даних

У деяких випадках доводиться змінювати спосіб, яким дані з результатом виконання команд користувача виводяться на екран. В першу чергу відзначимо, що можна взагалі не відображати результат виконання команди в командному вікні. Для цього досить відповідну команду закінчити крапкою з комою (тобто «;»). У цьому випадку після натискання клавіші «Enter» команда виконується, але результат її виконання в командному вікні не відображається. Такий режим особливо зручний в тих випадках, коли потрібно виконувати громіздкі проміжні розрахунки, які, з одного боку, необхідні для отримання кінцевого результату, а з іншого - захаращують робочий простір. Тому розумний вихід з такої ситуації - приховати результат виконання команди. Числовий формат виведення в явному вигляді задається за допомогою інструкції «format». У команді визначення формату виводу після ключового слова «format» вказується застосовуваний формат. Допустимі формати, з коротким їх описом, перераховані в таблиці 7.

Таблиця 7 Числові формати.

опис

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

Числовий формат, при якому після десяткового дробу відображається 7, 14 і 15 цифр в залежності від типу числових даних (формат даних з фіксованою точкою).

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

Числовий формат відображення з мантиси і показником ступеня (формат даних з плаваючою точкою), при якому після десяткового дробу відображається 7, 14 і 15 цифр в залежності від типу числових даних.

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

Залежно від значення, для відображення застосовується або формат з плаваючою точкою, або з фіксованою крапкою. Після десяткової коми відображається 7, 14 або 15 цифр.

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

Інженерний формат з 7, 14 або 15 відображеними цифрами після десяткової точки і показником ступеня, кратним трьом.

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

Фінансовий формат, при якому після десяткового дробу відображається дві цифри.

Відображення чисел в шістнадцятковій системі числення.

Відображення чисел у вигляді раціонального дробу.

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

Режим відображення результатів обчислень з збільшеними інтервалами між рядками. Використовується за замовчуванням.

Нижче наведено приклад відображення числа р в різних форматах (в командах використана вбудована константа «Matlab pi»):

>> pi

>> format long

>> pi

3.141592653589793

>> format long e

>> pi

3.141592653589793e +000

>> format long eng

>> pi

3.14159265358979e +000

>> format bank

>> pi

>> format rat

>> pi

>> format +

>> pi

малюнок 14

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

практичначастина

1. Створити вектор-рядок: початковий елемент рівний - р, кінцевий р, крок дорівнює 0. Транспонувати рядок в стовпець.

2. Створити три вектор-рядки з 5 елементів fi \u003d, де n \u003d 5 для х \u003d 2, 3, 4. Об'єднати ці рядки в матрицю А (3 Ч 5).

3.Создать три вектор-стовпця з 5 елементів арифметичній прогресії. Елемент арифметичної прогресії розраховується за формулою:

де «аn-1» - попередній елемент; «Аn» - наступний.

П'ять елементів вектора формуються, починаючи з завдання першого елемента «а» і c використанням кроку арифметичної прогресії «d» для завдання наступних елементів:

Для першого вектор-стовпці: a \u003d 2; d \u003d 1:

Для другого вектор-стовпці: a \u003d 7; d \u003d 2:

Для третього вектор-стовпці: a \u003d 10; d \u003d -2:

4. Об'єднати ці вектор-стовпці в матрицю В (5 Ч 3).

5. Транспонувати матрицю В і об'єднати з матрицею А в матрицю М (6 Ч 5).

6. З матриці A прибрати другий рядок.

7. У матриці В обнулити третій рядок і прибрати дві останні рядки.

8. Створити матрицю Н (2 Ч 2) шляхом виділення перших двох рядків і стовпців матриці М.

9. Створити за допомогою функції repmat матрицю, що складається з 2 Ч 3 матриць Н.

10. Створити матриці розмірністю 3 Ч 3:

C - одиниць:

F - рівномірно розподілених випадкових чисел:

E - нормально-розподілених випадкових чисел:

11. Знайти мінімальний елемент в матриці рівномірно-розподілених чисел розмірністю 3 Ч 5, використовуючи функцію «reshape».

1. Побудувати на відрізку [-1, -0.3] з кроком 0.005 графіки огинають функцій.

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

2. Побудувати графіки добових температур; значення векторів часу і температури за два дні наведені нижче.

Час - 0 4 7 9 10 11 12 13 13.5 14 14.5 15 16 17 18 20 22.

Температура 10 травня - 14 15 14 16 18 17 20 22 24 28 25 20 16 13 13 14 13. Температура 11 травня - 12 13 13 14 16 18 20 20 25 25 25 20 16 12 12 11 10.

Оформити графіки заголовком "All temperature", по осі «Х» підписати "Time"; по осі «У» `Temperature"; в легенді - "10 may", "11 may" і розмістити її в нижньому лівому кутку.

3.Построіть 3-вимірної графіки функції:

z(x,y) \u003d 4 sin (2р x) Cos (5р y)(1 - x 2 )y(1 ?y)

на прямокутної області «x [? 1], y »З кроком 0.05 усіма способами, розглянутими в лабораторній роботі, розміщуючи їх в окремих областях на одному вікні. Назви функцій, що застосовуються для побудови графіків, включити в заголовки цих графіків.

Розміщено на Allbest.ru

...

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

змінні;

Оператори;

Функції.

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

num_ students = 25

створює матрицю 1x1 з ім'ям num_ students і зберігає значення 25 в її єдиному елементі.

Імена змінних складаються з літер, цифр або символів підкреслення. Matlab використовує тільки перші 31 символ імені змінної. Matlab чутливий до регістрів, він розрізняє великі і малі літери. Тому A і a - не одна і та ж змінна. Щоб побачити матрицю, пов'язану зі змінною, просто введіть назву змінної.

Числа. Matlab використовує прийняту десяткову систему числення, з необов'язковою десятковою крапкою і знаками плюс-мінус для чисел. Наукова система числення використовує букву e для визначення множника ступеня десяти. Уявні числа використовують i або j як суфікс. Деякі приклади правильних чисел наведені нижче:

Всі числа для зберігання використовують формат long, Це числа з плаваючою точкою володіють обмеженою точністю - приблизно 16 значущих цифр і обмеженим діапазоном - приблизно від 10 -308 до 10 308.

Оператори. Вирази використовують звичайні арифметичні операції і правила старшинства (табл. 1).

Таблиця 1

Арифметичні операції пакета Matlab

Функції. Matlab надає велику кількість елементарних математичних функцій, таких як abs, sqrt, exp, sin. Обчислення квадратного кореня або логарифма негативного числа не є помилкою: в цьому випадку результатом є відповідне комплексне число. Matlab також надає і більш складні функції, включаючи Гамма функцію і функції Бесселя. Більшість з цих функцій мають комплексні аргументи. Щоб вивести список всіх елементарних математичних функцій, наберіть:

helpelfun

Щоб подивитися список всіх функцій Matlab для аналізу даних:

helpdatafun

Якщо вам потрібно дізнатися про StatisticsToolbox, Введіть:

helpstats

Список елементарних функцій представлений в табл. 2.

Таблиця 2

Елементарні функції пакета Matlab

Логарифм числа за основою :.

Для виведення більш складних математичних і матричних функцій, наберіть:

helpspecfun

helpelmat

відповідно.

Деякі функції, такі як sqrtі sin, - вбудовані. Вони є частиною Matlab, тому вони дуже ефективні, але їх обчислювальні деталі важко доступні. У той час як інші функції, такі як gammaі sinh, реалізовані в m-файлах. Тому можна побачити їх код і, в разі необхідності, навіть модифікувати його.

Кілька спеціальних функцій надають значення часто використовуваних констант:

Нескінченність з'являється при розподілі на нуль або при виконанні математичного виразу, що приводить до переповнення, т. Е. До перевищення realmax. Чи не число ( NaN) генерується при обчисленні виразів типу 0/0 або Inf/ Inf, Які не мають певного математичного значення.

Імена функцій не є зарезервованими, тому можливо змінювати їх значення на нові, наприклад:

eps = 1. e-6

cleareps

Оператори відносинислужать для порівняння двох величин, векторів або матриць, всі оператори відносини мають дві порівнювані величини і записуються, як показано в табл. 3.

ІНСПЕКТОР ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ


КАФЕДРА

«Інформаційні процеси і управління»

методична розробка

для проведення лабораторного заняття №1

з дисципліни "Теорія прийняття рішень"

Назва дисципліни

найменування теми

Тема: Дослідження методів одновимірної оптимізації

Мета роботи:

Вивчення методів одновимірної оптимізації і способів їх алгоритмічної реалізації в середовищі багатофункціональної інтегрованої системи автоматизації математичних і науково-технічних розрахунків MATLAB 7.1;

Порівняльна оцінка за обсягом обчислювальних витрат методів: прямого сканування, дихотомії, «золотого перетину» і методу Фібоначчі.

література:

1. Аокі М. Введення в методи оптимізації. М .: Наука, 1977. 444 с.

2. Батищев Д.І. Методи оптимального проектування. М .: «Радіо і зв'язок», 1984. 248 с.

3. Бодров В.І., Лазарева Т.Я., Мартем'янов Ю.Ф. Математичні методи прийняття рішень: Учеб. посібник. Тамбов: Вид-во Тамбо. держ. тех. ун-ту, 2004. 124 с.

4. Полак Е. Чисельні методи оптимізації. М .: Світ, 1997. 376 с.

5. Гіммельблау Д. Прикладне нелінійне програмування. М .: Світ, 1975. 534 с.

6. Юдін Д.Б. Обчислювальні методи теорії прийняття рішень. М .: Наука, 1989. 316 с.

7. Кетков Ю. Л., Кетков А. Ю., Шульц М. М. MATLAB 7: програмування, чисельні методи. - СПб .: БХВ-Петербург, 2005. - 752 с

За проведення заняття

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

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

Основні методи моделювання відповідних процесів;

Виконувати вибір і оцінку впливу основних параметрів на результат моделювання;

Аналізувати та узагальнювати отримані результати.

Виконання лабораторної роботи включає в себе три етапи: попередню підготовку до лабораторного заняття, безпосередньо заняття, звітність по лабораторного заняття.

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

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

Підготовка до заняття

Напередодні заняття студенти повинні:

Ознайомитися з керівництвом з даного лабораторного заняття;

Повторити лекційний матеріал і вивчити запропоновану літературу з даної теми;

Вивчити порядок виконання роботи;

Підготуватися до відповіді на контрольні питання.

Порядок проведення заняття

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

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

Звітність по заняттю

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

Коротка характеристика MATLAB

Система MATLAB (Matrix Laboratory) складається з великої кількості спеціальних програм, що дозволяють вирішувати широкий спектр математичних і технічних завдань з різних областей науки. Головний її елемент - це ядро \u200b\u200bсистеми MATLAB. На додаток до нього система містить близько 80-ти різних комплектів команд (т.зв. "Toolboxes"), які відповідають різним розділах математики, математичної фізики, проектування, зв'язку, економіки і т.д. У даній роботі використовуються базові засоби програмування MATLAB: М-файли - функції, вбудовані функції, оператори, команди і т.п.

Рис.1. Робочий стіл системи

На рис.1 представлений робочий стіл системи. Рядок меню (File, Edit, і т.д.) багато в чому схожа з аналогічною рядком редактора Microsoft Word. Розташований нижче ряд іконок також виконують ті ж операції, що і в редакторі Word (за винятком 3-х останніх). Робочий стіл системи складається із декількох вікон, склад яких можна змінювати за допомогою команд меню Desktop. На рис.1 в верхньому вікні зліва наводиться вміст робочого простору Workspace, Куди вміщено описи всіх констант і функцій, введених користувачем в процесі роботи. У нижньому вікні Command History наводиться послідовність виконаних команд. Розміри вікон регулюються перетягуванням кордону за допомогою миші. Головне вікно робочого столу - Command Window (Командне вікно). У командному вікні після знака "\u003e\u003e" набирається командний рядок, яка виконується після натискання клавіші " Enter".

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

Формат числа задається меню File(Рис.1) в розділі Preferencesза допомогою функції Numeric Format.Найбільш часто використовуваними з 12-ти можливих є формати Short і Long - коротка і довга формати чисел.

Одними зосновних понять MATLAB є змінні і затвердження .

Мінливапозначається однією буквою або набором літер і цифр, що починається з букви. Число букв і цифр в наборі в сумі не повинно перевищувати дев'ятнадцять. затвердження має наступну форму:

\u003e\u003e змінна \u003d вираз

При введенні затвердження змінної присвоюється вираз, яке стоїть за знаком рівності, або, якщо воно включає будь-які математичні операції, то результат, який виходить після виконання цих операцій. Вводити твердження можна в М-файлі або в командному вікні програми MATLAB. Знак «\u003e\u003e» є командною підказкою, поява якої на екрані дисплея в командному вікні вказує на те, що твердження можна вводити.

Основні арифметичні оператори наведені в табл.1.1. При виконанні обчислень в командному вікні після натискання клавіші " Enter"Результат присвоюється параметру" ans", Якщо відповідного виразу не присвоєно ім'я, або його імені - в іншому випадку (імена змінних, констант і функцій повинні починатися з літери (букви латинські), можуть містити цифри і символ підкреслення). Для блокування виведення результату обчислень деякого виразу після нього треба встановити знак; (крапка з комою).

Таблиця 1.1

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

\u003e\u003e x \u003d log (1 + 5 * ((log10 (100)) ^ 2-0.2 * pi) / sqrt (1 + 2.71828 ^ 3))

Після введення затвердження, тобто натискання клавіші Enter, нижче відразу видається результат. Якщо результат потрібно заблокувати, тобто не треба видавати на екран дисплея, то в кінці затвердження потрібно поставити знак «; »(Крапку з комою). Попереднє вираз можна представити і в іншій формі:

\u003e\u003e a \u003d (log10 (100)) ^ 2;

\u003e\u003e b \u003d sqrt (1 + 2.71828 ^ 3);

\u003e\u003e x \u003d log (1 + 5 * (a-0.2 * pi) / b)

MATLAB має кілька вбудованих змінних: pi, eps, inf, iі j.Мінлива pi позначає число, eps\u003d 2 -52 \u003d 2.2204 * 10 -16 - похибка для операцій над числами з плаваючою точкою, inf- нескінченність ( ), Iі j- уявну одиницю ( i = j= ).

Коли аргумент зліва не вказано, результат виразу присвоюється загальної змінної ans.

Оператори відносини (табл. 1.2) використовуються в умовних операторах, операторах циклу і т.п. при реалізації алгоритмів пошуку з використанням М-функцій (підпрограми-функції записуються в файлах з расшіреніем.m).

Таблиця 1.2

Отже, програмами в системі MATLAB є М-файли текстового формату, що містять запис програм у вигляді програмних кодів.

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

Таблиця 1.3

формат оператора пояснення
var \u003d expr Оператор присвоювання. Обчислює значення виразу expr і заносить результати обчислень в змінну var
ifусловіе_1 оператори_1 end Умовний оператор. Якщо справедливо условіе_1, то виконується група оператори_1, якщо справедливо условіе_2, то виконується група оператори_2, ... Якщо всі зазначені умови виявляються помилковими, то виконуються оператори, розташовані між else і end
switchexpr casevail оператори_1 caseval2 оператори_2. . . . . . . . . [Othervise оператори] end Перемикач за значенням вирази expr. Якщо воно збігається з величиною vail, то виконується група оператори_1, якщо воно збігається з величиною val2, то виконується група оператори_2, ... Якщо значення expr не збігається з жодною з перерахованих величин, то виконуються оператори, розташовані між othervise і end
forvar \u003d el: e3 оператори end Цикл типу арифметичної прогресії, в якому змінна var при кожному повторенні тіла циклу змінюється від початкового значення el з кроком е2 до кінцевого значення ЕЗ
whileусловіе оператори end Цикл з передумовою, що повторюється до тих пір, поки істинно зазначена умова
try оператори_1 catch оператори 2 end Спроба виконати групу оператори_1. За умови, що в результаті їх виконання виникає виняткова ситуація, управління передається групі оператори_2 (обробка збійних ситуацій). Якщо помилка не виникла, то група оператори_2 не виконується
break Достроковий вихід з керуючих конструкцій типу for, while, switch, try - catch
function f1 function f2 (x1, х2,...) function y \u003d f3 (xl, x2, ...) function \u003d f4 (xl, x2 ,...) Заголовок функції (xl, х2, ... - вхідні параметри; y, yl, у2, ... -вихідні параметри)
return Достроковий вихід з тіла функції

При написанні програм-функцій потрібно, щоб ім'я М-файлу, в якому запам'ятовується програма, обов'язково збігалося з ім'ям функції.

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

Мова MATLAB не містить оператора goto. У зв'язку з цим в текстах m-файлів відсутні мітки операторів. Для ідентифікації рядків, в яких виникають аварійні ситуації, використовуються внутрішні номери, що привласнюються системою автоматично.

    Основні можливості пакетуMatlab

    Набори інструментів пакетаMatlab

    Структура і робочі вікна пакетаMatlab

    Робота в командному режимі

    Основні елементи мови програмуванняMatlab

1. Основні можливості пакету Matlab

MATLAB (Скорочення від англ. «Matrix Laboratory») - пакет прикладних програм для вирішення задач технічних обчислень і однойменний мову програмування, що використовується в цьому пакеті. MATLAB використовують більше 1 000 000 інженерних і наукових працівників, він працює на більшості сучасних операційних систем, включаючи Linux, Mac OS, Solaris (починаючи з версії R2010b підтримка Solaris припинена) і Microsoft Windows.

Історія.MATLAB як мова програмування був розроблений Клівом Моулером (англ. Cleve Moler) в кінці 1970-х років коли він був деканом факультету комп'ютерних наук в Університеті Нью-Мексико. Метою розробки служила задача дати студентам факультету можливість використання програмних бібліотек Linpack і EISPACK без необхідності вивчення Фортрана. Незабаром новий мова поширилася серед інших університетів і був з великим інтересом зустрінутий вченими, які працюють в області прикладної математики. До сих пір в Інтернеті можна знайти версію 1982 року, написану на Фортране, поширювану з відкритим вихідним кодом. Інженер Джон Літтл (англ. John N. (Jack) Little) познайомився з цією мовою під час візиту Клива Моулера в Стенфордський університет в 1983 році. Зрозумівши, що нова мова володіє великим комерційним потенціалом, він об'єднався з Клівом Моулером і Стівом Бангерт (англ. Steve Bangert). Спільними зусиллями вони переписали MATLAB на C і заснували в 1984 компанію The MathWorks для подальшого розвитку. Ці переписані на С бібліотеки довгий час були відомі під ім'ям JACKPAC. Спочатку MATLAB призначався для проектування систем управління (основна спеціальність Джона Літтла), але швидко завоював популярність у багатьох інших наукових і інженерних областях. Він також широко використовувався і в освіті, зокрема, для викладання лінійної алгебри та чисельних методів.

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

Програми, написані на MATLAB, бувають двох типів - функції і скрипти.

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

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

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

Основною особливістю мови MATLAB є його широкі можливості по роботі з матрицями, які творці мови висловили в гаслі «думай векторно» (англ. Think vectorized).

Застосування MATLAB.

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

    Матриці і лінійна алгебра - алгебра матриць, лінійні рівняння, власні значення і вектора, сингулярності, факторизація матриць та інші.

    Багаточлени і інтерполяція - корені многочленів, операції над многочленами і їх диференціювання, інтерполяція і екстраполяція кривих і інші.

    Математична статистика та аналіз даних - статистичні функції, статистична регресія, цифрова фільтрація, швидке перетворення Фур'є та інші.

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

    Диференціальні рівняння - рішення диференціальних і диференціально-алгебраїчних рівнянь, диференціальних рівнянь із запізненням, рівнянь з обмеженнями, рівнянь в приватних похідних і інші.

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

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

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

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

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

незалежні додатки. Програми MATLAB, як консольні, так і з графічним інтерфейсом користувача, можуть бути зібрані за допомогою компоненти MATLAB Compiler в незалежні від MATLAB виконувані програми або динамічні бібліотеки, для запуску яких на інших комп'ютерах, проте, потрібна установка вільно розповсюджуваної середовища MATLAB Compiler Runtime (MCR).

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

COM. Пакет MATLAB надає доступ до функцій, що дозволяє створювати, маніпулювати і видаляти COM-об'єкти (як клієнти, так і сервери). Підтримується також технологія ActiveX. Всі COM-об'єкти належать до спеціального COM-класу пакета MATLAB. Всі програми, які мають функції контролера автоматизації (англ. Automation controller) Можуть мати доступ до MATLAB як до сервера автоматизації (англ. Automation server).

.NET. Пакет MATLAB в Microsoft Windows надає доступ до програмної платформе.NET Framework. Є можливість загружать.NET збірки (Assemblies) і працювати з об'ектамі.NET класів з середовища MATLAB. У версії MATLAB 7.11 (R2010b) поддержівается.NET Framework версій 2.0, 3.0, 3.5 і 4.0.

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

Веб-сервіси. В MATLAB існує можливість викликати методи веб-сервісів. Спеціальна функція створює клас, грунтуючись на методах API веб-сервісу.

MATLAB взаємодіє з клієнтом веб-сервісу за допомогою прийняття від нього посилок, їх обробки і посилок відповіді. Підтримуються наступні технології: Simple Object Access Protocol (SOAP) і Web Services Description Language (WSDL).

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

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

DLL. Інтерфейс MATLAB, що відноситься до загальних DLL дозволяє викликати функції, що знаходяться в звичайних динамічно підключаються бібліотеках, прямо з MATLAB. Ці функції повинні мати C-інтерфейс.

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

Альтернативні пакети. Існує велика кількість програмних пакетів для вирішення задач чисельного аналізу. Багато з таких пакетів є вільним програмним забезпеченням.

Сумісні з MATLAB на рівні мови програмування:

Близькі за функціональності:

    APLі його нащадки: напрімерJ

    Python, при використанні пакета программPython (x, y), а також з такими бібліотеками какNumPy, SciPyіmatplotlibреалізует подібні можливості.

    IDL (англ. Interactive Data Language, Інтерактивний мову опису даних), колись був комерційним конкурентом MATLAB, зараз залишається серйозним конкурентом у багатьох прикладних областях, хоча його частка на ринку програмних продуктів для чисельного аналізу різко впала.

    Fortress, мова програмування, створена Sun Microsystems, є спадкоємцем Фортрана, але з ним не сумісний.

    При необхідності розробки великих проектів для чисельного аналізу можливе використання мов програмування загального призначення, що підтримують статичну типізацію і модульну структуру. Прикладами можуть служити Modula-3, Haskell, Ада, Java. При цьому рекомендується використовувати відомі в науково-інженерної середовищі спеціалізовані бібліотеки.

2. Набори інструментів пакета Matlab

У Matlab важлива роль відводиться спеціалізованим групам програм, званих toolboxes. Toolboxes - це всебічна колекція функцій (m-файлів), написаних на мові MATLAB для вирішення певного класу задач. Компанія Mathworks поставляє набори інструментів, які використовуються в багатьох областях, включаючи наступні:

    Цифрова обробка сигналів, зображень та даних: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox - набори функцій, що дозволяють вирішувати широкий спектр завдань обробки сигналів, зображень, проектування цифрових фільтрів і систем зв'язку.

    Системи управління: Control Systems Toolbox, μ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox - набори функцій, що полегшують аналіз і синтез динамічних систем, проектування, моделювання та ідентифікацію систем управління, включаючи сучасні алгоритми управління, такі як Робастное управління, H∞-управління, ЛМН-синтез, μ-синтези інші.

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

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

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

    Візуалізація і уявлення даних: Virtual Reality Toolbox - дозволяє створювати інтерактивні світи і візуалізувати наукову інформацію за допомогою технологій віртуальної реальності і мови VRML.

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

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

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

    Наукові та математичні пакети: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Genetic Algorithm and Direct Search Toolbox, OPC Toolbox, Optimization Toolbox, Partial Differential Equation Toolbox, Spline Toolbox, Statistic Toolbox, RF Toolbox - набори спеціалізованих математичних функцій, що дозволяють вирішувати широкий спектр наукових і інженерних задач, включаючи розробку генетичних алгоритмів, вирішення завдань в приватних похідних, цілочисельні проблеми, оптимізацію систем та інші.

    Нейронні сіті: Neural Network Toolbox - інструменти для синтезу та аналізу нейронних мереж.

    нечітка логіка: Fuzzy Logic Toolbox - інструменти для побудови і аналізу нечітких множин.

    Символьні обчислення: Symbolic Math Toolbox - інструменти для символьних обчислень з можливістю взаємодії з символьним процесором програми Maple.

Крім перерахованих вище, існують тисячі інших наборів інструментів для MATLAB, написаних іншими компаніями і ентузіастами.



Сподобалася стаття? поділіться їй