🎨
Цвет акцента
Синий
Фиолетовый
Пурпурный
Раздел 7: задачи
7.1 7.2 7.3 7.4 7.5 7.6
← К задачнику
Задачник · решения

Раздел 7. **7.** Записать для уравнения разностную схему. Привести её к виду, удобному для использования метода прогонки. Проверить сходимость прогонки. Записать рекуррентное прогоночное соотношение. Найти $\alpha_1$, $\beta_1$. Найти $u_N$. Привести алгоритм решения

Подробные решения задач раздела методами курса. Условия задач и весь список — на странице «Задачник».

Задача 7.1

$$3x\frac{d^2u}{dx^2} - 2u = x e^x, \qquad u = u(x)$$
$$\begin{cases} \dfrac{du}{dx}(x=0) = 2(u(x=0) - 0.5) \\[4pt] \dfrac{du}{dx}(x=1) = 2(u(x=1) - 2.5) \end{cases}$$

Решение

Уравнение и граничные условия

$$3x\frac{d^2u}{dx^2}-2u=x e^{x},\qquad u=u(x)$$$$\frac{du}{dx}(0)=2\big(u(0)-0{,}5\big),\qquad \frac{du}{dx}(1)=2\big(u(1)-2{,}5\big)$$

Оба граничных условия — 3-го рода (связь производной со значением функции). Перепишем их в обобщённом виде: левое $u'(0)=2u(0)-1$ ($\varphi_1=2$, $\psi_1=-1$); правое $u'(1)=2u(1)-5$ ($\varphi_2=2$, $\psi_2=-5$).

Разностная сетка

Уравнение стационарное (обыкновенное, $u=u(x)$) на отрезке $[0,1]$. Вводим равномерную сетку $x_j=(j-1)h$, $j=1,\dots,N$, $h=\dfrac{1}{N-1}$. Производные аппроксимируем разностными операторами: $u''\to\dfrac{u_{j+1}-2u_j+u_{j-1}}{h^2}$ (центральная, 2-й порядок), $u'\to\dfrac{u_{j+1}-u_{j-1}}{2h}$ (центральная), $\dfrac{du}{dx}$ в ГУ — односторонней разностью. Получаем трёхдиагональную СЛАУ, которую решаем методом прогонки.

1. Разностная схема

В каждом внутреннем узле $x_j=(j-1)h$ заменяем $u''$ центральной разностью:

$$3x_j\,\frac{u_{j+1}-2u_j+u_{j-1}}{h^2}-2u_j=x_j e^{x_j},\qquad x_j=(j-1)h$$

2. Приведение к виду, удобному для прогонки

Умножаем на $h^2$ и группируем по узлам:

$$\underbrace{3x_j}_{a_j}u_{j+1}\underbrace{-\big(6x_j+2h^2\big)}_{b_j}u_j+\underbrace{3x_j}_{c_j}u_{j-1}=\underbrace{h^2 x_j e^{x_j}}_{\xi_j}$$$$a_j=c_j=3x_j,\quad b_j=-(6x_j+2h^2),\quad \xi_j=h^2 x_j e^{x_j},\quad x_j=(j-1)h$$

3. Проверка сходимости прогонки

На внутренних узлах $x_j=(j-1)h>0$:

$$|a_j|+|c_j|=6x_j<6x_j+2h^2=|b_j|$$

Диагональное преобладание $|a_j|+|c_j|<|b_j|$ выполнено (за счёт слагаемого $2h^2>0$) — прогонка сходится.

4. Рекуррентное прогоночное соотношение

Вводим линейную связь $u_j=\alpha_j u_{j+1}+\beta_j$, справедливую для $j=1,\dots,N-1$. Записав её для $(j-1)$: $u_{j-1}=\alpha_{j-1}u_j+\beta_{j-1}$ и подставив в систему $a_j u_{j+1}+b_j u_j+c_j u_{j-1}=\xi_j$, выражаем $u_j$ и сравниваем с прогоночным соотношением:

