Численные методы

Аватар пользователя
Dr. Arrieta
Сообщений: 458
Зарегистрирован: 02 авг 2009, 21:00

Численные методы

Сообщение Dr. Arrieta » 15 янв 2014, 18:53

Возник такой, казалось бы, тривиальный вопрос. Нужно решить уравнение параболического типа с помощью явной схемы:

$$ y_{i}^{n+1}=\frac{y_{i+1}^{n}-2*y_{i}^{n}+y_{i-1}^{n}}{h^2} $$

Я выкинул некоторые слагаемые, которые прибавляются дальше - они не влияют на суть вопроса.
Так вот, также дано начальное условие, т.е при t=0 (n=0). Чтобы вычислить то, что я указал выше, т.е. значение на слое n+1, при n=0 сначала, т.е. у(1), нужно использовать начальное условие, т.е. определить значения на слое n=0 при i+1, i и i-1. Это понятно. Мы получаем значение у(1). Но вот как дальше быть, я не знаю. Теперь нужно вычислить у(2), т.е. n будет равно 1. $$ y_{i}^{n}=y_{0}^{1} $$ мы уже вычислили, а вот что делать с $$ y_{i+1}^{n}=y_{1}^{1} $$ - непонятно. Мы же уже не можем использовать начальные условия, т.к. n уже не ноль, а 1, т.е. это уже другой слой. И то, что определили до этого, не можем использовать в этом случае, т.к. мы определили это для i, а не для i+1 и i-1.
Помогите разобраться, очень нужно.
Последний раз редактировалось Dr. Arrieta 27 ноя 2019, 21:39, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Ian
Сообщений: 5455
Зарегистрирован: 28 июл 2009, 21:00

Численные методы

Сообщение Ian » 15 янв 2014, 19:32

Это типа уравнение теплопроводности для ограниченного стержня, должны быть заданы граничные условия $$y(0,t)$$ и $$y(l,t)$$ -наз."условия 1 рода", или на производные по х (2 рода) или смешанные.
Иначе и точное решение не определено, и численный метод не работает
Последний раз редактировалось Ian 27 ноя 2019, 21:39, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Dr. Arrieta
Сообщений: 458
Зарегистрирован: 02 авг 2009, 21:00

Численные методы

Сообщение Dr. Arrieta » 15 янв 2014, 19:34

Да, граничные условия тоже имеются. Только, разве их необходимо использовать в явной схеме?
Последний раз редактировалось Dr. Arrieta 27 ноя 2019, 21:39, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Ian
Сообщений: 5455
Зарегистрирован: 28 июл 2009, 21:00

Численные методы

Сообщение Ian » 15 янв 2014, 19:44

Необходимо. Если они 1 рода, то крайние $$y_0^n$$ и другое (назовем его $$y_m^n$$, где $$l=mh$$) вычисляются в зависимости от n (пропорциональном времени t) А если нет, то скажите какие они
Последний раз редактировалось Ian 27 ноя 2019, 21:39, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Dr. Arrieta
Сообщений: 458
Зарегистрирован: 02 авг 2009, 21:00

Численные методы

Сообщение Dr. Arrieta » 15 янв 2014, 19:48

Да, они первого рода:

u(0, t)=1; u(1, t)=0
Последний раз редактировалось Dr. Arrieta 27 ноя 2019, 21:39, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Ian
Сообщений: 5455
Зарегистрирован: 28 июл 2009, 21:00

Численные методы

Сообщение Ian » 15 янв 2014, 20:03

Ну все просто $$y_0^n=0$$,$$y_m^n=1$$ при любом n, а вот $$y_i^{n+1}$$ вычисляются по этой формуле при $$i=1...m-1$$
Последний раз редактировалось Ian 27 ноя 2019, 21:40, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Dr. Arrieta
Сообщений: 458
Зарегистрирован: 02 авг 2009, 21:00

Численные методы

Сообщение Dr. Arrieta » 16 янв 2014, 14:12

Мне кажется, вы перепутали выражения местами.
Я не совсем понимаю...Например, нам нужно определить $$ y_{1}^{1} è y_{-1}^{1} $$ Получается, что по времени это первый слой, а по координате первый или минус первый. А граничные условия даны именно на границах, т.е. при х=0 и х=1. И еще, вы писали, что при любом n...но это ведь относится именно к случаям, когда х=0 и х=1, а не ко всем остальным, которые посередине вычислений. И, если руководствоваться этим, то зачем тогда вообще нужны начальные условия? Мы же именно по ним вычисляем $$ y_{1}^{0} , y_{-1}^{0} $$...
Последний раз редактировалось Dr. Arrieta 27 ноя 2019, 21:40, всего редактировалось 1 раз.
Причина: test

СергейП
Сообщений: 4145
Зарегистрирован: 17 июл 2009, 21:00

Численные методы

Сообщение СергейП » 16 янв 2014, 20:19

Это сообщение от Ian-а:

Описали бы задачу с начала, проблем бы не было
Точная задача
$$\displaystyle \frac{\d y(x,t)}{\d t}=\frac{\d ^2y(x,t)}{\d x^2}$$
$$x\in [0,l]$$ или где? $$t\in [0,\infty )$$
$$y(x,0)=\varphi (x)$$ начальное условие
$$y(0,t)\equiv 1,y(0,t)\equiv 0$$ граничные условия
Переход к сетке
$$h=l/m$$ малое, $$\tau =t/n<\frac{h^2}2$$ условие устойчивости для шага по времени
Теперь функция интересует только в узлах сетки $$x=ih,i=0...m,t=n\tau ,n= 0,1...$$
В крайних точках сетки она известна
$$y_i ^0=\varphi (ih),i=0...m$$- из начального условия
$$y_0^n=1$$ и $$y_m^n=0$$ из граничных условий
Метод вычисления по явной схеме:
$$\displaystyle y_i^{n+1}:=y_i^n+\frac{\tau}{h^2}(y_{i+1}^n-2y_i^n+y_{i-1}^n)$$ где i=1,...m-1, так как для i=0 и i=m известно из граничных условий $$y_0^{n+1}=1,y_m^{n+1}=0$$. Применять этот цикл присваиваний последовательно для n=0,1,2,...
Последний раз редактировалось СергейП 27 ноя 2019, 21:40, всего редактировалось 1 раз.
Причина: test

Pyotr
Сообщений: 4896
Зарегистрирован: 19 авг 2008, 21:00

Численные методы

Сообщение Pyotr » 17 янв 2014, 14:39

Это для явной схемы, а для неявной - старая добрая прогонка.
Последний раз редактировалось Pyotr 27 ноя 2019, 21:40, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Dr. Arrieta
Сообщений: 458
Зарегистрирован: 02 авг 2009, 21:00

Численные методы

Сообщение Dr. Arrieta » 10 фев 2014, 16:36

Извиняюсь, что давно не появлялся - не было возможности.
Мне уже все объяснили. Я понял, что просто неправильно менял эти слои - я их менял одновременно как по координате, так и по времени, а надо было сначала вычислить все значения на одном слое по времени, меняя только координатный и т.д.
Из ваших объяснений я, конечно, мало что понял, но все равно спасибо)
Последний раз редактировалось Dr. Arrieta 27 ноя 2019, 21:40, всего редактировалось 1 раз.
Причина: test


Вернуться в «Другие разделы математики»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 1 гость