Advertisement
belogurow

lab1

Feb 27th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 9.88 KB | None | 0 0
  1. % !TEX encoding = UTF-8 Unicode
  2. \documentclass[a4paper, 12pt]{article}      % use "amsart" instead of "article" for AMSLaTeX format
  3. \usepackage[left=20mm, top=15mm, right=15mm, bottom=15mm, nohead, footskip=10mm]{geometry}    
  4.  
  5.            
  6. \usepackage[parfill]{parskip}           % Activate to begin paragraphs with an empty line rather than an indent
  7. \usepackage{graphicx}               % Use pdf, png, jpg, or eps§ with pdflatex; use eps in DVI mode
  8. \usepackage[14pt]{extsizes}
  9. \usepackage{setspace,amsmath}
  10. \usepackage{ dsfont }
  11. \usepackage{amsmath,amssymb}
  12. \usepackage{hyperref}
  13.  
  14. \usepackage{xcolor}
  15. \usepackage{color}
  16. \usepackage{listings}
  17. \usepackage{setspace}
  18. \definecolor{Code}{rgb}{0,0,0}
  19. \definecolor{Decorators}{rgb}{0.5,0.5,0.5}
  20. \definecolor{Numbers}{rgb}{0.5,0,0}
  21. \definecolor{MatchingBrackets}{rgb}{0.25,0.5,0.5}
  22. \definecolor{Keywords}{rgb}{0,0,1}
  23. \definecolor{self}{rgb}{0,0,0}
  24. \definecolor{Strings}{rgb}{0,0.63,0}
  25. \definecolor{Comments}{rgb}{0,0.63,1}
  26. \definecolor{Backquotes}{rgb}{0,0,0}
  27. \definecolor{Classname}{rgb}{0,0,0}
  28. \definecolor{FunctionName}{rgb}{0,0,0}
  29. \definecolor{Operators}{rgb}{0,0,0}
  30. \definecolor{Background}{rgb}{0.98,0.98,0.98}
  31. \lstdefinelanguage{Python}{
  32. numbers=left,
  33. numberstyle=\footnotesize,
  34. numbersep=1em,
  35. xleftmargin=0em,
  36. xrightmargin=-3em,
  37. framextopmargin=2em,
  38. framexbottommargin=2em,
  39. showspaces=false,
  40. showtabs=false,
  41. showstringspaces=false,
  42. frame=l,
  43. tabsize=2,
  44. % Basic
  45. basicstyle=\ttfamily\small\setstretch{1},
  46. %backgroundcolor=\color{Background},
  47. % Comments
  48. commentstyle=\color{Comments}\slshape,
  49. % Strings
  50. stringstyle=\color{Strings},
  51. morecomment=[s][\color{Strings}]{"""}{"""},
  52. morecomment=[s][\color{Strings}]{'''}{'''},
  53. % keywords
  54. morekeywords={import,from,class,def,for,while,if,is,in,elif,else,not,and,or,print,break,continue,return,True,False,None,access,as,,del,except,exec,finally,global,import,lambda,pass,print,raise,try,assert},
  55. keywordstyle={\color{Keywords}\bfseries},
  56. % additional keywords
  57. morekeywords={[2]@invariant,pylab,numpy,np,scipy},
  58. keywordstyle={[2]\color{Decorators}\slshape},
  59. emph={self},
  60. emphstyle={\color{self}\slshape},
  61. texcl=true,
  62. %
  63. }
  64. \usepackage{caption}
  65. \DeclareCaptionFont{white}{\color{white}}
  66. \DeclareCaptionFormat{listing}{\colorbox{gray}{\parbox{\textwidth}{#1#2#3}}}
  67. \captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}
  68.  
  69.  
  70. \usepackage{cmap} % Улучшенный поиск русских слов в полученном pdf-файле
  71. \usepackage[T2A]{fontenc} % Поддержка русских букв
  72. \usepackage[utf8]{inputenc} % Кодировка utf8
  73. \usepackage[english, russian]{babel} % Языки: русский, английский
  74.  
  75.  
  76.  
  77.  
  78.                                 % TeX will automatically convert eps --> pdf in pdflatex       
  79. \usepackage{amssymb}
  80.  
  81.  
  82.  
  83. \begin{document}
  84. \begin{titlepage}
  85.  
  86. \thispagestyle{empty}
  87.  
  88. \begin{center}
  89. Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Московский государственный технический университет имени Н.Э. Баумана
  90. \end{center}
  91.  
  92.  
  93. \vfill
  94.  
  95. \centerline{\large{Лабораторная работа №1}}
  96. \centerline{\large{по дисциплине}}
  97. \centerline{\large{<<Численные методы>>}}
  98.  
  99. \vfill
  100.  
  101. Студент группы ИУ9-62 \hfill Белогуров А.А.
  102.  
  103. Преподаватель \hfill Домрачева А.Б.
  104. \vfill
  105.  
  106. \centerline{Москва, 2017}
  107. \clearpage
  108. \end{titlepage}
  109.  
  110. \newpage
  111. \setcounter{page}{2}
  112. \textbf{Постановка задачи:}
  113.  
  114. Решение СЛАУ двумя способами??? Нахождение приближенных решений СЛАУ???
  115. \\
  116.  
  117. \textbf{Теоретические сведения:}
  118.  
  119. Дано: $A\overline{x}=\overline{d}$, где $A \in \mathds{R}^{n \times n}$ и $ \overline{x},\overline{d} \in \mathds{R}^{n}$.
  120.  
  121. Решение СЛАУ методом Гаусса:
  122.  
  123. \textbf{1.}  Составить расширенную матрицу $(A|d)$ и привести её к ступенчатому виду\eqref{matrixp1}:
  124. \begin{equation}\label{matrixp1}
  125. (\widetilde{A}|\widetilde{d})=\left(\begin{array}{ccccc|c}
  126. 1 & \widetilde{a_{12}} & \widetilde{a_{13}} & \ldots &\widetilde{a_{1n}} & \widetilde{d_{1}} \\
  127. 0 & 1 & \widetilde{a_{23}} & \ldots &\widetilde{a_{2n}} & \widetilde{d_{2}} \\
  128.  \vdots  & \vdots  & \vdots & \ddots & \vdots  & \vdots\\
  129. 0 & 0 & 0 & \ldots& 1 & \widetilde{d_{n}}
  130. \end{array}\right)
  131. \end{equation}
  132.  
  133.  
  134. \textbf{2.} Найти приближенный вектор $\overline{x}^*$. При вычислении $\widetilde{a_{ij}}$ и $\widetilde{d_i}$ с плавающей точкой возникает погрешность $\overline{e}$ \eqref{eq:9}:
  135. \[
  136.  \begin{array}{l@{\quad}cr@{}l}
  137.    && A\overline{x}^* & {}= \overline{d}^* \\
  138.    \text{--} && A\overline{x} & {}= \overline{d} \\ \cline{2-4}
  139.    && A(\overline{x}^*-\overline{x}) & {}= (\overline{d}^*-\overline{d})
  140.  \end{array}
  141. \]
  142. или:
  143. \begin{equation}\label{eq:9}
  144. A\overline{e} = \overline{r} \\
  145.  \quad
  146.  \Leftrightarrow
  147.  \quad
  148.   \boxed{\overline{e} = A^{-1} \overline{r}}
  149. \end{equation}
  150.  
  151. \textbf{3.} Тогда исходный вектор $ \overline{x} = \overline{x}^* - \overline{e}$.
  152. \\
  153.  
  154. Решение СЛАУ методом Зейделя:
  155.  
  156. \textbf{1.} Преобразовать систему $A\overline{x}=\overline{d}$ к виду $x = B\overline{x} + \overline{c}$, где
  157. \begin{equation*}
  158. b_{ij}=-\frac{a_{ij}}{a_{ii}}, b_{ii} = 0, i \neq j
  159. \end{equation*}
  160. \begin{equation*}
  161. c_i = \frac{d_i}{a_{ii}}, a_{ii} \neq 0
  162. \end{equation*}
  163.  
  164. \textbf{2.} Задать начальное приближение решения $x^{(0)}$ произвольно, определить $k$ и малое положительное число $\varepsilon$:
  165. \begin{equation*}
  166. x^{(0)} = 0, k = 0, \varepsilon = 0.01
  167. \end{equation*}
  168.  
  169. \textbf{3.} Произвести расчеты по формуле \eqref{systemp3} и найти $x^{(k+1)}$.
  170. \begin{equation}\label{systemp3}
  171. \begin{cases}
  172. x_{1}^{(k+1)} = b_{12} x_{2}^{(k)} + ... + b_{1n} x_{n}^{(k)} + c_1
  173. \\
  174. x_{2}^{(k+1)} = b_{21} x_{1}^{(k+1)} + ... + b_{2n} x_{n}^{(k)} + c_2
  175. \\
  176. \vdots
  177. \\
  178. x_{n}^{(k+1)} = b_{n1}  x_{1}^{(k+1)} + ... + b_{nn-1} x_{n-1}^{(k+1)} + c_1
  179. \end{cases}
  180. \end{equation}
  181.  
  182. \textbf{4.} Если выполнено условие окончания $\Vert x^{(k-1)} - x^{(k)} \Vert \leq \varepsilon$ \eqref{normp4}, то завершить процесс и в качестве приближенного решения принять $x_{*} \cong x^{(k)}$. Иначе положить $k = k + 1$ и перейти к пункту 3.
  183. \begin{equation}\label{normp4}
  184. \Vert x^{(k-1)} - x^{(k)} \Vert = \sqrt{\sum_{i=1}^{n} (x_{i}^{(k-1)} - x_{i}^{(k)})^2} \leq \varepsilon
  185. \end{equation}
  186. \\
  187.  
  188.  
  189.  
  190. \textbf{Практическая реализация:}
  191. \hypertarget{lst:gauss}{}
  192. \lstinputlisting[label = lst:gauss,  caption=Решение СЛАУ методом Гаусса, language=Python]{lab1.py}
  193. \hypertarget{lst:zeidel}{}
  194. \lstinputlisting[caption=Решение СЛАУ методом Зейделя, language=python]{lab1_2.py}
  195.  
  196.  
  197. \textbf{Результаты:}
  198.  
  199. Решение СЛАУ методом Гаусса.
  200.  
  201. В качестве исходных значений $A\overline{x}=\overline{d}$ были взяты следующие матрицы\eqref{eq:4}:
  202. \begin{equation}\label{eq:4}
  203. A\overline{x}=\overline{d}
  204. \quad   \Leftrightarrow \quad
  205. \left(\begin{array}{cccc}
  206. 4 & 1 & 0 & 0 \\
  207. 1 & 4 & 1 & 0 \\
  208. 0 & 1 & 4 & 1 \\
  209. 0 & 0 & 1 & 4  
  210. \end{array}\right)
  211. \left(\begin{array}{c}
  212. x_1 \\
  213. x_2 \\
  214. x_3 \\
  215. x_4 \\
  216. \end{array}\right)
  217. =
  218. \left(\begin{array}{c}
  219. 5 \\
  220. 6 \\
  221. 6 \\
  222. 5 \\
  223. \end{array}\right)
  224. \end{equation}
  225. Тогда в результате работы программы  \hyperlink{lst:gauss}{(Листинг 1)} получены следующие значения:
  226. \begin{equation}\label{eq:5}
  227. e =
  228. \left(\begin{array}{c}
  229. 0 \\
  230. 0 \\
  231. 0 \\
  232. 0 \\
  233. \end{array}\right)
  234. \quad
  235. x =
  236. \left(\begin{array}{c}
  237. 1 \\
  238. 1 \\
  239. 1 \\
  240. 1 \\
  241. \end{array}\right)
  242. \end{equation}
  243. Как видно выше \eqref{eq:5}, не всегда вектор $\overline{e}$ может содержать погрешность. Для того, чтобы вектор $\overline{e}$ был ненулевым, возьмем другие исходные значения\eqref{eq:6} и получим следующие результаты\eqref{eq:7}:
  244. \begin{equation}\label{eq:6}
  245. A\overline{x}=\overline{d}
  246. \quad   \Leftrightarrow \quad
  247. \left(\begin{array}{cccc}
  248. 1 & 2 & 0 & 0 \\
  249. 2 & -1 & -1 & 0 \\
  250. 0 & 1 & -1 & 1 \\
  251. 0 & 0 & 1 & 1  
  252. \end{array}\right)
  253. \left(\begin{array}{c}
  254. x_1 \\
  255. x_2 \\
  256. x_3 \\
  257. x_4 \\
  258. \end{array}\right)
  259. =
  260. \left(\begin{array}{c}
  261. 5 \\
  262. 3 \\
  263. 3 \\
  264. 7 \\
  265. \end{array}\right)
  266. \end{equation}
  267.  
  268. \begin{equation}\label{eq:7}
  269. e =
  270. \left(\begin{array}{c}
  271. 3.947459643111668e^{-16} \\
  272. -1.973729821555834e^{-16} \\
  273. -9.86864910777917e^{-16} \\
  274. 9.86864910777917e^{-16} \\
  275. \end{array}\right)
  276. \quad
  277. x =
  278. \left(\begin{array}{c}
  279. 1 \\
  280. 2 \\
  281. 3 \\
  282. 4 \\
  283. \end{array}\right)
  284. \end{equation}
  285. \\
  286.  
  287. Решение СЛАУ методом Зейделя.
  288.  
  289. Для тестирования работы программы \hyperlink{lst:zeidel}{(Листинг 2)} была взята система \eqref{eq:4}.
  290.  
  291. Для $\varepsilon = 0.01$ было выполнено 5 итераций. Результаты практически аналогичны методу Гаусса  \eqref{eq:8}:
  292. \begin{equation}\label{eq:8}
  293. x =
  294. \left(\begin{array}{c}
  295. 1.0003395080566406 \\
  296. 0.9997768402099609 \\
  297. 1.0000903606414795 \\
  298. 0.9999774098396301 \\
  299. \end{array}\right)
  300. \end{equation}
  301. \\
  302.  
  303.  
  304. \textbf{Выводы:}
  305.  
  306.  
  307. \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement