Date Редакция Категория edu Теги курсы / matlab

Курс посвящен освоению MATLAB — языка и среды программирования для научных и инженерных расчетов. Основными преимуществами MATLAB, на мой взгляд, являются:

  • возможность создавать компактный программный код за счет операций над массивом в целом. Так, если A и В — матрицы размером 2х2, то сумму их можно вычислить поэлементно
for i=1:2
    for j=1:2
        C(i,j)=A(i,j)+B(i,j);
    end
end

или же сразу

С = A + B;

Оба варианта кода записаны на MATLABе. То есть, добавляя новые возможности, MATLAB не исключает и знакомых по другим языкам решений.

  • развитые графические возможности. MATLAB позволяет построить двух- или трехмерный график полиграфического качества с помощью всего одной функции. Специальный графический формат (FIG) позволяет сохранять массивы результатов расчетов вместе с графиком в едином файле. Поэтому при необходимости изменить оформление графика не требуется повторно выполнять расчеты. Прибавим к этому возможности обработки изображений и работы с видео.

Пример определения числа автомобилей на видео средствами Computer Vision System Toolbox:

cvdemo.png

  • богатейшая коллекция готовых функций — для многих пользователей является основным стимулом к освоению MATLAB: вместо того, чтобы выдумывать самому, можно поискать готовое решение в MATLAB и его многочисленных расширениях, называемых Toolbox’ами.

Например, вычислить определенный интеграл

intsin.gif

можно так

syms x
int(sin(x),0,pi)

Литература и сетевые ресурсы:

  • Начало работы с MATLAB (пер. Конюшенко В.В.) — 74 с. Наиболее сжатое руководство по основам работы в MATLAB (перевод официального руководства Getting Started with MATLAB к 5-й версии).
  • Хант Б. и др. MATLAB Р2007 с нуля. — М: Лучшие книги, 2008. — 352 с. Еще одно короткое руководство, где рассматриваются более новая версия и работа с Simulink.
  • Ануфриев И.Е. Самоучитель MATLAB 5.3/6.х. — СПб.: БХВ-Петербург, 2002. — 718 с. Отличный справочник по указанным версиям MATLAB, материала которого хватит для нашего курса.
  • Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. MATLAB 7. — СПб.: БХВ-Петербург, 2005. — 1104 с. Более новая редакция предыдущего справочника, рассчитанная на 7-ую версию MATLAB. Подробно описана разработка графического интерфейса.
  • MATLAB® Central: — блоги разработчиков, ответы на вопросы пользователей, огромная коллекция готовых скриптов. Пожалуй, главное MATLAB-место в Сети.
  • matlab.exponenta.ru — Консультационный центр MATLAB компании Sofline. Крупнейший русскоязычный ресурс, посвященный MATLABу. Здесь можно найти описание Toolbox’ов, форум, а также переведенные на русский фрагменты справки MATLAB.
  • gen.lib.rus.ec — Крупнейшая русскоязычная электронная библиотека научной литературы. Все указанные выше книги здесь есть.
  • Библиотека книг по пакету MATLAB & Simulink — ... и здесь.

План курса

Лекция 1. Знакомство с MATLAB Основные преимущества MATLAB. Интерфейс MATLAB. Оператор «:». Числовые и строковые данные. Скрипты. Требования к именам переменных. Арифметические операции и их приоритеты.

Лекция 2. Векторы, матрицы и другие массивы Задание массивов. Массивы-строки и массивы-столбцы. Обращение к элементам массива. Матричное умножение и его геометрический смысл. Многомерные массивы. Функции для создания массивов. Сообщения об ошибках.

Лекция 3. Двумерная графика Функция plot. Цвет линии, тип линии, маркеры. Графические объекты: окно, координатные оси, линии. Вывод текста в графическом окне.

Лекция 4. Управление процессом вычислений Виды вычислительных процессов. Условный оператор. Логические условия. Оператор выбора switch. Циклы for и while. Определение числа «пи».

Лекция 5. Векторизация Векторизация циклов. Логическая индексация элементов массива (черновик лекции).

Дополнительная информация:

Лекция 6. Функции Фрагменты скриптов. Функции. Передача параметров: локальные и глобальные переменные. Подфункции (субфункции). inline-функции и анонимные функции. P-код. Проверка аргументов функций.

Лекция 7. Операции ввода/вывода Ввод данных с клавиатуры и из графического окна. Сохранение/загрузка рабочей среды (save, load). Ввод/вывод данных в текстовые файлы. Обмен данными с MS Excel. Пример оцифровки графика

Лекция 8. Трехмерная графика Кривые в пространстве. Построение сетки. Построение поверхностей функциями surf и mesh. «Лёгкие» графические функции. Изображения. Захват видео.

Лекция 9. Машинная арифметика и символьные расчеты Особенности машинной арифметики. Символьный тип данных и символьные расчеты.

Лекция 10. Объекты Типы данных в MATLAB. Иерархия графических объектов. Динамическое построение графиков.

Лекция 11. Эффективное программирование Типичные ошибки. Увеличение скорости или экономия памяти? Оценка быстродействия алгоритма.

Домашние задания

  • № 1 (26.01.2012 — 09.02.2012)
  • № 2 (02.02.2012 — 16.02.2012)
  • № 3 (09.02.2012 — 23.02.2012)
  • № 4 (16.02.2012 — 01.03.2012). Совет: посмотрите черновик лекции.
  • № 5 (23.02.2012 — 15.03.2012)
  • № 6 (01.03.2012 — 15.03.2012) Скачать файл Altitude.txt
  • № 7 (08.03.2012 — 22.03.2012) Всем дамам, сдавшим это задание в срок, оценка увеличивается на 0.5 балла.
  • № 8 (15.03.2012 — 29.03.2012)

Дополнительно...



Комментарии

comments powered by Disqus