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

Технические курсы Dystlab Education — это индивидуальное обучение по Skype. Подробности вы узнаете, сходив по ссылке. Я лишь выделю несколько интересных моментов.

  • Персонализация обучения. Предлагаемая программа курса в Dystlab — это лишь примерный шаблон. Реальное содержание занятий вы обсудите сами, вместе с вашим предполагаемым наставником. Делается это бесплатно. В результате получится курс, ориентированный на решение именно ваших задач.
  • Преподаватели-практики. Преподают на курсах люди, имеющие опыт реального проектирования (сам себя не похвалишь...). Люди эти понимают, что действительно важно в работе, а чем в первом приближении можно пренебречь. Поэтому и разговор у вас пойдёт не об абстрактной теории, а проблемах возникающих в ходе решения реальных задач. И о том, как эти проблемы преодолеть, естественно.
  • Гибкое расписание. Занятия проводятся в удобное для вас время, без отрыва от основной работы или учебы. Есть возможность поставить учебный процесс "на паузу".
  • Это недорого. Как говорится, but not least!

Начальный курс компьютерного моделирования

Компьютерное моделирование — это умение разрабатывать, исследовать и использовать компьютерные модели реальных систем. Чтобы создать такую модель, нужны знания по математике, вычислительным методам, программированию и той предметной области, к которой относится задача (например, механики). Все эти дисциплины преподаются в ВУЗах, но, как правило, без связи друг с другом. Мы же попробуем интегрировать их между собой, чтобы показать на простых примерах, с какими проблемами может столкнуться исследователь и как эти проблемы преодолеть.

Для студентов и начинающих специалистов в области математического и компьютерного моделирования.

Текущее изложение курса опирается на Matlab как на один из самых популярных языков для научных и технических расчетов. Однако все примеры будут работать и на GNU Octave — ближайшем свободном и кроссплатформенном аналоге Matlab-а. При необходимости, изложение может ориентироваться на Scilab или на Python (с пакетами NumPy и matplotlib).

1. Знакомство

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

2. Векторы, матрицы и другие массивы

Задание массивов. Матрицы-строки и матрицы-столбцы. Обращение к элементам массива. Многомерные массивы. Функции для создания массивов. Сообщения об ошибках при работе с массивами.

3. Графика

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

4. Управление процессом вычислений

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

5. Векторизация

Векторизация циклов. Логическая индексация элементов массива. Возвращаемся к определению числа «пи».

6. Функции

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

7. Погрешности

Погрешности расчетов: их виды и источники. Особенности компьютерного представления вещественных чисел и к чему они могут привести.

8. Задача об остывании чашки кофе

Элементы численного исследования дифференциальных уравнений. Метод Эйлера. Когда точности не хватает: модификации метода Эйлера. Сохранение результатов в текстовых файлах. Сохранение/загрузка рабочей среды (save, load).

9. Символьные расчеты

Символьный тип данных и символьные преобразования. Особенности символьных расчетов. Преобразования из символьного типа данных в числовые и обратно. Аналитическое решение задачи об остывании чашки кофе.

10. Использование экспериментальных данных

Ввод данных с клавиатуры, из графического окна и текстовых файлов. Идентификация параметров модели на примере задачи об остывании кофе.

11. Различные подходы к моделированию

Моделирование диффузии. Построение кривых и поверхностей (surf, mesh.) в пространстве. Конечные разности. Клеточные автоматы. Метод Монте-Карло.

12. Эффективное программирование

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

Литература

  • Хант Б. и др. MATLAB R2007 с нуля. — М: Лучшие книги, 2008. — 352 с.
  • Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. MATLAB 7. — СПб.: БХВ-Петербург, 2005. — 1104 с.
  • Поршнев С.В. Компьютерное моделирование физических процессов в пакете MATLAB. — М.: Горячая линия-Телеком, 2003. — 592 с.
  • Гулд Х., Тобочник Я. Компьютерное моделирование в физике. Часть 1. — М.: Мир, 1990 — 350 с.
  • Мышкис А.Д. Элементы теории математических моделей. Изд-е 3-е. — М.: КомКнига, 2007. — 192 с.
  • Берд Д. Инженерная математика. — М.: Додэка-XXI, 2008. — 544 с. (краткий справочник по высшей математике)

Страница курса на проекте Dystlab >>

Введение в научные вычисления

Научные вычисления (Scientific Computing) — это современное развитие курса «Вычислительные методы», ориентированное на использование компьютеров в научных и технических расчетах. Мы постарались избавиться от большинства громоздких математических выкладок, отдав приоритет пониманию принципов работы метода для его скорейшего применения на практике (однако при желании всю пропущенную математику можно прочитать в книгах, и мы подскажем где именно).

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

