179 lines
7.9 KiB
TeX
179 lines
7.9 KiB
TeX
\documentclass{beamer}
|
||
\usepackage[russian]{babel}
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage[outputdir=cache]{minted}
|
||
|
||
\input{vars.tex}
|
||
|
||
\usetheme{Madrid}
|
||
\usecolortheme{dove}
|
||
\setbeamertemplate{blocks}[rounded][shadow=false]
|
||
|
||
\title[]{\cwtitle}
|
||
\institute[]{ФГБОУ ВО «Вятский государственный университет»}
|
||
\date{\null}
|
||
\author[ ]{Студент ПМИб-3301-52-00 \cwauthor \newline \and к.п.н. А.Н.~Соколова}
|
||
|
||
\newcommand\frametitleSpec[1]{%
|
||
\frametitle{#1}
|
||
\section{#1}%
|
||
}
|
||
|
||
|
||
% set captions with numbers
|
||
\setbeamertemplate{caption}[numbered]
|
||
|
||
\begin{document}
|
||
\begin{frame}
|
||
\centering\includegraphics[width=0.4\textwidth]{assets/vyatsu_logo.png}\\
|
||
\titlepage
|
||
\end{frame}
|
||
\begin{frame}
|
||
\frametitle{План доклада}
|
||
\tableofcontents
|
||
|
||
\end{frame}
|
||
\begin{frame}
|
||
\frametitleSpec{Введение}
|
||
Для языка Python разработаны библиотеки numpy и scipy
|
||
математической направленности.
|
||
Они включают в себя множество алгоритмов решения разнообразных задач, в том числе для интегрирования функций, осуществления операций над массивами и
|
||
матрицами.
|
||
\begin{enumerate}
|
||
\item Проблема состоит в том, что на данный момент особенности
|
||
библиотек, полнота их возможностей с точки зрения решения
|
||
задач численными методами недостаточно исследованы.
|
||
\item \textbf{Целью} данной работы является исследование
|
||
вышеприведенных характеристик данных библиотек.
|
||
\item Для достижения цели курсового проекта необходимо выполнить
|
||
следующие \textbf{задачи}:
|
||
\begin{itemize}
|
||
\item Изучить распространенные численные методы решения
|
||
основных классов задач.
|
||
\item Изучить документацию библиотек numpy и scipy на
|
||
предмет реализации рассмотренных методов.
|
||
\item Экспериментально исследовать возможности
|
||
реализаций рассмотренных численных методов данных
|
||
библиотек.
|
||
\end{itemize}
|
||
\end{enumerate}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitleSpec{Рассмотренные численные методы}
|
||
|
||
Всего было рассмотрено 20 численных методов, каждый из которых
|
||
решает свой класс задач:
|
||
\begin{enumerate}
|
||
\item Решение нелинейных уравнений
|
||
\begin{itemize}
|
||
\item Метод деления отрезка пополам
|
||
\item Метод касательных (Ньютона)
|
||
\item Метод простой итерации
|
||
\end{itemize}
|
||
\item Решение СЛУ:
|
||
\begin{itemize}
|
||
\item Метод Гаусса
|
||
\item Метод обратной матрицы
|
||
\item Метод прогонки
|
||
\item Метод простой итерации
|
||
\item Метод Зейделя
|
||
\end{itemize}
|
||
\item Решение систем нелинейных уравнений, с помощью метода Ньютона, и модифицированных версий методов Зейделя и простой итерации.
|
||
\end{enumerate}
|
||
|
||
\end{frame}
|
||
\begin{frame}
|
||
\begin{enumerate}
|
||
\item Аппроксимация функций
|
||
\begin{itemize}
|
||
\item Интерполяционные полиномы Лагранжа, Ньютона
|
||
\item Сплайн-интерполяция
|
||
\item Сглаживание. Метод наименьших квадратов
|
||
\end{itemize}
|
||
\item Численное интегрирование
|
||
\begin{itemize}
|
||
\item Метод трапеций
|
||
\item Метод парабол
|
||
\end{itemize}
|
||
\item Решение задачи Коши ОДУ
|
||
\begin{itemize}
|
||
\item Метод Эйлера, и его модифицированная версия
|
||
\item Метод Рунге-Кутта
|
||
\end{itemize}
|
||
\end{enumerate}
|
||
|
||
\end{frame}
|
||
\begin{frame}
|
||
\frametitleSpec{Экспериментальное исследование библиотек}
|
||
Была разработана программа на языке Python, использующая
|
||
возможности scipy и numpy для решения задач.
|
||
\begin{figure}[h]
|
||
\centering
|
||
\includegraphics[width=0.25\textwidth]{assets/python-logo.png}
|
||
\end{figure}
|
||
|
||
В программе были приведены примеры решения СЛУ, нелинейных уравнений
|
||
и задач аппроксимации функций с помощью описанных в данной работе
|
||
методов. Программа не интерактивная.
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitleSpec{Результаты работы программы}
|
||
\begin{figure}
|
||
\includegraphics[width=0.5\textwidth]{assets/bisect}
|
||
\end{figure}
|
||
\begin{figure}
|
||
\includegraphics[width=0.65\textwidth]{assets/Gauss}
|
||
\end{figure}
|
||
|
||
\end{frame}
|
||
\begin{frame}
|
||
\begin{figure}
|
||
\includegraphics[width=1\textwidth]{assets/Thomas.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
\begin{frame}
|
||
\begin{figure}
|
||
\includegraphics[width=1\textwidth]{assets/lagrange.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
\begin{frame}
|
||
\begin{figure}
|
||
\includegraphics[width=1\textwidth]{assets/CubicSpline}
|
||
\end{figure}
|
||
\end{frame}
|
||
\begin{frame}
|
||
\begin{figure}
|
||
\includegraphics[width=1\textwidth]{assets/Akima1DInterpolator.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
\begin{frame}
|
||
\begin{figure}
|
||
\includegraphics[width=1\textwidth]{assets/curve_fit.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
\begin{frame}
|
||
\frametitleSpec{Заключение}
|
||
В ходе выполнения работы были выполнены поставленные задачи, цель
|
||
достигнута. В ходе исследования возможностей библиотек выяснилось,
|
||
что они не содержат реализаций численных методов для
|
||
решения систем нелинейных уравнений.
|
||
|
||
В целом, в ходе работы с библиотеками стоит отметить положительные
|
||
стороны: гибкость интерфейсов, высокое качество решений, большое
|
||
количество доступной информации о результатах работы алгоритма.
|
||
|
||
Из недостатков интерфейса библиотек можно отметить его
|
||
неоднородность --- некоторые численные методы реализованы с помощью
|
||
классов, другие с помощью функций, что может незначительно
|
||
увеличить время на освоение интерфейса библиотек и ее возможностей
|
||
пользователями.
|
||
\end{frame}
|
||
\begin{frame}
|
||
\begin{center}
|
||
{\huge Спасибо за внимание!}
|
||
\end{center}
|
||
\end{frame}
|
||
\end{document}
|