Compare commits
16 Commits
e281da035d
...
eaefd97207
Author | SHA1 | Date | |
---|---|---|---|
|
eaefd97207 | ||
|
00c4150eba | ||
|
ef528d67d8 | ||
|
a34f5fcb46 | ||
|
c942ad80ab | ||
|
dcbdd6fb2e | ||
|
eee0efbbd8 | ||
|
0c10d10c70 | ||
|
6e07baaa90 | ||
|
625a5ba66a | ||
|
499d5813f0 | ||
|
c1c4dc859d | ||
|
c80fa26772 | ||
|
f0e8547d32 | ||
|
91ede3f03f | ||
|
e28130caef |
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
cache
|
||||
literature
|
||||
.vscode
|
113
6SST_NM.code-workspace
Normal file
113
6SST_NM.code-workspace
Normal file
@ -0,0 +1,113 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"latex-workshop.latex.outDir": "%DIR%/cache",
|
||||
"latex-workshop.latex.recipes": [
|
||||
{
|
||||
"name": "pdflatex",
|
||||
"tools": [
|
||||
"pdflatex"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "latexmk",
|
||||
"tools": [
|
||||
"latexmk"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "latexmk (latexmkrc)",
|
||||
"tools": [
|
||||
"latexmk_rconly"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pdflatex -> bibtex -> pdflatex * 2",
|
||||
"tools": [
|
||||
"pdflatex",
|
||||
"bibtex",
|
||||
"pdflatex",
|
||||
"pdflatex"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "tectonic",
|
||||
"tools": [
|
||||
"tectonic"
|
||||
]
|
||||
}
|
||||
],
|
||||
"latex-workshop.latex.tools": [
|
||||
{
|
||||
"name": "latexmk",
|
||||
"command": "latexmk",
|
||||
"args": [
|
||||
"-synctex=1",
|
||||
"-interaction=nonstopmode",
|
||||
"-file-line-error",
|
||||
"-pdf",
|
||||
"-outdir=%OUTDIR%",
|
||||
"%DOC%"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"name": "xelatexmk",
|
||||
"command": "latexmk",
|
||||
"args": [
|
||||
"-synctex=1",
|
||||
"-interaction=nonstopmode",
|
||||
"-file-line-error",
|
||||
"-xelatex",
|
||||
"-outdir=%OUTDIR%",
|
||||
"%DOC%"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"name": "latexmk_rconly",
|
||||
"command": "latexmk",
|
||||
"args": [
|
||||
"%DOC%"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"name": "pdflatex",
|
||||
"command": "pdflatex",
|
||||
"args": [
|
||||
"-synctex=1",
|
||||
"-shell-escape",
|
||||
"-interaction=nonstopmode",
|
||||
"-file-line-error",
|
||||
"-output-directory=%OUTDIR%",
|
||||
"%DOC%"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"name": "bibtex",
|
||||
"command": "bibtex",
|
||||
"args": [
|
||||
"%DOCFILE%"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"name": "tectonic",
|
||||
"command": "tectonic",
|
||||
"args": [
|
||||
"--synctex",
|
||||
"--keep-logs",
|
||||
"%DOC%.tex"
|
||||
],
|
||||
"env": {}
|
||||
}
|
||||
],
|
||||
"latex-workshop.latex.rootFile.indicator": "\\begin{document}",
|
||||
}
|
||||
}
|
19
appendix.tex
Normal file
19
appendix.tex
Normal file
@ -0,0 +1,19 @@
|
||||
\clearpage
|
||||
\titlecontents{section}
|
||||
[1.5em] % 1.5em (chapter) + 2.3em
|
||||
{}
|
||||
{\thecontentslabel \hspace{3mm}}
|
||||
{\hspace*{-2.3em}}
|
||||
{\titlerule*[2mm]{.}\contentspage}
|
||||
|
||||
\titleformat{\section}
|
||||
{\normalfont\fontsize{17.28}{15}\bfseries}{\thesection}{1em}{}
|
||||
\renewcommand*{\thesection}{Приложение~\Alph{section}.}
|
||||
|
||||
\chapter*{Приложения}
|
||||
\addcontentsline{toc}{chapter}{Приложения}
|
||||
\appendix
|
||||
|
||||
% \section{Скрипты установки БД для компонента <<Хранение~данных>>}
|
||||
% \label{script:storage}
|
||||
% \inputcode{../software/architecture/first-level/component-storage/CSt.db-script.sql}{frame=none,language=sql}
|
174
config.tex
Normal file
174
config.tex
Normal file
@ -0,0 +1,174 @@
|
||||
\documentclass[oneside,final,14pt]{extreport}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T2A,T1]{fontenc}
|
||||
\usepackage[russian]{babel}
|
||||
\usepackage{threeparttable}
|
||||
\usepackage[labelsep=endash,tableposition=top,labelfont=md,textfont=md]{caption}
|
||||
\usepackage{indentfirst}
|
||||
\usepackage{rotating}
|
||||
\usepackage{setspace}
|
||||
\usepackage{array}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[compact]{titlesec}
|
||||
\usepackage{titletoc}
|
||||
\usepackage{xinttools}
|
||||
\usepackage{ragged2e}
|
||||
\usepackage{listingsutf8}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{color}
|
||||
\usepackage{xstring}
|
||||
\usepackage{tabularx}
|
||||
\usepackage{enumitem}
|
||||
\usepackage[abspath]{currfile}
|
||||
\usepackage[hidelinks,linktoc=all]{hyperref}
|
||||
|
||||
% ОТЛАДОЧНЫЕ ФУНКЦИИ --------------------
|
||||
% \usepackage{showframe}
|
||||
|
||||
% ПОЛЯ ----------------------------------
|
||||
\usepackage{geometry}
|
||||
\geometry{
|
||||
a4paper,
|
||||
% total={170mm,257mm},
|
||||
left=30mm,
|
||||
top=15mm,
|
||||
right=15mm,
|
||||
bottom=20mm
|
||||
}
|
||||
|
||||
% ОФОРМЛЕНИЕ СОДЕРЖАНИЯ -----------------
|
||||
\addto\captionsrussian{
|
||||
\renewcommand{\contentsname}%
|
||||
{\normalsize \MakeUppercase{Содержание}}%
|
||||
}
|
||||
\dottedcontents{chapter}[0cm]{}{1em}{2mm}
|
||||
\titlecontents{chapter}
|
||||
[0em]
|
||||
{}
|
||||
{\thecontentslabel. }
|
||||
{}
|
||||
{\titlerule*[2mm]{.}\contentspage}
|
||||
|
||||
\titlecontents{section}
|
||||
[1.5em] % 1.5em (chapter) + 2.3em
|
||||
{}
|
||||
{\thecontentslabel. }
|
||||
{\hspace*{-2.3em}}
|
||||
{\titlerule*[2mm]{.}\contentspage}
|
||||
|
||||
|
||||
% ОФОРМЛЕНИЕ ЗАГОЛОВКОВ -----------------
|
||||
% В т.ч. и содержания
|
||||
\titleformat{\paragraph}[runin]
|
||||
{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
|
||||
\titlespacing*{\paragraph} {\parindent}{3.25ex plus 1ex minus .2ex}{1em}
|
||||
\titleformat{\chapter}[display]{\normalfont\large\bfseries}{}{0cm}{\large\centering}
|
||||
\titleformat{\section}
|
||||
{\normalfont\large\bfseries}{\thesection}{5mm}{}
|
||||
\makeatletter
|
||||
% NormalTeXSyntaxON
|
||||
\def\@makechapterhead#1{%
|
||||
\vspace*{0\p@}%
|
||||
{\parindent \z@ \raggedright \normalfont \setstretch{1.2}
|
||||
\interlinepenalty\@M
|
||||
\large \bfseries \space \thechapter. #1\par\nobreak
|
||||
}}
|
||||
% NormalTeXSyntaxOFF
|
||||
\titlespacing{\chapter}{0pt}{-5mm}{0cm}
|
||||
|
||||
% ОФОРМЛЕНИЕ СПИСКОВ --------------------
|
||||
\setlist{noitemsep,align=left,left=\parindent,topsep=0pt}
|
||||
|
||||
% ОФОРМЛЕНИЕ ЛИСТИНГОВ КОДА -----------------
|
||||
\definecolor{dkgreen}{rgb}{0,0.6,0}
|
||||
\definecolor{gray}{rgb}{0.5,0.5,0.5}
|
||||
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
||||
\lstset{
|
||||
frame=tb,
|
||||
language=C++,
|
||||
aboveskip=3mm,
|
||||
belowskip=3mm,
|
||||
showstringspaces=false,
|
||||
columns=flexible,
|
||||
basicstyle={\small\ttfamily},
|
||||
numbers=none,
|
||||
numberstyle=\tiny\color{gray},
|
||||
keywordstyle=\color{blue},
|
||||
commentstyle=\color{dkgreen},
|
||||
stringstyle=\color{mauve},
|
||||
breaklines=true,
|
||||
breakatwhitespace=true,
|
||||
tabsize=3,
|
||||
escapechar={|},
|
||||
emptylines=0,
|
||||
}
|
||||
\newcommand\inputcode[3][]{
|
||||
{\bfseries #1\filename{#2}}:
|
||||
\lstinputlisting[%
|
||||
#3,
|
||||
]{#2}%
|
||||
}
|
||||
|
||||
% ОФОРМЛЕНИЕ НУМЕРАЦИИ СПИСКОВ ----------------------------------
|
||||
% Команды ниже переназначают алфавит используемый при нумерации с английского на русский
|
||||
\makeatletter
|
||||
\renewcommand*{\@alph}[1]{%
|
||||
\ifcase#1\or а\or б\or в\or г\or
|
||||
д\or е\or ё\or ж\or з\or и\or й\or
|
||||
к\or л\or м\or н\or о\or п\or р\or с\or т\or
|
||||
у\or ф\or х\or ц\or ч\or
|
||||
ш\or щ\or ы\or э\or у \or я
|
||||
\else\@ctrerr\fi
|
||||
}
|
||||
\renewcommand*{\@Alph}[1]{%
|
||||
\ifcase#1\or А\or Б\or В\or Г\or
|
||||
Д\or Е\or Ё\or Ж\or З\or И\or Й\or
|
||||
К\or Л\or М\or Н\or О\or П\or Р\or С\or Т\or
|
||||
У\or Ф\or Х\or Ц\or Ч\or
|
||||
Ш\or Щ\or Ы\or Э\or У\or Я
|
||||
\else\@ctrerr\fi
|
||||
}
|
||||
\makeatother
|
||||
\makeatletter
|
||||
\renewcommand\@biblabel[1]{#1.}
|
||||
\makeatother
|
||||
|
||||
|
||||
% file path
|
||||
\newcommand{\runtimeFsep}{/}
|
||||
\newcommand{\updateRuntimeFsep}{\IfSubStr{\currfileabsdir}{/}{}{\renewcommand{\runtimeFsep}{\backslash}}}
|
||||
\updateRuntimeFsep
|
||||
|
||||
\makeatletter
|
||||
\DeclareRobustCommand{\filename}[2][]{%
|
||||
\begingroup
|
||||
% \lstname seems to change hyphens into \textendash
|
||||
\def\textendash{-}%
|
||||
\filename@parse{#2}%
|
||||
\IfSubStr{\filename@base}{\runtimeFsep}{\filename@parse{\filename@base}}{}%
|
||||
\edef\filename@base{\detokenize\expandafter{\filename@base}}%
|
||||
#1{\filename@base.\filename@ext}%
|
||||
\endgroup
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% \section*{#1}%
|
||||
% \addcontentsline{toc}{chapter}{#1}
|
||||
\newcommand\tcchapter[1]{%
|
||||
\chapter{#1}%
|
||||
}
|
||||
\newcommand\tcsection[1]{%
|
||||
\section{#1}%
|
||||
}
|
||||
\onehalfspacing
|
||||
|
||||
% \contentsmargin{2.55em}
|
||||
|
||||
\addto\captionsrussian{\renewcommand{\figurename}{Рисунок }}
|
||||
|
||||
% URL ---------------
|
||||
\urlstyle{same}
|
||||
|
||||
% ОФОРМЛЕНИЕ ТЕКСТА
|
||||
\renewcommand{\baselinestretch}{1.5}
|
BIN
files/cpp-logo.png
Normal file
BIN
files/cpp-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
BIN
files/vyatsu_logo.png
Normal file
BIN
files/vyatsu_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
44
intro.tex
Normal file
44
intro.tex
Normal file
@ -0,0 +1,44 @@
|
||||
\chapter*{Введение}
|
||||
\addcontentsline{toc}{chapter}{Введение}
|
||||
В ходе решения решения задач физики, экономики а также множества
|
||||
практических задач одним из необходимых этапов является построение
|
||||
математической модели, а после начала компьютеризации общества
|
||||
--- разработка программы для ЭВМ или выбор уже существующих \cite[с. 4]{book:nm-examples}.
|
||||
|
||||
Также стоит учитывать, что решение любой практической задачи, либо
|
||||
проведение исследования, подразумевает ограниченность по времени
|
||||
и ресурсам \hbox{\cite[с.~15]{book:bahvalov}}. Развитие ЭВМ и их
|
||||
всеобщее распространение
|
||||
привело к тому, что разработка библиотек программного кода для
|
||||
решения математических задач с использованием заданного языка
|
||||
программирования стала повсеместной. Язык программирования
|
||||
Python \cite{links:python} --- один из самых популярных на протяжении
|
||||
лет \cite{links:tiobe_index}, широко используется при решении многих
|
||||
практических задач, в том числе и математической направленности.
|
||||
|
||||
Для данного языка существуют библиотеки numpy
|
||||
\cite{links:numpy} и scipy \cite{links:scipy},
|
||||
предназначенные для математических расчетов.
|
||||
Понимание их возможностей в области численных методов позволит
|
||||
снизить затраты времени и ресурсов на разработку программы для
|
||||
ЭВМ, либо не увеличит их в случае, когда применение данных
|
||||
библиотек в силу тех или иных причин невозможно.
|
||||
|
||||
Проблема состоит в том, что на данный момент особенности библиотек,
|
||||
полнота их возможностей с точки зрения решения задач численными
|
||||
методами недостаточно исследованы.
|
||||
|
||||
\textbf{Целью} данной работы является исследование вышеприведенных характеристик данных библиотек.
|
||||
|
||||
Для достижения цели курсового проекта необходимо выполнить следующие \textbf{задачи}:
|
||||
\begin{enumerate}
|
||||
\item Изучить распространенные численные методы решения основных
|
||||
классов задач.
|
||||
\item Изучить документацию библиотек numpy и scipy на предмет
|
||||
реализации рассмотренных методов.
|
||||
\item Экспериментально исследовать возможности реализаций
|
||||
рассмотренных численных методов данных библиотек.
|
||||
\end{enumerate}
|
||||
|
||||
В данной работе используются язык Python, библиотеки numpy и
|
||||
scipy версий \(3.11\), \(1.25\) и \(1.11\) соответственно.
|
137
main.tex
Normal file
137
main.tex
Normal file
@ -0,0 +1,137 @@
|
||||
\input{vars}
|
||||
\input{config}
|
||||
|
||||
\begin{document}
|
||||
\lstset{language=[11]C++}
|
||||
|
||||
%title-page
|
||||
\include{titlepage}
|
||||
\thispagestyle{empty}
|
||||
\clearpage
|
||||
|
||||
\tableofcontents
|
||||
\thispagestyle{empty}
|
||||
\clearpage
|
||||
\input{intro}
|
||||
|
||||
\chapter{Описание численных методов и возможностей библиотек numpy и scipy}
|
||||
В данном разделе будут описаны численные методы и их доступные
|
||||
реализации в библиотеках в частях, посвященным классам задач, которые
|
||||
они решают.
|
||||
|
||||
Стоит учитывать, что scipy основан на numpy, поэтому при рассмотрении
|
||||
возможностей данных библиотек часто может возникнуть ситуация,
|
||||
когда искомый функционал содержится только в scipy, либо в numpy
|
||||
или scipy одновременно.
|
||||
|
||||
\section{Численное решение нелинейных уравнений}
|
||||
При решении некоторых практических задач или проведении исследований
|
||||
может быть получена математическая модель, которая включает
|
||||
непрерывную функцию \(F(x), x \in \Re\), и необходимо определить корни уравнения
|
||||
\(F(x) = 0\). Если данное уравнение не имеет вид \(ax + b = 0\),
|
||||
где \(a,b\) -- константы, то оно будет нелинейным.
|
||||
|
||||
Для решения нелинейных уравнений существует несколько методов, в данной работе будут рассмотрены итерационные.
|
||||
|
||||
Каждый из итерационных методов, перечисленных ниже, соответствует
|
||||
следующему алгоритму из двух этапов \cite[с. 15]{book:nm-examples}:
|
||||
\begin{enumerate}
|
||||
\item отыскание приближенного значения корня или содержащего
|
||||
его отрезка;
|
||||
\item уточнения значения до некоторой степени точности.
|
||||
\end{enumerate}
|
||||
Начальное приближение определяется исходя из физических соображений
|
||||
решений похожих задач или графических методов. Если ни один из этих
|
||||
способов не доступен или не позволяет получить начальное приближение,
|
||||
удовлетворяющее требованиям, то применяют следующий алгоритм
|
||||
отыскания начального приближения:
|
||||
\begin{enumerate}
|
||||
\item Производится поиск двух близкорасположенных значений
|
||||
\(a\) и \(b\) таких, что \(F(a) \cdot F(b) < 0\), при этом
|
||||
\(F(x)\) должна быть всюду определена на отрезке \([a;b]\).
|
||||
\item В качестве начального приближения первой итерации принимается
|
||||
значение \(x_0 \in [a;b]\), обычно это середина данного
|
||||
отрезка.
|
||||
\end{enumerate}
|
||||
|
||||
Так как выполняется условие \(F(a) \cdot F(b) < 0\) и \(F(x)\) непрерывна, то обязательно найдется такое \(x_k \in (a,b)\), что \(F(x_k) = 0\) либо \(|F(x_k)| < \epsilon\), где \(\epsilon\) --- погрешность искомого решения.
|
||||
\subsection{Метод деления отрезка пополам}
|
||||
Данный метод использует технику поиска решения, похожую на бинарный
|
||||
поиск.
|
||||
|
||||
\subsubsection{Описание метода}
|
||||
Дано начальное приближение \(x_0 = (a+b)/2\) при
|
||||
\(F(a) \cdot F(b) < 0\). Для поиска решения уравнения \(x_k\)
|
||||
применяем следующий алгоритм:
|
||||
\begin{enumerate}
|
||||
\item Рассмотрим отрезки \([a;x_i], [x_i;b]\), \(i = 0 \dots k\)
|
||||
--- номер итерации. На первой итерации \(i = 0\). \label{list:hls_begin}
|
||||
\item Из рассмотренных отрезков берем те, что удовлетворяют условию
|
||||
\(F(a) \cdot F(b) < 0\), где \(a,b\) --- границы отрезка. \label{list:hls_test}
|
||||
\item Для каждого из взятых в п.\ref{list:hls_test} отрезков
|
||||
вычисляем их длину \(l\). Если \(l < \epsilon\),
|
||||
тогда дальнейшее выполнение данного алгоритма для данного
|
||||
отрезка прекращается. За решение уравнения принимается
|
||||
число \((a+b)/2\), округленное с учетом заданной погрешности.
|
||||
Если для решения задачи достаточно любого одного решения,
|
||||
то работа алгоритма прекращается.
|
||||
\item Для каждого из взятых в п.\ref{list:hls_test} отрезков
|
||||
устанавливаем значения
|
||||
\(a,b,x_{i+1}\). Для левого отрезка эти значения будут равны
|
||||
\(a = a,b = x_i,x_{i+1} = (a+x_i)/2\), для правого ---
|
||||
\(a = x_i,b = b,x_{i+1} = (b+x_i)/2\). \label{list:hls_prepare}
|
||||
\item Для каждого из взятых отрезков переходим к п.\ref{list:hls_begin},
|
||||
с увеличением номера итерации на \(1\) и установленными
|
||||
относительно взятого отрезка значениями из п.\ref{list:hls_prepare}.
|
||||
\end{enumerate}
|
||||
|
||||
После применение метода на заданных входных данных получим множество
|
||||
решений уравнения \(Ans = \{x, x \in \Re\}, |Ans| \geq 1\).
|
||||
\subsubsection{Реализации метода в библиотеках numpy, scipy}
|
||||
Библиотека scipy содержит функцию \textbf{bisect} из модуля
|
||||
\textbf{scipy.optimize}\cite{links:scipy_doc}, которая реализует
|
||||
данный метод.
|
||||
|
||||
Функция имеет следующие параметры (задаются в порядке перечисления):
|
||||
\begin{enumerate}
|
||||
\item \(f\) --- function
|
||||
|
||||
Функция Python, возвращающая число. \(f\) должна быть непрерывной, а \(f(a)\) и \(f(b)\) должны иметь противоположные знаки.
|
||||
|
||||
\item \(a\) --- scalar
|
||||
|
||||
Первый конец интервала \([a,b]\).
|
||||
\item \(b\) --- scalar
|
||||
|
||||
Второй конец интервала \([a,b]\).
|
||||
\item \(xtol\) --- number, необязательный
|
||||
|
||||
Вычисленный корень \(x0\) будет удовлетворять \verb|np.allclose(x, x0,| \verb|atol=xtol,| \verb|rtol=rtol)|, где \(x\) --- точный корень. Параметр должен быть положительным.
|
||||
\item \(rtol\) --- number, необязательный
|
||||
|
||||
Вычисленный корень \(x0\) будет удовлетворять \verb|np.allclose(x, x0,| \verb|atol=xtol, rtol=rtol)|, где \(x\) --- точный корень. Параметр не может быть меньше значения по умолчанию \verb|4*np.finfo(float).eps|.
|
||||
\item \(maxiter\) --- int, необязательный
|
||||
|
||||
Если сходимость не достигается в итерациях \(maxiter\), возникает ошибка. Должен быть \(\geq 0\).
|
||||
\item \(args\) --- tuple, необязательный
|
||||
|
||||
Содержит дополнительные аргументы для функции \(f\). \(f\) вызывается с помощью \verb|apply(f, (x)+args)|.
|
||||
\item \(full\_output\) --- bool, необязательный
|
||||
|
||||
Если \(full\_output\) имеет значение \verb|False|, возвращается корень. Если \(full\_output\) имеет значение \verb|True|, возвращаемое значение равно \verb|(x, r)|, где \(x\) --- это корень, а \(r\) --- объект \verb|RootResults|.
|
||||
\item \(disp\) --- bool, необязательный
|
||||
|
||||
Если \verb|True|, будет сгенерировано исключение \verb|RuntimeError|, если алгоритм не сошелся. В противном случае статус сходимости записывается в возвращаемый объект \verb|RootResults|.
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Метод Ньютона (метод касательных)}
|
||||
\subsection{Метод простой итерации}
|
||||
\chapter{Экспериментальное исследование возможностей библиотек}
|
||||
|
||||
|
||||
\chapter*{Заключение}
|
||||
\addcontentsline{toc}{chapter}{Заключение}
|
||||
|
||||
\input{sources}
|
||||
\include{appendix}
|
||||
\end{document}
|
73
presentation.tex
Normal file
73
presentation.tex
Normal file
@ -0,0 +1,73 @@
|
||||
\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\\ \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]{files/vyatsu_logo.png}\\
|
||||
\titlepage
|
||||
\end{frame}
|
||||
\begin{frame}
|
||||
\frametitle{План доклада}
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\end{frame}
|
||||
\begin{frame}
|
||||
\frametitleSpec{Введение}
|
||||
Активное внедрение компьютеров во всевозможные отрасли жизни человека привело к тому, что при решении прикладных задач требование к скорости и дешевизне разработки стало выше требований производительности и ресурсоемкости разрабатываемой программы.
|
||||
\begin{enumerate}
|
||||
\item Проблема состоит в том, что на данный момент ОС, которая бы могла более эффективно использовать текущее АО устройств, не разработана.
|
||||
\item Целью данной работы является рассмотрение архитектуры и разработка части прототипа данной ОС.
|
||||
\begin{itemize}
|
||||
\item Изучить архитектуру и требования прототипа ОС.
|
||||
\item Определить перечень сервисов обеспечения целостности и оптимизации экосистемы устройств.
|
||||
\item Разработать БД и сервисы обеспечения целостности и оптимизации прототипа экосистемы устройств.
|
||||
\end{itemize}
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitleSpec{О программной реализации}
|
||||
Реализация сервисов написана на языке C++ в виде отдельных компонентов.
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.25\textwidth]{files/cpp-logo.png}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitleSpec{Заключение}
|
||||
При реализации прототипа экосистемы был разработан один из возможных вариантов деления на подсистемы, и рассмотрены возможные пути реализации.
|
||||
Из недостатков текущей реализации можно отметить отсутствие компонента, отвечающего за безопасность и разделения прав доступа пользователей к вычислительным ресурсам сервера.
|
||||
Таким образом, задачи проекта выполнены, цель проекта достигнута.
|
||||
\end{frame}
|
||||
\begin{frame}
|
||||
\begin{center}
|
||||
{\huge Спасибо за внимание!}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
\end{document}
|
23
sources.tex
Normal file
23
sources.tex
Normal file
@ -0,0 +1,23 @@
|
||||
\newcommand{\LiteratureAccessDate}[1][1]{%
|
||||
дата~обращения: \ifcase#1\or 03.08.2023%
|
||||
\or 07.08.2023%
|
||||
\or 09.08.2023%
|
||||
\else\@ctrerr\fi
|
||||
}
|
||||
\renewcommand\bibname{Библиографический список}
|
||||
\begin{thebibliography}{00}
|
||||
\addcontentsline{toc}{chapter}{Библиографический список}
|
||||
\bibitem{book:nm-examples} Ахмадиев Ф.Г., Габбасов Ф.Г., Ермолаева Л.Б., Маланичев И.В. Численные методы. Примеры и задачи. Учебно-методическое пособие по курсам «Информатика» и «Вычислительная математика». -- Казань:
|
||||
КГАСУ, 2017. -- 107 с.
|
||||
\bibitem{book:bahvalov} Бахвалов~Н.~С., Жидков~Н.~П.,
|
||||
Кобельков~Г.~М. Численные методы. -- 7-е изд. -- М.: БИНОМ. Лаборатория знаний,
|
||||
2011. -- 636 с., c илл. -- (Классический университетский учебник).
|
||||
\bibitem{book:lectures} Письменный~Д.~Т. Конспект лекций по высшей математике. 2 часть. -- М.: Рольф, 2000. -- 256 с., с илл.
|
||||
\bibitem{links:numpy} Numpy. Официальный сайт проекта [Электронный ресурс] -- URL:~\url{https://numpy.org/} (\LiteratureAccessDate[2]).
|
||||
\bibitem{links:numpy_doc} Numpy API Reference [Электронный ресурс] -- URL:~\url{https://numpy.org/doc/stable/reference/index.html} (\LiteratureAccessDate[3]).
|
||||
\bibitem{links:python} Python. Официальный сайт проекта [Электронный ресурс] -- URL:~\url{https://www.python.org/} (\LiteratureAccessDate).
|
||||
\bibitem{links:scipy} Scipy. Официальный сайт проекта [Электронный ресурс] -- URL:~\url{https://scipy.org/} (\LiteratureAccessDate[2]).
|
||||
\bibitem{links:scipy_doc} Scipy API Reference [Электронный ресурс] -- URL:~\url{https://docs.scipy.org/doc/scipy/reference/index.html} (\LiteratureAccessDate[3]).
|
||||
\bibitem{links:tiobe_index} TIOBE. Официальный сайт проекта
|
||||
[Электронный ресурс] -- URL:~\url{https://www.tiobe.com/tiobe-index/} (\LiteratureAccessDate).
|
||||
\end{thebibliography}
|
53
titlepage.tex
Normal file
53
titlepage.tex
Normal file
@ -0,0 +1,53 @@
|
||||
\begin{titlepage}
|
||||
\begin{center}
|
||||
\begin{small}
|
||||
\begin{singlespace}
|
||||
\MakeUppercase{
|
||||
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ\\ \vspace{0.7em}
|
||||
Федеральное государственное бюджетное образовательное учреждение высшего образования\\
|
||||
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ\\ \vspace{0.7em}
|
||||
Институт математики и информационных систем \\ \vspace{0.7em}
|
||||
Факультет компьютерных и физико-математических наук\\ \vspace{0.7em}
|
||||
Кафедра прикладной математики и информатики
|
||||
}
|
||||
\end{singlespace}
|
||||
\end{small}
|
||||
\vfill
|
||||
{\null\hfill
|
||||
\begin{minipage}{0.4\textwidth}
|
||||
Допущена к защите\\
|
||||
{\setstretch{2}
|
||||
заведующей кафедрой прикладной
|
||||
математики и информатики\\}
|
||||
{\rule{3cm}{0.1mm}}~Е.В.Разова
|
||||
\end{minipage}
|
||||
|
||||
}
|
||||
\vspace{5em}
|
||||
|
||||
{
|
||||
\large{
|
||||
{\bfseries \cwtitle}
|
||||
}}
|
||||
\vspace{2em}
|
||||
|
||||
Курсовой проект по дисциплине <<Численные методы>>
|
||||
\end{center}
|
||||
\vfill
|
||||
\begin{table}[ht]
|
||||
\centering
|
||||
\begin{tabularx}{\textwidth}{>{\raggedright}p{.5\textwidth}X}
|
||||
Выполнил студент группы \mbox{ПМИб-3301-52-00} \vspace{1mm} & { {\rule{3cm}{0.1mm}}~/\cwauthor}/ \\
|
||||
К.п.н. \mbox{кафедры} ПМИ \vspace{1cm} & {{\rule{3cm}{0.1mm}}~/А.Н.~Соколова/} \\
|
||||
Работа защищена с оценкой & {\rule{3cm}{0.1mm}} \hfill {\rule{1cm}{0.1mm}}.{\rule{1cm}{0.1mm}} \the\year\ г. \vspace{1cm} \\
|
||||
Члены комиссии \vspace{2mm} & {\rule{3cm}{0.1mm}} \hfill /{\rule{3.5cm}{0.1mm}}/ \\
|
||||
\null & {\rule{3cm}{0.1mm}} \hfill /{\rule{3.5cm}{0.1mm}}/ \\
|
||||
\end{tabularx}
|
||||
\end{table}
|
||||
\vfill
|
||||
|
||||
\begin{center}
|
||||
Киров \the\year\ г.
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\setcounter{page}{2}
|
Loading…
Reference in New Issue
Block a user