Текущее изложение курса опирается на Matlab как на один из самых популярных языков для научных и технических расчетов. Однако все примеры будут работать и на GNU Octave — ближайшем свободном и кроссплатформенном аналоге Matlab-а.

1. Погрешности расчетов. Компьютерное представление вещественных чисел

Погрешности расчетов: их виды и источники. Особенности компьютерного представления вещественных чисел и к чему они могут привести.

2. Решение уравнений для случая одной переменной

Отделение корней. Графический метод. Уточнение значения корня. Метод половинного деления (бисекции). Метод Ньютона. Метод простой итерации. Функции в MATLAB. Применение метода Монте-Карло.

3. Векторы и матрицы

Введение в теорию векторов и матриц. Вектор и его координатное представление. Матрица преобразования координат. Виды преобразований координат. Умножение матриц и его графическое представление.

4. Решение систем линейных уравнений.

Графическая интерпретация решений. Метод Гаусса. Итерационный метод Якоби. Функции в MATLAB.

5. Интерполяция

Интерполяция и приближение полиномами. Линейная интерполяция. Интерполяционный многочлен Лагранжа. Сплайн-интерполяция. Функции в MATLAB.

6. Аппроксимация

Подбор эмпирических формул. Метод наименьших квадратов. Функции в MATLAB.

7. Вычисление интегралов

Приближенное вычисление интегралов с помощью рядов Тейлора. Методы прямоугольников, трапеций и Симпсона. Метод Монте-Карло (вычисление интегралов, решение уравнений, аппроксимация функций полиномами).

8. Численная оптимизация: одномерный случай

Основные определения (оптимизация, задача оптимизации, целевая функция, проектные параметры). Метод вычисления экстремумов дифференцируемых функций. Приближенные методы (перебор, деление пополам, «золотое сечение»). Связь с вычислением корней (метод Ньютона). Функции в MATLAB (max, min, fminbnd).

9. Численная оптимизация: многомерный случай

Поиск локальных и глобальных минимумов. Классификация локальных методов поиска. Метод Ньютона. Метод покоординатного спуска. Градиентные методы. Симплексный метод Нелдера-Мида. Функции в MATLAB.

Глобальный поиск. Улучшение перебора. Мультистарт. Методы случайного поиска. Штрафные функции.

10. Введение в численное решение обыкновенных дифференциальных уравнений (ОДУ)

Краткая теория: поле направлений; начальные условия; задача Коши. Понятие о численном интегрировании (решении) ОДУ. Аппроксимация ОДУ разностной схемой. Устойчивость и сходимость разностной схемы.

11. Численное решение задачи Коши-1

Метод Эйлера и его модификации. Методы Рунге-Кутты. Системы ОДУ. Функции MATLAB, реализующие численное решение ОДУ.

12. Численное решение задачи Коши-2

Многошаговые методы. «Жесткие» системы уравнений и их решение. Функции MATLAB.

Литература

  • Турчак Л.И., Плотников П.В. Основы численных методов. — М.: Физматлит, 2003. — 304 с.
  • Амосов А.А. и др. Вычислительные методы для инженеров. — М.: Высшая школа, 1994. — 544 с.
  • Kiusalaas J. Numerical Methods in Engineering with MATLAB — Cambridge University Press (любое издание).
  • Вержбицкий В.М. Основы численных методов. — М.: Высшая школа, 2002. — 840 с.
  • Зализняк В. Е. Основы научных вычислений. Введение в численные методы для физиков — М.: Едиториал УРСС, 2002. — 296 с.
  • Поршнев С.В. Компьютерное моделирование физических процессов в пакете MATLAB. — М.: Горячая линия-Телеком, 2003. — 592 с.
  • Гулд Х., Тобочник Я. Компьютерное моделирование в физике. В 2-х частях. — М.: Мир, 1990.
  • Берд Д. Инженерная математика. — М.: Додэка-XXI, 2008. — 544 с. (краткий справочник по высшей математике).

Страница курса на проекте Dystlab >>

Основы компьютерной верстки в TeX

TeX — это свободная система компьютерной верстки научных текстов. В отличие от обыкновенных текстовых процессоров, где каждый элемент страницы нужно размещать, что называется «ручками», в TeX-е пользователь лишь набирает текст и его структуру, задает шаблон оформления, после чего TeX самостоятельно форматирует документ, заменяя при этом дизайнера и верстальщика.

