IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Численные методы решения ОДУ
Veina
сообщение 11.04.2011 9:58
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Женский
Реальное имя: Марина

Репутация: -  0  +


Я написала программу на Паскале для формулы yn+1=yn+h*fn
Вот код:
program eiler;

var x,y,a,b,h:real;

function f(x,y:real):real;

begin f:= y*y*(8-20*x); end;

begin

writeln('vvedite y, a, b, h');

readln(y,a,b,h); x:=a;

repeat

writeln(x:0:1,' ',y:0:3);

y:=y+h*f(x,y);

x:=x+h;

until not (x<b);

readln;

end.


А как написать переделать для формулы
yn+1=yn+h*fn+1
и для формулы yn+1=yn+(h/2)*(3fn-fn-1)
Подскажите, пожалуйста, кто-нибудь. Заранее спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Krjuger
сообщение 3.05.2011 19:45
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Ты немного не правильно подходишь в решению.
Смотри у тебя решение имеет вид. уi+1=yi+h*f(xi+1,yi+1).Кстати та функция которую я написал является упрощенным неявным методом Эйлера,полный чуть сложнее выглядит.Как нетрудно заметить уi+1присутствует в обоих частях уравнения.И вот тут начинается самое интересное,как найти это число.Для того чтобы найти это число на каждом этапе нам будет необходимо решить это алгебраическое уравнение численным методом,например можно взять метод Ньютона.В итоге на каждом шаге придется совершать дополнительные вычисления,чтобы найти эти у12 и тд,но положительным моментом будет повышение точности результата.
А вообще скачай и поставь Abode Reader,чтобы посомтреть ту ссылку,что я скинул,там все весма доходчиво написано.Просто я не настолько хорошо могу все изложить.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Veina   Численные методы решения ОДУ   11.04.2011 9:58
TarasBer   fn - это f(xn,yn)? > yn+1=yn+h*fn+1 В общем с...   11.04.2011 10:34
Lapp   fn - это f(xn,yn)?Думаю, что f - производная, т.е....   11.04.2011 11:13
TarasBer   > Начальное значение y вводится с клавы, см. пр...   11.04.2011 11:38
Lapp   А минус-первое? Первый шаг итерации делается так ж...   11.04.2011 11:56
TarasBer   Не понял. Зачем? Задано граничное условие.. Во...   11.04.2011 12:43
Lapp   На вычметодах такое точно было?Ну это же самое нач...   11.04.2011 13:23
TarasBer   > Ну это же самое начало. Для f(x[n], y[n]) - ...   11.04.2011 13:39
Гость   Тогда для формулы yn+1=yn+(h/2)*(3fn-fn-1) будет в...   11.04.2011 16:08
Lapp   Для f(x[n], y[n]) - да, было. А для f(x[n+1], y[n]...   12.04.2011 4:29
-Veina-   program eiler_3; var x,y,a,b,h: real; function ...   30.04.2011 13:58
Гость   И ещё: всё таки для неявного метода Эйлера (вторая...   30.04.2011 17:48
Lapp   И ещё: всё таки для неявного метода Эйлера (вторая...   4.05.2011 3:15
-Veina-   Lapp, откликнетесь, пожалуйста, очень нужна ваша п...   3.05.2011 12:33
Krjuger   Хоть я и не Lapp,и извините,что влезаю,но прочти э...   3.05.2011 16:35
Veina   Не хочет никак открываться((   3.05.2011 17:14
-TarasBer-   Правой кнопкой мыши по ссылке -> сохранить объе...   3.05.2011 18:03
Veina   Раз не открывает, значит и не качает( Может вы сам...   3.05.2011 18:06
Krjuger   Ты немного не правильно подходишь в решению. Смотр...   3.05.2011 19:45


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 3:52
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"