Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 10.66 KB | None | 0 0
  1. \documentclass[11pt]{article}
  2. %\usepackage[a5paper]{geometry}
  3. \usepackage[left=20mm, right=20mm, top=20mm, bottom=20mm, includefoot]{geometry}
  4. %\geometry{left=20mm, right=20mm, top=20mm, bottom=20mm, includefoot}
  5. \usepackage[utf8]{inputenc}
  6.  
  7. \usepackage[russian]{babel}
  8. \usepackage[intlimits]{amsmath}
  9. \interdisplaylinepenalty=2500
  10. \usepackage{amsfonts}
  11. \usepackage{amsthm}
  12. \usepackage{amssymb}
  13. \usepackage{euscript}
  14. \usepackage{amsmath}
  15. \usepackage{latexsym}
  16. \usepackage{graphicx}
  17. \newtheorem{theorem}{Теорема}
  18. \newtheorem{proposition}{Предложение}
  19. \newtheorem{statement}{Утверждение}
  20. \newtheorem{corollary}{Следствие}
  21. \renewcommand{\proofname}{Доказательство}
  22. \newtheorem{definition}{Определение}
  23.  
  24.  %нужен, чтобы вставлять рисунки
  25. %\usepackage{caption} %нужен, чтобы убрать автоматическую нумерацию рисунков
  26. \newcommand{\RNumb}[1]{\uppercase\expandafter{\romannumeral #1\relax}}
  27.  
  28. \begin{document}
  29. \begin{titlepage}
  30.     \begin{center}
  31.    
  32.             Московский государственный университет им. М.В. Ломоносова
  33.         \vspace{0.25cm}
  34.        
  35.         Механико-математический факультет
  36.        
  37.         Кафедра теоретической механики и мехатроники
  38.         \vfill
  39.        
  40.    
  41.        
  42.         \textsc{Отчет}\\[5mm]
  43.        
  44.         {\LARGE По задаче 2.10 вычислительного практикума}
  45.         \bigskip
  46.        
  47.        
  48.             Вавилкин Андрей
  49.         \vfill
  50.         4 курс, группа 422
  51.     \end{center}
  52.     \vfill
  53.  
  54.  
  55.    
  56.     \begin{center}
  57.         Москва, 2017 г.
  58.     \end{center}
  59. \end{titlepage}
  60. \begin{center}
  61.  
  62. \end{center}
  63.  
  64.  
  65.  
  66. %----------------------------
  67.  
  68.  
  69. \section{Постановка задачи.}
  70. Найдем зависимость $\beta$ от $\alpha$, где $\beta, \alpha$ удовлетворяют задаче Коши следующего вида
  71. $$
  72. \begin{cases}
  73. \begin{cases}
  74. \dfrac {dx}{dt}=\alpha \left( x^{3}-1\right) -y, \\
  75. \dfrac {dy}{dt}=x-\alpha \left( y^{3}+1\right), \\
  76. \end{cases}\\
  77. 0<t<2\beta,\\
  78. t=0: x=0,y=-1,\\
  79. t=\beta: x+y=0;\\
  80. 0<\alpha<1.
  81. \end{cases}
  82. $$
  83. \section{Обзор методов решения.}
  84. \subsection{Метод Рунге-Кутта.}
  85. Интегрирование проводилось при помощи метода Рунге-Кутта 4 порядка (подробное описание можно найти в $[1]$).
  86. Дадим краткий обзор данного метод для общего случая.
  87. Пусть имеется задача Коши
  88. $$ \left\{
  89. \begin{array}{rcl}
  90. y'=f(x,y(x)),\\
  91. y(0)=y_0.\\
  92. \end{array}
  93. \right.$$
  94. $f$ считаем достаточно гладкой функцией. Приближенное решение $y_{n+1}$ в узле $x_n+h$ представляется в виде
  95. $$y_{n+1}=y_{n}+\frac{1}{6}(k_1+2k_2+2k_3+k_4),$$
  96. где коэффицинты $k_1, k_2, k_3, k_4$ считаем по формулам
  97. $$k_1=h f(x_n, y_n),$$
  98. $$ k_2 = h f(x_n +\frac{1}{2}h, y_n + \frac{1}{2}k_1),$$
  99. $$ k_3 = h f(x_n +\frac{1}{2}h, y_n + \frac{1}{2}k_2),$$
  100. $$ k_4 = h f(x_n +h, y_n + k_3).$$
  101. Контрольный член погрешности, известный как контрольный член Егорова, определяется по формуле $$E=\frac{2}{3}(k_1-k_2-k_3+k_4)$$
  102. и имеет порядок $O(h^3)$
  103. В данном методе фигурирует параметр $h$ - шаг интегрирования. В следующем параграфе опишем метод выбора подходящего значения $h$.
  104. \subsection{Процедура автоматического выбора шага.}
  105. %Пусть на $n$ шаге алгоритма имеем решение $y_n$ в точке $x_n$ и шаг $h$. Считаем $y_{n+1}$ в точке $x_{n+1}=x_n+h$. Далее, по формуле $(1)$ строим число $E$ и сравниваем его с наперед заданным $varepsilon$ (считаем $\varepsilon = 10^{-5}, 10^{-7}, 10^{-9}$). Имеем 3 случая
  106. %\begin{itemize}
  107. %\item[--] если $|E|>\varepsilon$, то отменяем $n+1$ шаг и делим $h$ на $2$, то есть далее считаем $y_{n+1}$ в точке $x_{n+1}=x_n+\frac{h}{2}$
  108. %\item[--] если $|E|<\frac{\varepsilon}{32}$, то отменяем $n+1$ шаг и умножаем $h$ на $2$, то есть далее считаем $y_{n+1}$ в точке $x_{n+1}=x_n+2р$
  109. %\item[--] если $\frac{\varepsilon}{32}<|E|<\varepsilon$, то $h$ менять не нужно и можем продолжать интегрирование.
  110. %\end{itemize}
  111.  
  112.  Пусть на $n$ шаге алгоритма имеем решение $y_n$ в точке $x_n$ и шаг $h$. Считаем $y_{n+1}$ в точке $x_{n+1}=x_n+h$ двумя спосоами - первый раз делаем один шаг длины $h$ и получаем значение $y_{n+1}^1$, второй раз - два шага длины $\frac{h}{2}$ и получаем $y_{n+1}^2$. Считаем модуль разности этих двух значений $E=|y_{n+1}^1-y_{n+1}^2|$. Если он оказыввается меньше наперед заданного числа $\varepsilon$ (считаем $\varepsilon = 10^{-5}, 10^{-7}, 10^{-9})$, то отменяем шаг, берем новое значение $h$, равное старому значению $h$ деленному на 2, и продолжаем интегрирование до тех пор, пока $E$ не примет допустимое значение.
  113.  
  114. Аналогично, считаем $y_{n+1}$ $x_{n+1}=x_n+2h$ двумя способами и получаем 2 значения $y_{n+1}^1$ и $y_{n+1}^2$, первое из которых отвечаеь одному шагу длины $2h$, а второе - двум шагам длины $h$ каждый. Тогда если $E=|y_{n+1}^1-y_{n+1}^2|$ оказывается меньше $\frac{\varepsilon}{2}$, то шаг увеличиваем в 2 раза и продолжаем интегрирование, начиная с точки $x_n$, до тех пор, пока $E$ не пример допустимое значение.
  115.  
  116. \subsection{Оценка глобальной погрешности.}
  117. Пусть $E_n$ - локальная погрешность на шаге $n$. Глобальная погрешность счиатется по следующей формуле $$\delta_{n+1}=E_n+\delta_n e^l,\qquad \mbox{где } l=\int\limits_{t_n}^{t_n+h}\lambda(v) \,dv$$
  118. $$\delta_0=0$$
  119. где $\lambda$ это наибольшее собственное число матрицы $ \frac{1}{2}(\mathcal{J}+\mathcal{J}^T) $. Где $\mathcal{J}$ - матрица Якоби системы дифференциальных уравнений. Нетрудно посчитать, что $\lambda= 3\alpha x^2$
  120. Тогда в данной задаче $l = 3h\alpha x^2 $. Глобальную погрешность можем приближенно вычислять по следующией формуле   $$\delta_{n+1}=E_n+\delta_n e^{3h\alpha x^2}$$
  121. \section{Результаты.}
  122. Задача была запрогроммирована на языке $C$ при помощи приложения $CodeBlocks$ для $Windows$, и была получена таблица значений параметра  $\beta$ для различных $\alpha$, лежащих в заданном диапазоне $(0,1)$.  По такой таблице - набору точек - были построен график данной зависимости в программе Gnuplot.
  123.  %КАРТИНКИ
  124.  
  125. \section{Тестирование.}
  126. При фиксированном $\alpha$ выбирается 4 различных момента времени и вычисляется число Рунге для переменной $x$). Число Рунге считаем следующим образом:
  127. $$R=\frac{x_{10^{-4}}-x_{10^{-6}}}{x_{10^{-6}}-x_{10^{-8}}}$$
  128. где $x_{10^{-8}}$ -  значение $x$ при $\varepsilon = 10^{-8}$.\\
  129. В таблице приведены числа Рунге  и оценка глобальной погрешности для значений времени, когда $x+y=0$.
  130. \begin{center}
  131. \begin{tabular}{|c|c|c|c|c|c|}
  132. \hline
  133. $\alpha$ & $t_{x+y=0}$ & $R_{x}$ & $R_{y}$ & $\delta_x$ & $\delta_y$  \\
  134. \hline
  135. 0.03 & 0.815  & 9.5609 & 8.57358 & 0.001204397430514 & 0.000485337989932 \\
  136. \hline
  137. 0.27 & 1.075  & 11.20773 & 9.06763 & 0.001279028082222 & 0.000359953963765 \\
  138. \hline
  139.  0.75 & 4.365  & 7.26068 & 6.95665 & 0.000792562628044 & 0.000450364111816 \\
  140. \hline
  141. \end{tabular}
  142. \end{center}
  143. Ниже на графике изображена искомая зависимость $\beta$ от $\alpha$.
  144. \begin{center}
  145. \includegraphics[scale=0.3]{img}
  146. \end{center}
  147. \section{Проверка работы программы.}
  148. Рассмотрим задачу следующего вида
  149. $$
  150. \begin{cases}
  151. \frac{d x}{dt}=y,\\
  152. \frac{d y}{dt}=-x,\\
  153. x(0)=0,\\
  154. y(0)=1.
  155. \end{cases}
  156. $$
  157. Она интегрируется, и ее решение $x = \sin{t}, y=\cos{t}$. Графиком решения являются замкнутые окружности.
  158. Интегрируя ее вышеописанным методом при $0<t<100 \pi $ и 3 значениях $\varepsilon = 10^{-4}, 10^{-6}, 10^{-8}$ получим график, представленный на рисунке. При увеличении точности (то есть при уменьшеии $\varepsilon$) график становит более точным и представляет собой спираль с достаточно близко расположенными дугами.
  159.  
  160.  
  161. \newpage
  162. {\huge \bf Литература.}
  163. \begin{itemize}
  164. \item[1.] О. Б. Арушанянб, С. Ф. Залёткин. Решение систем обыкновенных дифференциальных уравнений методами Рунге-Кутта, 2014
  165. \item[2.] В. Ф. Дьяченко. Вычислительный практикум
  166.  
  167.  
  168.    \item[3.] Э. Хайрер, С. Нёрсетт, Г. Ваннер. Решение обыкновенных дифференциальных уравнений.
  169.     \item[4.] Н. С. Бахвалов, Н.П. Жидков, Г. М. Кобельков. Численные методы
  170.    
  171. \end{itemize}
  172.  
  173. \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement