Съдържание и теми, включени в курса
Модул 1: MATLAB среда, работни процеси и основи на данните
Изгражда се майсторско владеене на екосистемата за разработка на MATLAB, като се обхващат както десктоп, така и облачни работни процеси, основни типове данни, файлов вход/изход и стратегии за управление на данни, които формират основата за всички напреднали задачи в техническите изчисления.
1.1 Екосистемата на MATLAB: десктоп, онлайн и Drive
- Работа с десктоп средата на MATLAB: прозорец за команди, редактор, работно пространство, текуща папка и история на командите
- MATLAB Online: облачно базирана разработка, сътрудничество чрез MATLAB Drive и достъпност между различни устройства
- Управление на работното пространство, пътища за търсене и конфигуриране на средата
- Кратки пътища, профили и персонализиране на средата за разработка с цел инженерна ефективност
1.2 Основни типове данни и математически основи
- Литерали, променливи, конвенции за именуване и присвояване в MATLAB
- Скалари, вектори, матрици и многомерни масиви: създаване, индексиране и манипулиране
- Константи, оператори и вградени математически функции
- Операции с масиви срещу матрични операции: поелементно срещу линейна алгебра
- Логическо индексиране, релационни оператори и логически масиви за напреднало филтриране
- Клетъчни масиви, структури, обекти и handle обекти за сложно организиране на данни
- Таблици и времеви таблици: съвременната парадигма на MATLAB за таблични данни за времеви редове и експериментални данни
1.3 Файлов вход/изход и оперативна съвместимост на данни
- Импортиране и експортиране на CSV, TXT и разделени текстови файлове
- Работа с Excel електронни таблици: операции за четене, запис и форматиране
- MAT собствени файлови формати (.mat) и запазване на работното пространство
- Съветник за импортиране и автоматизирано генериране на код за импорт
- Връзка с бази данни: свързване със SQL Server, Oracle, PostgreSQL и облачни бази данни
- Уеб данни: извличане на JSON, XML и отговори от REST API в MATLAB
Пазарно ориентирани компетенции: MATLAB среда за разработка, работен процес в MATLAB Online, сътрудничество чрез MATLAB Drive, управление на числови данни, основи на научните изчисления, импортиране и експортиране на технически данни, работа с CSV и Excel данни, връзка с бази данни, таблици и времеви таблици в MATLAB, структурирано организиране на данни, основи на математическите изчисления, инженерни работни процеси с данни
Модул 2: Програмиране в MATLAB, алгоритми и архитектура на кода
Задълбочава се владеенето на програмирането отвъд основния синтаксис, като се обхващат структурирано програмиране, обектно-ориентиран MATLAB, организиране на кода, дебъгване, профилиране на производителността и най-добри практики от софтуерното инженерство за поддържаеми технически кодови бази.
2.1 Структурирано програмиране и управляващи структури
- Скриптове срещу функции: кога да използваме всяко и най-добри практики
- li>Условна логика: if/else, switch/case и вложени условия
- Цикли: for, while и стратегии за оптимизация на цикли (векторизация срещу итерация)
- Управляващи структури в подфункции и вложени функции
- Техники за обработка на грешки и дебъгване: try/catch, assert, dbstop и дебъгерът на MATLAB
2.2 Функционално програмиране и организиране на кода
- li>Създаване на функции, входни/изходни аргументи и гъвкавост с varargin/varargout
- Анонимни функции и указатели към функции: функционално програмиране в MATLAB
- Подфункции, локални функции и вложени функции
- Организация на база файлове, пакети и управление на пакети на ниво папка
- Предаване по стойност срещу предаване по референция (handle обекти)
2.3 Обектно-ориентирано програмиране в MATLAB
- Класове: дефиниране на свойства, методи и нива на достъп (public/private/protected)
- Handle класове срещу value класове: стойностна семантика срещу референтна семантика
- Конструктори, деструктори и управление на жизнения цикъл на обекти
- Наследяване, замяна на методи и абстрактни класове
- Имплементиране на интерфейси и обработка на събития в класовете на MATLAB
- Статични методи, динамични свойства и валидиране на свойства
2.4 Профилиране, качество на кода и тестване
- MATLAB профайлер: идентифициране на тесни места и оптимизиране на изчислително интензивен код
- Анализ на покритието на кода и рамка за модулно тестване MTest
- Интеграция с контрол на версиите: работен процес с Git и SVN в редактора на MATLAB
- Концепции за непрекъсната интеграция (CI/CD) с Jenkins и MATLAB CI Pipeline
- Предупреждения от статичен анализ на кода и най-добри практики
Пазарно ориентирани компетенции: Програмиране и скриптиране в MATLAB, разработване и оптимизация на алгоритми, обектно-ориентирано програмиране в MATLAB, архитектура, базирана на функции, векторизация и оптимизация на производителността, дебъгване и обработка на грешки в MATLAB, профилиране на код и настройка на производителността, модулно тестване в MATLAB (MTest), анализ на покритието на кода, контрол на версиите с Git, непрекъсната интеграция (CI/CD), професионални стандарти за качество на кода, софтуерно инженерство за технически изчисления
Модул 3: Визуализация на данни, докладване и интерактивни приложения
Обхваща основи на чертането до напреднала визуализация, създаване на интерактивни табла, разработка на графичен потребителски интерфейс с App Designer, живи скриптове за възпроизводими доклади и автоматизирано генериране на доклади за инженерна документация.
3.1 Основи и напреднало чертане
- 2D чертане: линейни графики, точкови диаграми, стълбовидни, кръгови, областни диаграми и грешкови ленти
- Чертане с множество оси: hold, subplot, tiledlayout и позициониране на оси
- 3D чертане: surf, mesh, contour, slice и обемна визуализация
- Персонализиране на графики: заглавия, етикети, легенди, анотации, стилове на линии, маркери и цветове
- Цветови карти, цветови скали и визуално точни графики
- Експортиране на фигури с висока резолюция за публикации: формати (PNG, PDF, SVG, EMF)
3.2 Интерактивна визуализация и табла
- Персонализиране на фигури с UI контроли: плъзгачи, бутони, падащи менюта и обратни извиквания
- MATLAB App Designer: изграждане на интерактивни десктоп приложения с влачене и пускане на компоненти
- Взаимодействия с графики: мащабиране, преместване, маркиране и обратни извиквания при селекция
- Уеб приложения: внедряване на визуализации от MATLAB като онлайн интерактивни табла
3.3 Живи скриптове и автоматизирано докладване
- MATLAB Live Script (.mlx): изпълними тетрадки, комбиниращи код, графики и форматиран текст
- Поддръжка на Markdown и LaTeX в живи скриптове за математически уравнения
- Персонализирани секции на живи скриптове, входни параметри и работни процеси за споделяне
- Автоматизирано генериране на доклади: експортиране на живи скриптове в PDF, HTML и Word формати
Пазарно ориентирани компетенции: Визуализация на данни и чертане, MATLAB App Designer, разработка на графичен потребителски интерфейс, дизайн на интерактивни табла, авторство на живи скриптове, генериране на технически доклади, научно представяне на данни, 3D визуализация и чертане, графична система на MATLAB, инженерна визуализация, дизайн на фигури с публикационно качество, внедряване на уеб приложения, интерактивни научни изчисления
Модул 4: Матрична алгебра, линейна оптимизация и символна математика
Цялостно покритие на линейната алгебра като математическо ядро на MATLAB, оптимизация чрез линейно програмиране и символно изчисление за аналитични решения. От съществено значение за инженерни, изследователски и научни приложения за моделиране.
4.1 Линейна алгебра и матрични операции
- Конструиране на матрици: eye, zeros, ones, rand, randn, diag и специални матрици
- Матрично разлагане: LU, QR, Cholesky, SVD и анализ на собствени стойности
- Специални функции: det, trace, rank, norm, число на обусловеност и псевдообратна матрица
- Решаване на линейни системи: ляво деление (\), mldivide и решения по метода на най-малките квадрати
- Собствени стойности, собствени вектори и приложения на матрични функции (expm, logm, sqrtm)
- Операции с разредени матрици и изчисления с ефективно използване на паметта
4.2 Основи на оптимизацията
- Линейно програмиране: linprog за оптимизация с ограничения
- Нелинейна оптимизация: fmincon, fminsearch и fzero
- Апроксимиране на криви и оценка на параметри: fit, polyfit и lsqcurvefit
- Въведение в работния процес на Optimization Toolbox
4.3 Символна математика
- Създаване на символна променлива и манипулиране на символен израз
- Аналитично диференциране и интегриране с dsolve и int
- Аритметика с променлива точност (vpa) за изчисления с висока точност
- Трансформации на Лаплас и Фурие в символен режим
- Аналитично решаване на уравнения: solve и vpasolve
Пазарно ориентирани компетенции: Линейна алгебра и матрични изчисления, матрично разлагане и анализ, оптимизация и математическо програмиране, линейно програмиране, нелинейна оптимизация, апроксимиране на криви и приближение на данни, символна математика и аналитично изчисление, трансформации на Лаплас, анализ на собствени стойности и числена стабилност, изчисления с разредени матрици, научни изчисления и числен анализ
Модул 5: Обработка на сигнали, обработка на изображения и симулация
Прилага индустриалните стандарти на MATLAB за анализ на сигнали, обработка на изображения и системна симулация. Този модул обхваща основните кутии с инструменти, които са най-търсени в телекомуникациите, аудио обработката, биомедицинското инженерство и секторите за промишлена инспекция.
5.1 Основи на обработката на сигнали
- Теория на дискретизацията: честота на дискретизация, алиасинг и критерий на Найкуист
- Генериране на основни сигнали: синус, косинус, квадратна, трионообразна и chirp сигнали
- li>Генериране на основни сигнали: синус, косинус, квадратна, трионообразна и chirp сигнали
- Анализ в честотната област: FFT, спектрограма и графики на амплитуда/фаза
- Проектиране на филтри: нискочестотен, високочестотен, лентов, режекторен FIR и IIR филтри
- Спектрален анализ, плътност на мощностния спектър и приложения за филтрация
- Намаляване на шум, изглаждане и откриване на обвивка
5.2 Обработка на изображения и видео
- Създаване, четене, запис и показване на изображения с Image Processing Toolbox на MATLAB
- Подобряване на изображения: корекция на контраста, изравняване на хистограмата и филтрация
- Сегментиране на изображения: прагово сегментиране, откриване на контури и watershed
- Геометрични трансформации и регистриране на изображения
- Морфологични операции: дилатация, ерозия, отваряне и затваряне
- Откриване на характеристики: откриване на ъгли (Harris), откриване на петна и съвпадение по шаблон
5.3 Въведение в Simulink и системно моделиране
- Среда Simulink: създаване на модели, библиотека от блокове и маршрутизиране на сигнали
- Изграждане на блокови диаграми: източници, консуматори, непрекъснати/дискретни блокове и интегратори
- Параметри на симулацията: избор на решаващ метод, размер на стъпката и продължителност на симулацията
- Подсистеми, маски и библиотечни блокове за повторно използваеми компоненти
- Анализ на модела: осцилоскопи, диагностични съобщения и model explorer
- Въведение в Simulink за системи за управление: моделиране на обект и симулация на контролер
5.4 Системи за управление и динамични системи
- Предавателни функции и блокови диаграми в Control System Toolbox
- Анализ на стъпаловидна, импулсна, честотна (Bode) и коренов локус
- Основи на проектиране и настройка на PID контролер
- Представяне в пространство на състоянията и системен анализ
Пазарно ориентирани компетенции: Цифрова обработка на сигнали (DSP), FFT анализ и филтрация, обработка на изображения и компютърно зрение, Image Processing Toolbox на MATLAB, сегментиране на изображения и откриване на характеристики, моделно-базиран дизайн със Simulink, инженерство на системи за управление, анализ на предавателни функции, проектиране на PID контролер, симулация на динамични системи, спектрален анализ, Bode диаграма и честотна характеристика, анализ на коренов локус, моделиране в пространство на състоянията, биомедицинска обработка на сигнали, обработка на аудио сигнали, промишлена инспекция и контрол на качеството
Модул 6: Машинно обучение, дълбоко обучение и интеграция с изкуствен интелект
Обхваща бързо разширяващите се възможности за AI/ML в MATLAB, от класическото надзиравано/ненадзиравано обучение до дълбоки невронни мрежи, предварително обучени модели и интеграция с Python за хибридни AI работни процеси. Адресира най-търсените технически умения в инженерството днес.
6.1 Класическо машинно обучение с MATLAB
- Класификационни алгоритми: KNN, Наивен Бейес, SVM, дървета на решения и ансамблови методи
- Регресионни алгоритми: линейна регресия, полиномна регресия и регуляризирана регресия
- Ненадзиравано обучение: клъстериране (k-means, йерархично), PCA и намаляване на размерността
- Валидиране на модели: крос-валидация, матрици на объркване, ROC криви и метрики за точност
- Избор на признаци, предварителна обработка на данни и разделяне на обучителна/валидационна/тестова извадка
6.2 Дълбоко обучение в MATLAB
- Основи на дълбокото обучение: архитектура на невронни мрежи, слоеве и работен процес на обучение
- Конволюционни невронни мрежи (CNN) за класификация на изображения, използване на предварително обучени модели (ResNet, GoogLeNet, AlexNet)
- Мрежи от последователност към последователност за обработка на времеви редове и текст
- Трансферно обучение: адаптиране на предварително обучени модели към персонализирани набори от данни
- Проектиране на дълбоки мрежи: конструиране слой по слой с layerPlot и layerGraph
- Управление на обучението: размер на мини-партида, графици за скоростта на обучение и ускорение с GPU
6.3 Интеграция с Python и хибридни AI работни процеси
- Извикване на Python от MATLAB: импортиране на Python класове, модули и библиотеки
- Използване на рамки за дълбоко обучение в Python (TensorFlow, PyTorch) в работни процеси на MATLAB
- Използване на ML библиотеки на Python (scikit-learn, pandas) за предварителна обработка на данни
- Двупосочен обмен на данни между масиви на MATLAB и ndarrays на Python
- Изграждане на хибридни AI тръбопроводи, използващи инженерните силни страни на MATLAB и Python екосистемата за AI
Пазарно ориентирани компетенции: Машинно обучение в MATLAB, надзиравано обучение, ненадзиравано обучение, дълбоко обучение и невронни мрежи, конволюционни невронни мрежи (CNN), трансферно обучение, ML за времеви редове, инженеринг на признаци, валидиране на модели и оценка на точността, оперативна съвместимост между Python и MATLAB, интеграция с Python за AI/ML, TensorFlow и PyTorch в MATLAB, предсказателна аналитика, инженерни AI решения, хибридни работни процеси за дълбоко обучение, адаптиране на предварително обучени модели, дизайн на архитектура на невронни мрежи
Модул 7: GPU изчисления, внедряване и корпоративна интеграция
Обхваща високопроизводителни изчисления с GPU ускорение, генериране на код за производствено внедряване, разпространение на приложения, симулационно-базиран дизайн и корпоративни модели на внедряване, които са от съществено значение за старши MATLAB инженери и ръководители на екипи.
7.1 GPU-ускорени и паралелни изчисления
- Проверка на наличността на GPU и създаване на GPU масиви (gpuArray)
- GPU-ускорени вградени функции: автоматично ускорени математически изчисления и дълбоко обучение
- Parallel Computing Toolbox: parfor за паралелизация на цикли
- SPMD (Single Program Multiple Data) и разпределени масиви за HPC
- Изчисления в клъстер и MATLAB Parallel Server за мащабни изчисления
7.2 Генериране на код и внедряване
- MATLAB Coder: генериране на C/C++ код от функции на MATLAB за вградени и производствени системи
- Доклади на MATLAB Coder: анализ на генерирания код, възможности за оптимизация и проверки за съвместимост
- MATLAB Compiler: пакетиране на MATLAB приложения като самостоятелни изпълними файлове и споделени библиотеки
- Оперативна съвместимост с Java и .NET за корпоративна интеграция
- MATLAB Production Server: внедряване на MATLAB код като REST уеб услуги на корпоративна инфраструктура
7.3 Разпространение и споделяне на MATLAB приложения
- Публикуване на MATLAB приложения за вътрешноорганизационно разпространение
- Споделяне на MATLAB онлайн приложения чрез MATLAB Drive
- Създаване на персонализирани инструменти с App Builder и App Designer
7.4 Simulink за моделно-базиран дизайн (MBD)
- Генериране на код от модели в Simulink (Simulink Coder / Embedded Coder)
- Тестване хардуер в контура (HIL) и модел в контура (MIL)
- Simulink за симулация на автомобилни, аерокосмически и роботизирани системи
- Stateflow: моделиране на крайни автомати за управляваща логика и системи, управлявани от събития
7.5 IoT и вградени системи
- li>Свързване на MATLAB с физически хардуер: пакети за поддръжка на Arduino, Raspberry Pi и BeagleBone
- Четене на данни от сензори в реално време: температура, акселерометър, жироскоп, ултразвуков и IMU
- Генериране на C за вградени ARM процесори и внедряване в микроконтролери
Пазарно ориентирани компетенции: GPU-ускорени изчисления, паралелни изчисления, високопроизводителни изчисления (HPC), клъстерни изчисления, MATLAB Coder за генериране на C/C++ код, MATLAB Compiler, внедряване на самостоятелни приложения, MATLAB Production Server, внедряване на REST API услуги, разработка на вградени системи, тестване хардуер в контура (HIL), системно инженерство, базирано на модели (MBSE), моделиране в Stateflow, генериране на код от Simulink, интеграция на IoT сензори, edge computing, придобиване на данни в реално време, корпоративна MATLAB интеграция, екипно и организационно внедряване на MATLAB, разработка за ARM микроконтролери
Модул 8: Домейн-специфични приложения и заключителен проект
Прилага MATLAB в индустриални области, най-подходящи за пазара на труда (инженерство, финанси, наука за данни и биомедицина), кулминирайки в практически заключителен проект, който интегрира всяко умение в завършено решение за технически изчисления.
8.1 Домейн-специфични приложения на MATLAB
- Финансово инженерство с MATLAB: оптимизация на портфейли, анализ на риска, симулация по Монте Карло и ценообразуване на опции (Black-Scholes)
- Биомедицинска обработка на сигнали: филтрация на ЕКГ/ЕЕГ сигнали, извличане на признаци и визуализация
- Инженерна симулация: моделиране на механични, електрически и топлинни системи
- Статистически анализ и тестване на хипотези за изследователска дейност и осигуряване на качеството
8.2 Заключителен проект: цялостно MATLAB решение от край до край
- Реален сценарий: приемане на сензорни или експериментални данни, почистването им и анализът им, изграждане на предсказателен модел и генериране на интерактивно табло приложение
- Имплементиране на решение, базирано на класове в MATLAB, за проблемната област
- Създаване на Simulink модел на изследваната система
- Прилагане на дълбоко обучение за разпознаване на образци в набора от данни
- Генериране на изчерпателен технически доклад от Live Script
- Документиране на работния процес и внедряване на решението в среда, близка до производствена
8.3 Професионални практики за разработка с MATLAB
- Стандарти за кодиране: ръководство за стил на MATLAB (конвенции за именуване, форматиране, коментиране)
- Изграждане и документиране на инструменти за MATLAB за многократна употреба в екип
- Управление на големи MATLAB проекти: организиране на папките, зависимости и CI/CD
Пазарно ориентирани компетенции: Предоставяне на заключително решение, финансово инженерство и количествен анализ, биомедицинска обработка на сигнали, анализ на портфейлен риск, симулация по Монте Карло, ценообразуване на опции, статистическо тестване на хипотези, разработка на MATLAB приложения, стандарти за кодиране в MATLAB, техническа документация и докладване, професионална архитектура на MATLAB, инженерна симулация и моделиране, изчислителни финанси, аналитика за осигуряване на качеството, управление на инструменти и работни потоци в MATLAB, сътрудничество и управление в екип с MATLAB, корпоративна аналитика на данни
Изисквания
Препоръчват се основни познания по програмиране
Отзиви от участници (2)
Многите примери и създаването на кода от начало до края.
Toon - Draka Comteq Fibre B.V.
Курс - Introduction to Image Processing using Matlab
Машинен превод
Много полезни упражнения, добре обяснени
Helene Meadows - European Investment Bank
Курс - MATLAB Programming
Машинен превод