В TeX входят средства для работы с логической структурой текста, перекрестными ссылками, математическими формулами, рисунками и таблицами. Он автоматически строит список литературы в заданном стиле, позволяет добавить в документ звуки и видео, исходный код программы с подсветкой синтаксиса... Более 3000 пакетов расширений TeX-а дают возможность решить почти любую задачу из области оформления текста.

Документы, набранные с помощью разных дистрибутивов TeX-а и более того — в разных операционных системах, — все равно выглядят одинаково. Вы можете подготовить документ в Linux и отправить его другу, работающему в Windows, не беспокоясь о том, что у него в документе что-то испортится или не заработает.

С помощью TeX-а подготавливаются все виды публикаций, необходимых студентам и ученым: статьи, отчеты, постеры, презентации, дипломы, экзаменационные билеты и многое другое.

Этот курс поможет вам в кратчайшие сроки овладеть основами TeX-а.

1. Знакомство с TeX и компанией

Что такое TeX и какие бывают TeX-и. Краткий обзор возможностей LaTeX. Почему TeX не WYSIWYG. Установка дистрибутива TeX (MiKTeX, TeX Live). Установка среды для работы с TeX (Texmaker). Онлайновые компиляторы и редакторы TeX. Простейший документ LaTeX. Трансляция документа.

2. Классы документов. Параметры страницы.

Преамбула и тело документа. Команды TeX. Класс документа и его выбор. Подключение пакетов расширений. Использование русского языка (T2A, babel). Параметры страницы (geometry). Мастер создания документа.

3. Текст и гипертекст

Заголовки разделов и их нумерация. Окружения. Выравнивание текста. Шрифты. Виды списков. Настройка параметров списка (enumitem). Ссылки и гиперссылки (hyperref). Двойная трансляция. «Мусорные» файлы.

4. Математика

Формулы в строке и отдельно. Нумерация и ссылки на формулы. Пакеты AMS. Греческие буквы и математические символы. Системы уравнений.

5. Вставка рисунков

Форматы и расположение рисунков (graphicx). Плавающие объекты (figure). Несколько файлов одновременно. Фиксируем расположение (caption). Повороты и масштабирование (scalebox, resizebox). Графики из gnuplot, векторные рисунки из Inkscape.

6. Таблицы

Окружение tabular. Мастер по созданию таблиц. Элегантные таблицы в booktabs. Из Word-а в TeX.

7. Библиография

Автоматизация создания списка литературы. Ведение библиографической базы данных в Mendeley. Пакет biber. Стили оформления списков литературы.

8. Создание рисунков

Создание рисунков в Tikz (tikz). Вставка изображения в картинку tikz. Графики в gnuplot и pgfplots.

9. Большие документы и новые задачи

Работа с большими документами: input и include. Оформление исходного кода (minted). Подготовка электронной книги. XeTeX — работа с любыми шрифтами.

10. Математика возвращается

Отечественные традиции записи формул. Создание команды для записи математической функции. Запись векторов полужирным шрифтом Нумерация формул со ссылками (autonum).

11. Презентации в Beamer: основы

Титульный и другие слайды. Блоки. Стили презентации. Цветовые схемы. Сетка.

12. Презентации в Beamer: анимация, видео и продвинутые настройки

Анимация по нажатию клавиш. Вставка видео. Исходный код в презентациях. Настройка блоков.

Литература

  • Морозов Д. К., Пархоменко А. Я. Подготовка документов в издательской системе Латех — Ярославль : ЯрГУ им. П.Г. Демидова, 2011. — 96 с.
  • Столяров А. В. Сверстай диплом красиво: LaTeX за три дня. — М.: МАКС Пресс, 2010. — 100 с.
  • Беляков Н. С., Палош В. Е., Садовский П. А. TeX для всех. Оформление учебных и научных работ в системе LaTeX. — М.: ЛИБРОКОМ, 2009. — 208 с.
  • Kottwitz S. LaTeX Beginners Guide. — Packt Publishing, 2011. — 314 p.
  • Котельников И. А., Чеботаев П. З. LaTeX по-русски. — 3-е издание, перераб. и доп. — Новосибирск: Сибирский хронограф, 2004. — 496 с.
  • Воронцов К. В. LaTeX2e в примерах. Особенности профессиональной полиграфии, 16.12.2005.
  • Жидков А. А. Интерактивные презентации в системе LaTeX. — Нижний Новгород: Изд-во Нижегородского госуниверситета, 2010. — 41 с.
  • Драгунов Т. Н., Королев С. А., Морозов А. Д. Презентации в LaTeX. — М.—Ижевск: НИЦ «Регулярная и хаотическая динамика», 2009. — 94 с.

Страница курса на проекте Dystlab >>

Сбор данных в Интернет

