АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Розділ 6

Читайте также:
  1. Висновки до 3 розділу
  2. ВІДЦЕНТРОВІ ПИЛЕОСАДНІІ СУСПЕНЗІЙНО- РОЗДІЛЬНІ АПАРАТИ (ЦИКЛОНИ)
  3. Вставка розриву сторінки або розділу
  4. Демультиплексор (роздільник) Demux
  5. Для військових психологів щодо підготовки особового складу підрозділів і частин до участі в бою і проведення психологічної реабілітації військовослужбовців із БПТ
  6. Додаткова література до розділу І
  7. ЗАВДАННЯ ДЛЯ ПЕРЕВІРКИ І САМОПЕРЕВІРКИ ЗАСВОЄННЯ РОЗДІЛУ «ДИДАКТИКА»
  8. ЗАВДАННЯ ДЛЯ САМОКОНТРОЛЮ ТА САМОСТІЙНОЇ РОБОТИ СТУДЕНТІВ ЗА РОЗДІЛОМ ХІ.
  9. ЗАВДАННЯ ДЛЯ САМОКОНТРОЛЮ ТА САМОСТІЙНОЇ РОБОТИ СТУДЕНТІВ ЗА РОЗДІЛОМ ХІІ.
  10. ЗАВДАННЯ ДЛЯ САМОКОНТРОЛЮ ТА САМОСТІЙНОЇ РОБОТИ СТУДЕНТІВ ЗА РОЗДІЛОМ ХІІІ.
  11. ЗАВДАННЯ ДЛЯ САМОСТІЙНОЇ РОБОТИ І ЗАПИТАННЯ ДЛЯ САМОКОНТРОЛЮ ЗА РОЗДІЛОМ І.
  12. ЗАВДАННЯ ДЛЯ САМОСТІЙНОЇ РОБОТИ І ЗАПИТАННЯ ДЛЯ САМОКОНТРОЛЮ ЗА РОЗДІЛОМ ІІ.

Обчислювальна техніка та програмування-2

 

Курс лекцій з кредитного модуля для студентів денної форми навчання напряму підготовки 6.050702 – "Електромеханіка" спеціальності "Електромеханічні системи автоматизації та електропривод"

 

Київ НТУУ “КПІ” 2012

Обчислювальна техніка та програмування-2: курс лекцій з кредитного модуля для студентів денної форми навчання напряму підготовки 6.050702-"Електромеханіка" спеціальності "Електромеханічні системи автоматизації та електропривод"/ Уклад. М.Я. Островерхов, С.О. Бур’ян. – К.: НТУУ ”КПІ”, 2012. – 230 с.

 

 

Гриф надано Вченою радою ФЕА НТУУ "КПІ"

(Протокол № 2 від 24.09.2012 р.)

 

 

Навчальне видання

 

Обчислювальна техніка та програмування-2

Курс лекцій з кредитного модуля для студентів денної форми навчання напряму підготовки 6.050702 – "Електромеханіка" спеціальності "Електромеханічні системи автоматизації та електропривод"

 

 

Укладачі Островерхов Микола Якович, канд. техн. наук, доц.

Бур’ян Сергій Олександрович, асистент

 

Відповідальний редактор Кіселичник О.І., канд. техн. наук, доц.

 

Рецензенти Михайлюк Антон Юрійович, к.т.н., доцент Павлов Віктор Борисович, г.н.с., д.т.н.

 

 


Лекція 1

Вступ

 

MATLAB – це назва продукту для числового аналізу та також мова програмування. Створена компанією The MathWorks, це досить простий засіб для роботи з математичними матрицями, зображення функцій, роботи з алгоритмами, створення робочих оболонок (user interfaces) з програмами в інших мовах програмування. Хоча цей продукт спеціалізується на чисельному обчисленні, спеціальні інструментальні засоби працюють з програмним забезпеченням Maple, що робить його повноцінною системою для роботи з алгеброю.

