0 / 0 / 0
Регистрация: 14.11.2016
Сообщений: 4
1

Решение дифференциального уравнения методом Рунге-Кутта четвертого порядка

14.11.2016, 07:28. Показов 3278. Ответов 2

Студворк — интернет-сервис помощи студентам
Решить дифференциальное уравнение
y'-(y/x) = x*sin(x)
X принадлежит [пи/2;пи/2 + 1]
y(пи/2)= пи
y= 2x-x*cos(x)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2016, 07:28
Ответы с готовыми решениями:

Решение дифференциальных уравнений четвертого порядка методом Эйлера и методом Рунге-Кутта
Форумчане прошу помочь решить уравнение f :=y+y'*x+y''+y'''*x методами Рунге-Кутта и Эйлера. Если...

Решение диф. уравнения 1-го порядка методом Рунге-Кутта
Здраствуйте, извините за обращение, задание поди пустяковое, но и с ним мне нужна помощь(...

Решение уравнений методом Рунге-Кутта 4 порядка
напишите програму для решения уравнений методом Рунги-кута 4 порядка))

Решение системы ОДУ методом Рунге-Кутта
Вообщем такая проблема: нужно оду 2 порядка преобразовать к системе оду первого порядка и найти ее...

2
Модератор
Эксперт по электронике
8316 / 4215 / 1602
Регистрация: 01.02.2015
Сообщений: 13,125
Записей в блоге: 4
14.11.2016, 22:24 2
Лучший ответ Сообщение было отмечено Repulsor как решение

Решение

Из бабушкиного сундука
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
program RungeKutta4;
 
  function f(x, y: real): real;
  begin
    f := x * sin(x) + y / x;
  end;
 
  function Yetalon(x: real): real;
  begin
    Yetalon := 2 * x - x * cos(x);
  end;
 
  procedure RungeKutta4Step(var t, y: real; h: real);
  var
    k1, k2, k3, k4: real;
  begin
    k1 := f(t, y);
    k2 := f(t + (h / 2), y + k1 * (h / 2));
    k3 := f(t + (h / 2), y + k2 * (h / 2));
    k4 := f(t + h, y + k3 * h);
    y  := y + (k1 + 2 * k2 + 2 * k3 + k4) * h / 6;
    t  := t + h;
  end;
 
  procedure RungeKutta4(t0, tfin, h, y0: real; var yfin: real; Nprint: integer);
  var
    t: real;
    y: real;
    Tprint: real;
  begin
    t := t0;
    y := y0;
    if Nprint > 0 then
    begin
      Tprint := t + (tfin - t0) / Nprint;
      writeln('x': 9, 'y': 12, 'Yetalon': 15);
      writeln(t: 12: 5, y: 12: 5, Yetalon(t): 12: 5);
    end;
    while (t + h) <= (tfin + h / 2) do
    begin
      RungeKutta4Step(t, y, h);
      if (Nprint > 0) and (abs(t - Tprint) < h / 2) then
      begin
        writeln(t: 12: 5, y: 12: 5, Yetalon(t): 12: 5);
        Tprint := Tprint + (tfin - t0) / Nprint;
      end;
    end;
    yfin := y;
  end;
 
  procedure Differ(t0, tfin, y0: real; eps: real; Nprint: integer);
  var
    h: real;
    y1, y2: real;
  begin
    if Nprint <= 0 then
      exit;
    h := (tfin - t0) / Nprint;
    RungeKutta4(t0, tfin, h, y0, y2, 0);
    repeat
      y1 := y2;
      h  := h / 2;
      RungeKutta4(t0, tfin, h, y0, y2, 0);
    until abs(y2 - y1) < eps;
    RungeKutta4(t0, tfin, h, y0, y2, Nprint);
  end;
 
const
  a  = Pi / 2;
  b  = Pi / 2 + 1;
  Ya = Pi;
  Eps = 0.01;
  Nprint = 10;
var
  yfin: real;
begin
  writeln('Решение с фиксированным шагом ', (b - a) / Nprint: 0: 5);
  RungeKutta4(a, b, (b - a) / Nprint, Ya, yfin, Nprint);
  writeln('Решение с заданной точностью Eps=', Eps: 0: 5);
  Differ(a, b, Ya, Eps, Nprint);
end.
0
0 / 0 / 0
Регистрация: 14.11.2016
Сообщений: 4
14.11.2016, 23:19  [ТС] 3
Спасибо,большое)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2016, 23:19
Помогаю со студенческими работами здесь

Решение уравнения методом Эйлера и Рунге Кутте
Ребят, всем привет! Срочно нужна ваша помощь. Не могу никак решить обыкновенного дифференциального...

Метод Рунге-Кутта 4 порядка точности
Уважаемые Форумчане помогите решить задачу Коши для обыкновенного дифференциального уравнения y'...

Решить задачу Коши для обыкновенного дифференциального уравнения методом Эйлера
1. Решить задачу Коши для обыкновенного дифференциального уравнения y¹=x²+y² отрезке...

Метод Рунге-Кутта 4 порядка график решения
Помогите, пожалуйста, как исправить ошибку: DIFur2.pas(69) : Ошибка времени выполнения: Значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru