Языки программирования

Учебник MATLAB для начинающих

26 уроков · 8 разделов · бесплатно, без регистрации

MATLAB — стандарт инженерных и научных вычислений в вузах и индустрии. Этот курс учит главному навыку: думать матрицами и писать векторизованный код вместо циклов. Вы освоите интерфейс, создание и индексацию матриц, матричные операции, построение 2D/3D-графиков, линейную алгебру, численные методы (интегрирование, ОДУ, аппроксимацию), обзор Simulink и тулбоксов, а также увидите, чем MATLAB отличается от Python/NumPy и Julia. Аудитория — студенты технических специальностей.

Курс «MATLAB: инженерные и научные вычисления» состоит из 8 разделов и 26 уроков: Что такое MATLAB и зачем он нужен, Создание и индексация матриц, Матричные операции, Векторизация, функции и управление потоком, Функции и структуры данных, Построение графиков и работа с данными, Линейная алгебра и численные методы и Экосистема: символика, Simulink, отладка и сравнение. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Что такое MATLAB и зачем он нужен

    1. MATLAB как матричная лаборатория

      Что такое MATLAB, откуда название, где он стандарт и почему вокруг матриц построен весь язык.

    2. Интерфейс: Command Window, рабочая область, редактор

      Окна MATLAB: командная строка, Workspace, редактор и скрипты .m — как устроена среда и где что лежит.

    3. Всё — матрица: фундамент модели данных

      Ключевая идея MATLAB: скаляр — это матрица 1×1, вектор — n×1 или 1×n, размерности через size и length.

  2. 2 Создание и индексация матриц

    1. Создание матриц: литералы и генераторы

      Как задать матрицу вручную и автоматически: литералы, zeros, ones, eye, rand и конкатенация блоков.

    2. Диапазоны: двоеточие и linspace

      Оператор-диапазон start:step:stop и функция linspace — как быстро создавать упорядоченные векторы.

    3. Индексация: с единицы, end и срезы

      Индексация в MATLAB начинается с 1: доступ к элементам, ключевое слово end, срезы A(:,2) и подматрицы.

    4. Логическая индексация

      Логическая индексация в MATLAB: выбор элементов по условию через маски, find и присваивание по условию.

  3. 3 Матричные операции

    1. Матричное умножение * и поэлементное .*

      Главное различие MATLAB: * — матричное умножение по правилу строка на столбец, .* — поэлементное.

    2. Транспонирование и обратная матрица

      Транспонирование апострофом, разница ' и .', обратная матрица inv и почему её редко считают напрямую.

    3. Решение СЛАУ оператором A\b

      Оператор обратного деления A\b — флагманская возможность MATLAB для решения систем линейных уравнений.

  4. 4 Векторизация, функции и управление потоком

    1. Векторизация: думать матрицами вместо циклов

      Главный навык MATLAB: заменять циклы операциями над целыми массивами — почему это быстрее и чище.

    2. Встроенные функции: sum, mean, max по столбцам

      Агрегирующие функции MATLAB sum, mean, max, min, sort работают по столбцам — и как управлять измерением.

    3. Управление потоком: if, for, while

      Условия и циклы в MATLAB: синтаксис if/elseif/else, for, while — и когда они всё же нужны.

  5. 5 Функции и структуры данных

    1. Функции: файлы-функции и анонимные @

      Функции в MATLAB: объявление function, несколько выходов, анонимные функции через @ и их применение.

    2. Строки: char, string и форматный вывод

      Текст в MATLAB: символьные массивы char, современный тип string, конкатенация и форматирование sprintf.

    3. Ячейки cell и структуры struct

      Гетерогенные данные в MATLAB: cell-массивы для разнородных значений и struct с именованными полями.

  6. 6 Построение графиков и работа с данными

    1. Построение 2D-графиков: plot

      Главная сила MATLAB — графики: команда plot, оси, заголовки, легенда, несколько кривых и hold on.

    2. subplot, 3D-графики и оформление

      Несколько графиков в одном окне через subplot, трёхмерные surf и mesh, оформление и сохранение фигур.

    3. Импорт данных: CSV, Excel и таблицы table

      Загрузка данных в MATLAB: readtable для CSV и Excel, тип table с именованными столбцами и его обработка.

  7. 7 Линейная алгебра и численные методы

    1. Линейная алгебра: собственные значения и разложения

      Линейная алгебра в MATLAB: определитель, ранг, собственные значения eig, разложения LU, QR и SVD.

    2. Численное интегрирование и решение ОДУ

      Численные методы MATLAB: интеграл функции через integral и решение обыкновенных дифференциальных уравнений ode45.

    3. Аппроксимация: polyfit, интерполяция, оптимизация

      Подгонка данных в MATLAB: полиномы polyfit/polyval, интерполяция interp1 и поиск минимума функции.

  8. 8 Экосистема: символика, Simulink, отладка и сравнение

    1. Символьные вычисления: Symbolic Toolbox

      Обзор Symbolic Math Toolbox: символьные переменные syms, упрощение, производные diff и интегралы int.

    2. Simulink и тулбоксы: экосистема MATLAB

      Обзор экосистемы: Simulink для блочного моделирования и тулбоксы для сигналов, изображений, ML и управления.

    3. Отладка, профилирование и хороший стиль

      Поиск ошибок и ускорение кода в MATLAB: точки останова, dbstop, профайлер profile и приёмы чистого кода.

    4. MATLAB против Python/NumPy и Julia: выбор и миграция

      Сравнение MATLAB с Python/NumPy и Julia: синтаксис матриц, лицензия, экосистема, когда что выбирать и Octave.