MATLAB як мова програмування був розроблений Клівом Моулером у кінці 70-х років ХХ століття, коли він був деканом факультету комп’ютерних наук в університеті Нью Мексико. Метою розробки послужила задача надати студентам факультету можливість використовувати програмні бібліотеки Linpack та EISPACK без необхідності вивчення мови Фортран. Внаслідок нова мова почала поширюватися на інші університети та привернула велику увагу вчених, що працювали у галузі прикладної математики. Інженер Джон Літтл познайомився з цією мовою під час візиту Кліва Моулера у Стенфордський університет у 1983 році. Зрозумівши, що нова мова має великій комерційний потенціал, він об’єднується з Клівом Моулером та Стивом Бангертом. Разом вони переписали MATLAB на мові С та заснували у 1984 році компанію The MathWorks для подальшого розвитку. Попередньо MATLAB був призначений для проектування систем керування, але він швидко завоював популярність у інших різних наукових та інженерних галузях. Він також широко використовувався у освіті, для викладання лінійної алгебри та числових методів.

Основними етапами розвитку MATLAB були

1983 р. – написання MATLAB.

1984 р. – заснування MathWorks.

1985 р. – перша інструкція з використання.

1986 р. – випуск MATLAB версії 2.0 з підтримкою Unix-систем.

1987 р. – випуск MATLAB версії 3.0.

1990 р. – випуск тулбоксу Simulink.

1992 р. – випуск MATLAB версії з підтримкою двовимірної та тривимірної кольорової графіки.

1993 р. – випуск MATLAB для Microsoft Windows.

1995 р. – випуск MATLAB для Linux.

1996 р. – випуск MATLAB версії 5.0.

2000 р. – випуск MATLAB версії 6.0.

2002 р. – випуск MATLAB версії 6.5.

2004 р. – випуск MATLAB версії 7.

2010 р. – випуск MATLAB версії 7.11 (release R2010b).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для MATLAB є можливість створювати спеціальні набори інструментів (toolboxes), що розширюють його функціональні можливості. Ці набори представляють собою колекції функцій, написані на мові 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 необхідно натиснути кнопку Пуск→Программы→MATLAB→R2009a→MATLAB R2009a або відповідний ярлик на робочому столі чи на панелі швидкого запуску. Після завантаження програми відкриється робоче вікно, яке показано на рис.1.

Це вікно має наступні основні елементи:

1 – Меню та панель інструментів. Застосовується для створення, зберігання, редагування файлів та інших операцій;

2 – Командне вікно (Command Window). Застосовується для запису команд та виконання обчислень;

3 – Робоча область (Workspace). Усі дані, що з’являються у MATLAB автоматично зберігаються у вигляді масиву у робочій області, де записується ім’я (Name) та розмір масиву (Value). Навіть якщо користувач створив число, воно також записується у вигляді масиву розміром 1x1. Один елемент займає в пам'яті 8 байтів;

Рис. 1. Робоче вікно MATLAB R2009a (7.8).

 

4 – Поточний каталог (Current Directory). Відображає шлях для зберігання та відкриття файлів;

5 – Історія команд (Command History). Відображає усі команди, що були введені у командному вікні за деякий час. MATLAB автоматично сортує команди за датою їх вводу.

 

Література: [1, с. 2-13, 17-19], [2, с.4-15].

 

СРС: Завдання на СРС. Основні тулбокси MatLab.

Література: [1, с. 5-7].

 

 

Контрольні запитання:

1. Що таке MATLAB? Дайте його короткий опис.

2. Наведіть коротку історію розвитку MATLAB.

3. Назвіть основні етапи розвитку MATLAB.

4. Що таке функції та скрипти?

5. Назвіть основні функції MATLAB при використанні в областях математики.

6. Наведіть основні особливості застосування MATLAB.

7. Назвіть основні набори інструментів у MATLAB.

8. Як запускати MATLAB у середовищі Windows?

9. Назвіть основні елементи робочого вікна MATLAB.

10. У якому форматі зберігаються дані у робочій області MATLAB?

 


Лекція 2

розділ 6


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.)