За последнее десятилетие Интернет превратился в крупнейшее мировое хранилище данных. Добыча данных в сети часто является первым этапом работ над проектами в области машинного обучения (Machine Learning) и интеллектуального анализа данных (Data Mining). Извлечение данных из веб-страниц (Web-scraping) позволяет отслеживать предложения конкурентов, выявлять целевую аудиторию проекта и решать другие задачи бизнес-анализа.

Все больше социологических и маркетинговых исследований опираются на собранные в социальных сетях данные — Social Media Mining. Появилось даже новое направление в журналистике — Data-Driven Journalism — журналистика, использующая открытые хранилища данных.

По окончании этого курса вы научитесь извлекать интересующие вас данные из веб-страниц и социальных сетей.

Изложение опирается на один из наиболее популярных инструментов в области анализа данных — пакет R и его расширение rvest.

Требуется знакомство с каким-либо языком программирования и минимальные знания HTML.

1. R: начало

Установка. Среда RStudio. Имена переменных. Присваивание. Векторы и операции с ними. Последовательности. Работа в среде (рабочее пространство, история команд, setwd, getwd). Справка (?, виньетки, rdocumentation.org) и ссылки (r-bloggers.com).

2. R: векторизация, управление вычислениями и рисование

Логические операции и логическая индексация. Векторизация вычислений. Матрицы и массивы. Циклы и условные операторы. Простейшее рисование (plot). Параметры графика (par). Функции, созданные пользователем.

3. R: списки и таблицы

Списки. Создание списков. Изучение содержимого (class, str). Доступ к элементам. Групповые операции (lapply, sapply). Списки как основа для таблиц. Таблицы. Создание. Объединение таблиц. Имена строк и столбцов. Выбор элементов. Наборы данных, поставляемые с R.

4. R: строки, ввод и вывод

Строки: поиск и замена подстроки, конкатенация (paste, paste0) и разделение. Приведение типов данных. Чтение строк из текстовых файлов — локальных и расположенных удаленно (readLines). Чтение таблиц (read.table) и файлов специального вида (csv). Запись таблиц данных (write.table). Запись данных в текстовый файл (write). Запись и сохранения состояния произвольного объекта (save, load).

5. Сбор данных в Интернет: введение

Примеры задачи сбора данных. Какие навыки нужно иметь для ее решения. Структура данных. Язык поисковых запросов Google и Яндекс. HTTP-запрос. При необходимости: введение в HTML и CSS (элементы HTML, div и span).

6. Координаты информации на странице

Координаты информации на странице: XPath и СSS-селекторы. Абсолютный и относительный пути. Класс и идентификатор элемента. Поиск XPath и СSS-селекторов в браузере (Webkit-ы или Firefox+Firebug+Firepath).

7. Сбор данных в помощью rvest

Установка и загрузка пакетов R. Пакет rvest. Использование найденных в браузере XPath и CSS-путей. Основные функции. Обработка связанных страниц. Аутентификация и отправка форм в rvest.

8. Примеры сбора данных

Рейтинг фантастики по данным Rutracker. Популярность языков программирования (Superjob.ru). Координаты лондонских музеев. Рейтинг пользователей ЖЖ (Alexa).

9. Использование регулярных выражений

Регулярные выражения (base).

10. Программное управление браузером

Проблема: динамическое построение страницы. Управление браузером с помощью RSelenium. Браузер без «головы» (headless).

11. Получение данных через API

Twitter: элементы твита и какие данные из него можно извлечь. Авторизация с помощью OAuth. Создание Twitter-приложения (app). Стемминг. Частотный анализ текста (tm). Облако слов.

12. Отображение данных на карте

Пакет leaflet. Геокодирование (ggmap). Создание простейшей поисковой системы.

Литература

  • Зарядов И. С. Введение в статистический пакет R: типы переменных, структуры данных, чтение и запись информации, графика. — М.: Изд-во РУДН, 2010. — 207 с.
  • Зарядов И. С. Статистический пакет R: теория вероятностей и математическая статистика. — М.: Изд-во РУДН, 2010. — 141 с.
  • Кабаков Р. И. R в действии. Анализ и визуализация данных в программе R. — М.: ДМК Пресс, 2014. — 588 с.
  • Munzert S. et al. Automated Data Collection with R. — Wiley, 2015.
  • Danneman N., Heimann R. Social Media Mining with R. — Packt Publishing, 2014.
  • Ravindran S. K., Garg V. Mastering Social Media Mining with R. — Packt Publishing, 2015.
  • Nolan D., Lang D. T. XML and Web Technologies for Data Sciences with R. — Springer, 2014.

Страница курса на проекте Dystlab >>



Комментарии

comments powered by Disqus