$$\alpha_j=-\frac{a_j}{b_j+c_j\alpha_{j-1}},\qquad \beta_j=\frac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$$

5. Начальные коэффициенты $\alpha_1,\beta_1$ (из левого ГУ)

Левое ГУ 3-го рода аппроксимируем правой разностью:

$$\frac{u_2-u_1}{h}=2u_1-1\;\Rightarrow\; u_2+h=(1+2h)u_1\;\Rightarrow\; u_1=\frac{1}{1+2h}u_2+\frac{h}{1+2h}$$

Сравнивая с $u_1=\alpha_1 u_2+\beta_1$:

$$\boxed{\alpha_1=\frac{1}{1+2h},\qquad \beta_1=\frac{h}{1+2h}}$$

6. Решение на правой границе $u_N$ (из правого ГУ)

Правое ГУ 3-го рода аппроксимируем левой разностью и подставляем $u_{N-1}=\alpha_{N-1}u_N+\beta_{N-1}$:

$$\frac{u_N-u_{N-1}}{h}=2u_N-5\;\Rightarrow\; u_N-\alpha_{N-1}u_N-\beta_{N-1}=2h\,u_N-5h$$$$\boxed{u_N=\frac{\beta_{N-1}-5h}{1-\alpha_{N-1}-2h}}$$

Алгоритм решения (метод прогонки)

Сетка по координате: $x_j=(j-1)h$, $j=1,\dots,N$, шаг $h=\dfrac{1}{N-1}$ (отрезок $[0,1]$). Задача стационарная ($u=u(x)$), поэтому цикл по времени отсутствует — прогонка выполняется один раз.

  1. Из левого ГУ определить прогоночные коэффициенты на 1-м шаге: $\alpha_1,\beta_1$.
  2. Прямой ход (слева направо, $j=2,\dots,N-1$): вычислить $a_j,b_j,c_j,\xi_j$ и $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
  3. Из правого ГУ найти решение на правой границе $u_N$.
  4. Обратный ход (справа налево, $j=N-1,\dots,1$): $u_j=\alpha_j u_{j+1}+\beta_j$.
Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Метод (подробнее):
Семинар 4Разбор вопроса 9
Задача 7.2

$$\frac{d^2u}{dx^2} = 2u(2x+1), \qquad u = u(x)$$
$$\begin{cases} \dfrac{du}{dx}(x=0) = 0 \\[4pt] \dfrac{du}{dx}(x=1) = 2e \end{cases}$$

Решение

Уравнение и граничные условия

$$\frac{d^2u}{dx^2}=2u(2x+1),\qquad u=u(x)$$$$\frac{du}{dx}(0)=0,\qquad \frac{du}{dx}(1)=2e$$

Оба условия — 2-го рода (заданы производные): левое $\varphi_1=0$, правое $\varphi_2=2e$.

Разностная сетка

Уравнение стационарное (обыкновенное, $u=u(x)$) на отрезке $[0,1]$. Вводим равномерную сетку $x_j=(j-1)h$, $j=1,\dots,N$, $h=\dfrac{1}{N-1}$. Производные аппроксимируем разностными операторами: $u''\to\dfrac{u_{j+1}-2u_j+u_{j-1}}{h^2}$ (центральная, 2-й порядок), $u'\to\dfrac{u_{j+1}-u_{j-1}}{2h}$ (центральная), $\dfrac{du}{dx}$ в ГУ — односторонней разностью. Получаем трёхдиагональную СЛАУ, которую решаем методом прогонки.

1. Разностная схема

В узле $x_j=(j-1)h$ заменяем $u''$ центральной разностью:

$$\frac{u_{j+1}-2u_j+u_{j-1}}{h^2}=2u_j\big(2x_j+1\big),\qquad x_j=(j-1)h$$

2. Приведение к виду, удобному для прогонки

Умножаем на $h^2$, переносим всё в левую часть:

$$\underbrace{1}_{a_j}u_{j+1}\underbrace{-\big(2+2h^2(2x_j+1)\big)}_{b_j}u_j+\underbrace{1}_{c_j}u_{j-1}=\underbrace{0}_{\xi_j}$$$$a_j=c_j=1,\quad b_j=-\big(2+2h^2(2x_j+1)\big),\quad \xi_j=0,\quad x_j=(j-1)h$$

3. Проверка сходимости прогонки

Поскольку на $[0,1]$ имеем $x_j\ge0$, то $2x_j+1\ge1>0$:

$$|a_j|+|c_j|=2<2+2h^2(2x_j+1)=|b_j|$$

Диагональное преобладание выполнено — прогонка сходится.

4. Рекуррентное прогоночное соотношение

Вводим линейную связь $u_j=\alpha_j u_{j+1}+\beta_j$, справедливую для $j=1,\dots,N-1$. Записав её для $(j-1)$: $u_{j-1}=\alpha_{j-1}u_j+\beta_{j-1}$ и подставив в систему $a_j u_{j+1}+b_j u_j+c_j u_{j-1}=\xi_j$, выражаем $u_j$ и сравниваем с прогоночным соотношением:

$$\alpha_j=-\frac{a_j}{b_j+c_j\alpha_{j-1}},\qquad \beta_j=\frac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$$

5. Начальные коэффициенты $\alpha_1,\beta_1$ (из левого ГУ)

Левое ГУ 2-го рода правой разностью:

$$\frac{u_2-u_1}{h}=0\;\Rightarrow\; u_1=u_2$$

Сравнивая с $u_1=\alpha_1 u_2+\beta_1$:

$$\boxed{\alpha_1=1,\qquad \beta_1=0}$$

6. Решение на правой границе $u_N$ (из правого ГУ)

Правое ГУ 2-го рода левой разностью, подставляем $u_{N-1}=\alpha_{N-1}u_N+\beta_{N-1}$:

$$\frac{u_N-u_{N-1}}{h}=2e\;\Rightarrow\; u_N-\alpha_{N-1}u_N-\beta_{N-1}=2eh$$$$\boxed{u_N=\frac{2eh+\beta_{N-1}}{1-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

Сетка по координате: $x_j=(j-1)h$, $j=1,\dots,N$, шаг $h=\dfrac{1}{N-1}$ (отрезок $[0,1]$). Задача стационарная ($u=u(x)$), поэтому цикл по времени отсутствует — прогонка выполняется один раз.

  1. Из левого ГУ определить прогоночные коэффициенты на 1-м шаге: $\alpha_1,\beta_1$.
  2. Прямой ход (слева направо, $j=2,\dots,N-1$): вычислить $a_j,b_j,c_j,\xi_j$ и $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
  3. Из правого ГУ найти решение на правой границе $u_N$.
  4. Обратный ход (справа налево, $j=N-1,\dots,1$): $u_j=\alpha_j u_{j+1}+\beta_j$.
Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Метод (подробнее):
Семинар 4Разбор вопроса 9
Задача 7.3

$$\frac{d^2u}{dx^2} = u + 2e^x, \qquad u = u(x)$$
$$\begin{cases} \dfrac{du}{dx}(x=0) = u(x=0) + 1 \\[4pt] \dfrac{du}{dx}(x=1) = 2u(x=1) \end{cases}$$

Решение

Уравнение и граничные условия

$$\frac{d^2u}{dx^2}=u+2e^{x},\qquad u=u(x)$$$$\frac{du}{dx}(0)=u(0)+1,\qquad \frac{du}{dx}(1)=2u(1)$$

Оба условия — 3-го рода: левое $u'(0)=u(0)+1$ ($\varphi_1=1$, $\psi_1=1$); правое $u'(1)=2u(1)$ ($\varphi_2=2$, $\psi_2=0$).

Разностная сетка

Уравнение стационарное (обыкновенное, $u=u(x)$) на отрезке $[0,1]$. Вводим равномерную сетку $x_j=(j-1)h$, $j=1,\dots,N$, $h=\dfrac{1}{N-1}$. Производные аппроксимируем разностными операторами: $u''\to\dfrac{u_{j+1}-2u_j+u_{j-1}}{h^2}$ (центральная, 2-й порядок), $u'\to\dfrac{u_{j+1}-u_{j-1}}{2h}$ (центральная), $\dfrac{du}{dx}$ в ГУ — односторонней разностью. Получаем трёхдиагональную СЛАУ, которую решаем методом прогонки.

1. Разностная схема

В узле $x_j=(j-1)h$:

$$\frac{u_{j+1}-2u_j+u_{j-1}}{h^2}=u_j+2e^{x_j},\qquad x_j=(j-1)h$$

2. Приведение к виду, удобному для прогонки

Умножаем на $h^2$, неизвестные — влево, свободный член — вправо:

$$\underbrace{1}_{a_j}u_{j+1}\underbrace{-\big(2+h^2\big)}_{b_j}u_j+\underbrace{1}_{c_j}u_{j-1}=\underbrace{2h^2 e^{x_j}}_{\xi_j}$$$$a_j=c_j=1,\quad b_j=-(2+h^2),\quad \xi_j=2h^2 e^{x_j},\quad x_j=(j-1)h$$

3. Проверка сходимости прогонки

$$|a_j|+|c_j|=2<2+h^2=|b_j|$$

Диагональное преобладание выполнено при любом $h$ — прогонка сходится.

4. Рекуррентное прогоночное соотношение

Вводим линейную связь $u_j=\alpha_j u_{j+1}+\beta_j$, справедливую для $j=1,\dots,N-1$. Записав её для $(j-1)$: $u_{j-1}=\alpha_{j-1}u_j+\beta_{j-1}$ и подставив в систему $a_j u_{j+1}+b_j u_j+c_j u_{j-1}=\xi_j$, выражаем $u_j$ и сравниваем с прогоночным соотношением:

$$\alpha_j=-\frac{a_j}{b_j+c_j\alpha_{j-1}},\qquad \beta_j=\frac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$$

5. Начальные коэффициенты $\alpha_1,\beta_1$ (из левого ГУ)

Левое ГУ 3-го рода правой разностью:

$$\frac{u_2-u_1}{h}=u_1+1\;\Rightarrow\; u_2-h=(1+h)u_1\;\Rightarrow\; u_1=\frac{1}{1+h}u_2-\frac{h}{1+h}$$$$\boxed{\alpha_1=\frac{1}{1+h},\qquad \beta_1=-\frac{h}{1+h}}$$

6. Решение на правой границе $u_N$ (из правого ГУ)

Правое ГУ 3-го рода левой разностью, подставляем $u_{N-1}=\alpha_{N-1}u_N+\beta_{N-1}$:

$$\frac{u_N-u_{N-1}}{h}=2u_N\;\Rightarrow\; u_N-\alpha_{N-1}u_N-\beta_{N-1}=2h\,u_N$$$$\boxed{u_N=\frac{\beta_{N-1}}{1-\alpha_{N-1}-2h}}$$

Алгоритм решения (метод прогонки)

Сетка по координате: $x_j=(j-1)h$, $j=1,\dots,N$, шаг $h=\dfrac{1}{N-1}$ (отрезок $[0,1]$). Задача стационарная ($u=u(x)$), поэтому цикл по времени отсутствует — прогонка выполняется один раз.

  1. Из левого ГУ определить прогоночные коэффициенты на 1-м шаге: $\alpha_1,\beta_1$.
  2. Прямой ход (слева направо, $j=2,\dots,N-1$): вычислить $a_j,b_j,c_j,\xi_j$ и $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
  3. Из правого ГУ найти решение на правой границе $u_N$.
  4. Обратный ход (справа налево, $j=N-1,\dots,1$): $u_j=\alpha_j u_{j+1}+\beta_j$.
Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Метод (подробнее):
Семинар 4Разбор вопроса 9
Задача 7.4

$$x\frac{d^2u}{dx^2} = x\frac{du}{dx} + u, \qquad u = u(x)$$
$$\begin{cases} \dfrac{du}{dx}(x=0) = 1 \\[4pt] \dfrac{du}{dx}(x=1) = 2e \end{cases}$$

Решение

Уравнение и граничные условия

$$x\frac{d^2u}{dx^2}=x\frac{du}{dx}+u,\qquad u=u(x)$$$$\frac{du}{dx}(0)=1,\qquad \frac{du}{dx}(1)=2e$$

Оба условия — 2-го рода: $\varphi_1=1$, $\varphi_2=2e$.

Разностная сетка

Уравнение стационарное (обыкновенное, $u=u(x)$) на отрезке $[0,1]$. Вводим равномерную сетку $x_j=(j-1)h$, $j=1,\dots,N$, $h=\dfrac{1}{N-1}$. Производные аппроксимируем разностными операторами: $u''\to\dfrac{u_{j+1}-2u_j+u_{j-1}}{h^2}$ (центральная, 2-й порядок), $u'\to\dfrac{u_{j+1}-u_{j-1}}{2h}$ (центральная), $\dfrac{du}{dx}$ в ГУ — односторонней разностью. Получаем трёхдиагональную СЛАУ, которую решаем методом прогонки.

1. Разностная схема

В узле $x_j=(j-1)h$: $u''$ — центральная разность 2-го порядка, $u'$ — центральная разность:

$$x_j\frac{u_{j+1}-2u_j+u_{j-1}}{h^2}=x_j\frac{u_{j+1}-u_{j-1}}{2h}+u_j,\qquad x_j=(j-1)h$$

2. Приведение к виду, удобному для прогонки

Умножаем на $2h^2$ и собираем по узлам:

$$2x_j(u_{j+1}-2u_j+u_{j-1})=h x_j(u_{j+1}-u_{j-1})+2h^2 u_j$$$$\underbrace{x_j(2-h)}_{a_j}u_{j+1}\underbrace{-\big(4x_j+2h^2\big)}_{b_j}u_j+\underbrace{x_j(2+h)}_{c_j}u_{j-1}=\underbrace{0}_{\xi_j}$$$$a_j=x_j(2-h),\quad b_j=-(4x_j+2h^2),\quad c_j=x_j(2+h),\quad \xi_j=0,\quad x_j=(j-1)h$$

3. Проверка сходимости прогонки

На внутренних узлах $x_j>0$, при $h<2$ оба коэффициента положительны:

$$|a_j|+|c_j|=x_j(2-h)+x_j(2+h)=4x_j<4x_j+2h^2=|b_j|$$

Диагональное преобладание выполнено (за счёт $2h^2>0$) — прогонка сходится.

4. Рекуррентное прогоночное соотношение

Вводим линейную связь $u_j=\alpha_j u_{j+1}+\beta_j$, справедливую для $j=1,\dots,N-1$. Записав её для $(j-1)$: $u_{j-1}=\alpha_{j-1}u_j+\beta_{j-1}$ и подставив в систему $a_j u_{j+1}+b_j u_j+c_j u_{j-1}=\xi_j$, выражаем $u_j$ и сравниваем с прогоночным соотношением:

$$\alpha_j=-\frac{a_j}{b_j+c_j\alpha_{j-1}},\qquad \beta_j=\frac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$$

5. Начальные коэффициенты $\alpha_1,\beta_1$ (из левого ГУ)

Левое ГУ 2-го рода правой разностью:

$$\frac{u_2-u_1}{h}=1\;\Rightarrow\; u_1=u_2-h$$$$\boxed{\alpha_1=1,\qquad \beta_1=-h}$$

6. Решение на правой границе $u_N$ (из правого ГУ)

Правое ГУ 2-го рода левой разностью, подставляем $u_{N-1}=\alpha_{N-1}u_N+\beta_{N-1}$:

$$\frac{u_N-u_{N-1}}{h}=2e\;\Rightarrow\; u_N=\frac{2eh+\beta_{N-1}}{1-\alpha_{N-1}}$$$$\boxed{u_N=\frac{2eh+\beta_{N-1}}{1-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

Сетка по координате: $x_j=(j-1)h$, $j=1,\dots,N$, шаг $h=\dfrac{1}{N-1}$ (отрезок $[0,1]$). Задача стационарная ($u=u(x)$), поэтому цикл по времени отсутствует — прогонка выполняется один раз.

  1. Из левого ГУ определить прогоночные коэффициенты на 1-м шаге: $\alpha_1,\beta_1$.
  2. Прямой ход (слева направо, $j=2,\dots,N-1$): вычислить $a_j,b_j,c_j,\xi_j$ и $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
  3. Из правого ГУ найти решение на правой границе $u_N$.
  4. Обратный ход (справа налево, $j=N-1,\dots,1$): $u_j=\alpha_j u_{j+1}+\beta_j$.
Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Метод (подробнее):
Семинар 4Разбор вопроса 9
Задача 7.5

$$\frac{du}{dx} + \frac{d^2u}{dx^2} = u + e^x - e^{-x}, \qquad u = u(x)$$
$$\begin{cases} \dfrac{du}{dx}(x=0) = 0 \\[4pt] \dfrac{du}{dx}(x=1) = u(x=1) - \dfrac{2}{e} \end{cases}$$

Решение

Уравнение и граничные условия

$$\frac{du}{dx}+\frac{d^2u}{dx^2}=u+e^{x}-e^{-x},\qquad u=u(x)$$$$\frac{du}{dx}(0)=0,\qquad \frac{du}{dx}(1)=u(1)-\frac{2}{e}$$

Левое ГУ — 2-го рода ($\varphi_1=0$); правое — 3-го рода: $u'(1)=u(1)-\dfrac{2}{e}$ ($\varphi_2=1$, $\psi_2=-\dfrac{2}{e}$).

Разностная сетка

Уравнение стационарное (обыкновенное, $u=u(x)$) на отрезке $[0,1]$. Вводим равномерную сетку $x_j=(j-1)h$, $j=1,\dots,N$, $h=\dfrac{1}{N-1}$. Производные аппроксимируем разностными операторами: $u''\to\dfrac{u_{j+1}-2u_j+u_{j-1}}{h^2}$ (центральная, 2-й порядок), $u'\to\dfrac{u_{j+1}-u_{j-1}}{2h}$ (центральная), $\dfrac{du}{dx}$ в ГУ — односторонней разностью. Получаем трёхдиагональную СЛАУ, которую решаем методом прогонки.

1. Разностная схема

В узле $x_j=(j-1)h$: $u'$ — центральная разность, $u''$ — центральная разность 2-го порядка:

$$\frac{u_{j+1}-u_{j-1}}{2h}+\frac{u_{j+1}-2u_j+u_{j-1}}{h^2}=u_j+e^{x_j}-e^{-x_j},\qquad x_j=(j-1)h$$

2. Приведение к виду, удобному для прогонки

Умножаем на $2h^2$ и собираем по узлам:

$$h(u_{j+1}-u_{j-1})+2(u_{j+1}-2u_j+u_{j-1})=2h^2 u_j+2h^2(e^{x_j}-e^{-x_j})$$$$\underbrace{(2+h)}_{a_j}u_{j+1}\underbrace{-\big(4+2h^2\big)}_{b_j}u_j+\underbrace{(2-h)}_{c_j}u_{j-1}=\underbrace{2h^2\big(e^{x_j}-e^{-x_j}\big)}_{\xi_j}$$$$a_j=2+h,\quad b_j=-(4+2h^2),\quad c_j=2-h,\quad \xi_j=2h^2(e^{x_j}-e^{-x_j}),\quad x_j=(j-1)h$$

3. Проверка сходимости прогонки

При $h<2$ оба внедиагональных коэффициента положительны:

$$|a_j|+|c_j|=(2+h)+(2-h)=4<4+2h^2=|b_j|$$

Диагональное преобладание выполнено — прогонка сходится.

4. Рекуррентное прогоночное соотношение

Вводим линейную связь $u_j=\alpha_j u_{j+1}+\beta_j$, справедливую для $j=1,\dots,N-1$. Записав её для $(j-1)$: $u_{j-1}=\alpha_{j-1}u_j+\beta_{j-1}$ и подставив в систему $a_j u_{j+1}+b_j u_j+c_j u_{j-1}=\xi_j$, выражаем $u_j$ и сравниваем с прогоночным соотношением:

$$\alpha_j=-\frac{a_j}{b_j+c_j\alpha_{j-1}},\qquad \beta_j=\frac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$$

5. Начальные коэффициенты $\alpha_1,\beta_1$ (из левого ГУ)

Левое ГУ 2-го рода правой разностью:

$$\frac{u_2-u_1}{h}=0\;\Rightarrow\; u_1=u_2$$$$\boxed{\alpha_1=1,\qquad \beta_1=0}$$

6. Решение на правой границе $u_N$ (из правого ГУ)

Правое ГУ 3-го рода левой разностью, подставляем $u_{N-1}=\alpha_{N-1}u_N+\beta_{N-1}$:

$$\frac{u_N-u_{N-1}}{h}=u_N-\frac{2}{e}\;\Rightarrow\; u_N-\alpha_{N-1}u_N-\beta_{N-1}=h\,u_N-\frac{2h}{e}$$$$\boxed{u_N=\frac{\beta_{N-1}-\dfrac{2h}{e}}{1-\alpha_{N-1}-h}}$$

Алгоритм решения (метод прогонки)

Сетка по координате: $x_j=(j-1)h$, $j=1,\dots,N$, шаг $h=\dfrac{1}{N-1}$ (отрезок $[0,1]$). Задача стационарная ($u=u(x)$), поэтому цикл по времени отсутствует — прогонка выполняется один раз.

  1. Из левого ГУ определить прогоночные коэффициенты на 1-м шаге: $\alpha_1,\beta_1$.
  2. Прямой ход (слева направо, $j=2,\dots,N-1$): вычислить $a_j,b_j,c_j,\xi_j$ и $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
  3. Из правого ГУ найти решение на правой границе $u_N$.
  4. Обратный ход (справа налево, $j=N-1,\dots,1$): $u_j=\alpha_j u_{j+1}+\beta_j$.
Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Метод (подробнее):
Семинар 4Разбор вопроса 9
Задача 7.6

$$\frac{du}{dx} - \frac{d^2u}{dx^2} = 2(e^x - u), \qquad u = u(x)$$
$$\begin{cases} \dfrac{du}{dx}(x=0) = u(x=0) - 2 \\[4pt] \dfrac{du}{dx}(x=1) = e - \dfrac{1}{e} \end{cases}$$

Решение

Уравнение и граничные условия

$$\frac{du}{dx}-\frac{d^2u}{dx^2}=2\big(e^{x}-u\big),\qquad u=u(x)$$$$\frac{du}{dx}(0)=u(0)-2,\qquad \frac{du}{dx}(1)=e-\frac{1}{e}$$

Левое ГУ — 3-го рода: $u'(0)=u(0)-2$ ($\varphi_1=1$, $\psi_1=-2$); правое — 2-го рода: $\varphi_2=e-\dfrac{1}{e}$.

Разностная сетка

Уравнение стационарное (обыкновенное, $u=u(x)$) на отрезке $[0,1]$. Вводим равномерную сетку $x_j=(j-1)h$, $j=1,\dots,N$, $h=\dfrac{1}{N-1}$. Производные аппроксимируем разностными операторами: $u''\to\dfrac{u_{j+1}-2u_j+u_{j-1}}{h^2}$ (центральная, 2-й порядок), $u'\to\dfrac{u_{j+1}-u_{j-1}}{2h}$ (центральная), $\dfrac{du}{dx}$ в ГУ — односторонней разностью. Получаем трёхдиагональную СЛАУ, которую решаем методом прогонки.

1. Разностная схема

В узле $x_j=(j-1)h$: $u'$ — центральная разность, $u''$ — центральная разность 2-го порядка:

$$\frac{u_{j+1}-u_{j-1}}{2h}-\frac{u_{j+1}-2u_j+u_{j-1}}{h^2}=2e^{x_j}-2u_j,\qquad x_j=(j-1)h$$

2. Приведение к виду, удобному для прогонки

Умножаем на $2h^2$, член $-4h^2 u_j$ переносим влево:

$$h(u_{j+1}-u_{j-1})-2(u_{j+1}-2u_j+u_{j-1})=4h^2 e^{x_j}-4h^2 u_j$$$$\underbrace{(h-2)}_{a_j}u_{j+1}+\underbrace{\big(4+4h^2\big)}_{b_j}u_j\underbrace{-(h+2)}_{c_j}u_{j-1}=\underbrace{4h^2 e^{x_j}}_{\xi_j}$$$$a_j=h-2,\quad b_j=4+4h^2,\quad c_j=-(h+2),\quad \xi_j=4h^2 e^{x_j},\quad x_j=(j-1)h$$

3. Проверка сходимости прогонки

При $h<2$ имеем $|a_j|=2-h$, $|c_j|=h+2$:

$$|a_j|+|c_j|=(2-h)+(h+2)=4<4+4h^2=|b_j|$$

Диагональное преобладание выполнено — прогонка сходится.

4. Рекуррентное прогоночное соотношение

Вводим линейную связь $u_j=\alpha_j u_{j+1}+\beta_j$, справедливую для $j=1,\dots,N-1$. Записав её для $(j-1)$: $u_{j-1}=\alpha_{j-1}u_j+\beta_{j-1}$ и подставив в систему $a_j u_{j+1}+b_j u_j+c_j u_{j-1}=\xi_j$, выражаем $u_j$ и сравниваем с прогоночным соотношением:

$$\alpha_j=-\frac{a_j}{b_j+c_j\alpha_{j-1}},\qquad \beta_j=\frac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$$

5. Начальные коэффициенты $\alpha_1,\beta_1$ (из левого ГУ)

Левое ГУ 3-го рода правой разностью:

$$\frac{u_2-u_1}{h}=u_1-2\;\Rightarrow\; u_2+2h=(1+h)u_1\;\Rightarrow\; u_1=\frac{1}{1+h}u_2+\frac{2h}{1+h}$$$$\boxed{\alpha_1=\frac{1}{1+h},\qquad \beta_1=\frac{2h}{1+h}}$$

6. Решение на правой границе $u_N$ (из правого ГУ)

Правое ГУ 2-го рода левой разностью, подставляем $u_{N-1}=\alpha_{N-1}u_N+\beta_{N-1}$:

$$\frac{u_N-u_{N-1}}{h}=e-\frac{1}{e}\;\Rightarrow\; u_N=\frac{h\big(e-\tfrac{1}{e}\big)+\beta_{N-1}}{1-\alpha_{N-1}}$$$$\boxed{u_N=\frac{h\left(e-\dfrac{1}{e}\right)+\beta_{N-1}}{1-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

Сетка по координате: $x_j=(j-1)h$, $j=1,\dots,N$, шаг $h=\dfrac{1}{N-1}$ (отрезок $[0,1]$). Задача стационарная ($u=u(x)$), поэтому цикл по времени отсутствует — прогонка выполняется один раз.

  1. Из левого ГУ определить прогоночные коэффициенты на 1-м шаге: $\alpha_1,\beta_1$.
  2. Прямой ход (слева направо, $j=2,\dots,N-1$): вычислить $a_j,b_j,c_j,\xi_j$ и $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
  3. Из правого ГУ найти решение на правой границе $u_N$.
  4. Обратный ход (справа налево, $j=N-1,\dots,1$): $u_j=\alpha_j u_{j+1}+\beta_j$.
Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Метод (подробнее):
Семинар 4Разбор вопроса 9