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