Автор Тема: Прошу помощи в решении дифференциальных уравнений  (Прочитано 2315 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Unruly

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Задание: Осуществить приближенные решения диф-ных уравнений методами Эйлера и Рунге-Кутта, полагая h=0,1. Результаты сравнить.  y'=y-x,    y(0)=1,5,       x принадлежит [0,1]

Буду очень благодарна!!! Особенно за подробное объяснение :)

Оффлайн Dlacier

  • Глобальный модератор
  • *****
  • Сообщений: 3656
    • Просмотр профиля
какие у вас есть мысли?
Чтобы правильно задать вопрос, нужно знать большую часть ответа. (с)
Формулы пишите в LaTex.

Оффлайн Dlacier

  • Глобальный модератор
  • *****
  • Сообщений: 3656
    • Просмотр профиля
Вам точно вручную нужно делать?!

В методах вычмсления одной статьей не обойтись. Советую все же почитать литературу (например Бахвалова "Численные методы"). То что вы выложили (для чего интересно?), я так понимаю это и есть статья, но не ваши мысли по ходу решения.

Метод Эйлера - частный случай метода Рунге-Кутты.
Теорию вы не знаете, а без ее понимания...

\( y'=y-x=f(x,y) \)
\( x_0=0 \)
\( y_0=1.5 \)
\( h=0.1 \)
\( n= \frac{1-0}{h}=10 \)
\( y_{n+1}=y_n+\sum_{i=0}^{q} A_i \varphi _i \)

где собственно q выбирается. При q=0 получаем метод Эйлера.
Рассмотрим при q=1, также полагаем \( A_1=1, A_0=0 \), т.е.
\( y_{n+1}=y_n+ A_1 \varphi _1 \)
\( \varphi _0=h f(x_n, y_n) \)
\( \varphi _1=h f(x_n+\frac{1}{2}h, y_n+\frac{1}{2}\varphi _0 ) \)

ну вот те формулы, по которым можно считать. Начну
\( n=1 \)
\( y_1=y_0+ \varphi _0 \)
\( \varphi _0=h f(x_0, y_0) \)
\( \varphi _1=h f(x_0+\frac{1}{2}h, y_0+\frac{1}{2}\varphi _0 ) \)

и т.д. \( n=2,3,... \)
кстати, \( x_n=x_0+nh \)

Если появятся конкретные вопросы, постараюсь ответить.
Чтобы правильно задать вопрос, нужно знать большую часть ответа. (с)
Формулы пишите в LaTex.

Оффлайн Dlacier

  • Глобальный модератор
  • *****
  • Сообщений: 3656
    • Просмотр профиля
нашла ошибки в предыдущем ответе.
Чтобы правильно задать вопрос, нужно знать большую часть ответа. (с)
Формулы пишите в LaTex.

Оффлайн Dlacier

  • Глобальный модератор
  • *****
  • Сообщений: 3656
    • Просмотр профиля
дубль два:

\( y'=y-x=f(x,y) \)
\( x_0=0 \)
\( y_0=1.5 \)
\( h=0.1 \)
\( n= \frac{1-0}{h}=10 \)
\( y_{n+1}=y_n+\sum_{i=0}^{q} A_i \varphi _i \)

где собственно q выбирается. При q=0 получаем метод Эйлера.
Рассмотрим при q=1, также полагаем \( A_1=1, A_0=0 \), т.е.
\( y_{n+1}=y_n+ \varphi _1 \)
\( \varphi _0=h \cdot f(x_n, y_n) \)
\( \varphi _1=h \cdot f(x_n+\frac{1}{2}h, y_n+\frac{1}{2}\varphi _0 ) \)

ну вот те формулы, по которым можно считать. Начну
\( n=1 \)
\( y_1=y_0+ \varphi _1 \)                                                                        (1)
\( \varphi _0=h\cdot f(x_0, y_0)=h (y_0-x_0)=0.1 \cdot (1.5-0)=0.15 \)
\( \varphi _1=h\cdot f(x_0+\frac{1}{2}h, y_0+\frac{1}{2}\varphi _0 )= \)
\( =h (y_0+\frac{1}{2}\varphi _0 - (x_0+\frac{1}{2}h) )= \)
\( =0.1\cdot (1.5+\frac{1}{2}\cdot 0.15 - (0+\frac{1}{2}\cdot 0.1) )= \)
Найденное \( \varphi _1 \) подставляем в (1), получаем \( y_1 \). Далее аналогично для \( y_2 \) и т.д.
« Последнее редактирование: 04 Сентября 2010, 20:57:18 от Dlacier »
Чтобы правильно задать вопрос, нужно знать большую часть ответа. (с)
Формулы пишите в LaTex.

Оффлайн Unruly

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Большое спасибо за разъяснения! Сижу,решаю. Правда у меня появился вопрос,почему в примере вы берете в начале n=1,и далее следует y1=y0+фи1,по формуле,что вы указали выше следовало взять n=0,и т.д. Ибо взяв за n=1 мы бы начали считать с y2/sub].Может я неправильно поняла и неверно считаю?

Оффлайн Unruly

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Да,и,прошу прощения за своё незнание.У каждого есть свои сильные и слабые стороны,только одни делают на это акцент,а другие нет.Еще раз спасибо за пояснения,надеюсь Ваш рейтинг будет идти в гору,с наилучшими ^__^. Модеры можете закрывать тему.

Оффлайн Dlacier

  • Глобальный модератор
  • *****
  • Сообщений: 3656
    • Просмотр профиля
Правда у меня появился вопрос,почему в примере вы берете в начале n=1,и далее следует y1=y0+фи1,по формуле,что вы указали выше следовало взять n=0,и т.д.
Верно замечено)
ориентироваться нужно на пост с номером 4, с поправкой которую вы сказали, а именно начинать с \( n=0 \).
Чтобы правильно задать вопрос, нужно знать большую часть ответа. (с)
Формулы пишите в LaTex.

Оффлайн Dlacier

  • Глобальный модератор
  • *****
  • Сообщений: 3656
    • Просмотр профиля
У каждого есть свои сильные и слабые стороны,только одни делают на это акцент,а другие нет.

Одна из главных слабых сторон человека, по-моему, лень (с вытекающими) :)))

Если действительно что-то прояснилось, очень рады за вас!)
Заходите еще:)
Успехов!
Чтобы правильно задать вопрос, нужно знать большую часть ответа. (с)
Формулы пишите в LaTex.

Оффлайн Unruly

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Лень-согласна,но так же одна из слабых сторон-высокомерие,хотя это уже флуд.Обязательно зайду еще,спасибо за напутствия!)))