
- •Введение.
- •Унифицированный интерактивный язык и среда программирования
- •Упрощение кода за счет векторизации
- •Интуитивный язык
- •Инструменты проектирования
- •Глава 1. Основы работы с системой Matlab.
- •Глава 2. Задачи восстановления сигналов
- •2.1. Обратные некорректные задачи
- •2.2. Некорректность задачи восстановления сигналов
- •2.3. Методы решения задачи восстановления сигналов
- •2.4. Метод регуляризации а.Н.Тихонова
- •Глава 3. Обработка экспериментальных данных методом опорных векторов с составным шагом.
- •Глава 4. Интерполяция и аппроксимация данных.
- •Глава 5. Определение параметров составляющих сложного сигнала.
- •Литература
- •Содержание
_______________________________________________________________
УДК 336.67
Печатается по решению Редакционно-издательского
Редакционно-издательского Совета факультета ВМК Казанского государственного университета
Протокол №1 от 5 февраля 2010 г.
Научный редактор
Доктор физ.-мат. наук, проф. И.Б.Бадриев
Авторы:
Доктор физ.-мат.наук В.Р.Фазылов
Кандидат физ.-мат. наук О.Н.Шульгина,
Кандидат физ.-мат. наук Н.К.Щербакова.
Рецензенты:
Кандидат физ.-мат. наук, доц. КГУ М.Н.Николаев,
Кандидат физ.-мат. наук, доц. ТГГПУА.А.Попов.
К настоящему времени издано и продолжает издаваться большое число учебников и учебных пособий, знакомящих с системой MATLAB. Однако большинства из них ограничивается описание возможностей системы и знакомству с основными принципами программирования в MATLABе. Целью настоящего учебного пособия явилось демонстрация возможностей MATLAB как инструмента, облегчающего разработку и анализ возможностей алгоритмов на примере алгоритмов решения некорректных задач.
Первая глава посвящена описанию основных принципов работы с MATLAB. Во Вторая глава посвящена методам решения некорректных задач. Алгоритм обработки экспериментальных данных методом опорных векторов с составным шагом описан в третьей главе. Там же показана его реализация средствами MATLAB. Четвертая глава посвящена методам интерполяции и аппроксимации данных. В пятой главе представлен алгоритм выделения элементарных составляющих из сложного сигнала.
Настоящее учебное пособие может быть полезно для студентов, обучающихся по специальностям “Математические методы в экономике” и “Прикладная математика”.
© Казанский государственный
университет, 2010
© Фазылов В.Р.,2010
Введение.
МATLAB [1,2] выполняет множество задач для поддержки научных и инженерных работ, начиная от сбора и анализа данных до разработки приложений. Среда MATLAB объединяет математические вычисления, визуализацию и мощный технический язык. Встроенные интерфейсы позволяют получить быстрый доступ и извлекать данные из внешних устройств, файлов, внешних баз данных и программ.
MATLAB содержит много функций для осуществления математических вычислений и анализа данных, включая:
Линейную алгебру и арифметику матриц, линейные уравнения, собственные значения, сингулярные значения и матричные разложения
Полиномы и интерполяцию – стандартные полиномиальные операции, такие как вычисление корней полиномов, дифференцирование, аппроксимация кривыми и разложение функций
Обработка сигналов – цифровые фильтры, быстрое преобразование Фурье и свертка
Анализ данных и статистика – описательная статистика, предварительная обработка данных, регрессия, аппроксимация кривыми, фильтрация данных
MATLAB-функции, работающие не с массивами данных, а с математическими функциями, включая функции построения графиков, оптимизации, нахождения нулей и численного интегрирования
Дифференциальные уравнения – решение дифференциальных уравнений, включая задачи с начальными значениями для обыкновенных дифференциальных уравнений и дифференциально-алгебраические уравнения, а также задачи с граничными условиями и смешанного типа для систем эллиптических и параболических уравнений с частными производными.
Унифицированный интерактивный язык и среда программирования
Язык MATLAB разработан для интерактивных и автоматических вычислений. С оптимизированными матричными функциями можно осуществить интерактивный анализ, в то же время языковые возможности структурирования программ позволят эффективно разрабатывать пользовательские алгоритмы и приложения. Универсальный язык позволяет решать множество задач, включая сбор данных, анализ, разработку алгоритмов, имитацию систем и разработку приложений. Возможности языка включают структуры данных, объектно-ориентированное программирование, инструменты разработки графического пользовательского интерфейса, функции отладки и возможность подключать C, C++, Fortran и Java процедуры.
Упрощение кода за счет векторизации
Многие математические функции MATLAB оперируют непосредственно с векторами и матрицами. В результате задачи, которые могли бы включать десятки строк и требовали интенсивных вычислений с циклами на языке С, требуют вызова только одной функции в MATLAB. Более короткие программы требуют меньше времени на их выполнение и легче настраиваются.
Интуитивный язык
Тот же самый язык используется в MATLAB при интерактивных вычислениях и при разработке программ в редакторе-отладчике.
Инструменты проектирования
MATLAB включает множество инструментов для поддержки разработки аналитических процедур, алгоритмов и законченных приложений. Эти инструменты включают:
Командное окно для интерактивных вычислений и проектирования
Окно Command History для записи всех команд в течение интерактивной MATLAB сессии
Инструмент Current Directory для нахождения и навигации по файлам и директориям
Редактор-отладчик M-файлов позволяет
разрабатывать и отлаживать M-файлы (функций и сценариев)
выделять различными цветами резервные слова и комментарии, проверяет скобки и позволяет пошаговое выполнение кода
нумеровать строки
устанавливать контрольные точки, останавливаться на ошибке или на предупреждении
вычислять переменные по месту нахождения
получать контекстно-чувствительную справка по функциям
Программа протоколирования производительности M-файлов
вычисляет время, затрачиваемое в каждой строке функции
выводит отчет (или график) распределения времени .
MATLAB содержит инструменты для:
Сбора данных
Анализа и обработки данных
Визуализации и цифровой обработки сигналов и изображений
Создания алгоритмов и проектирования
Моделирования и имитации
Программирования и разработки приложений
В настоящей работе на примере задач обработки экспериментальных данных показан весь цикл разработки алгоритмов при помощи MATLAB, начиная от написания и отладки программы и заканчивая анализом границ применимости алгоритма.