Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/254: Рейтинг темы: голосов - 254, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 11

Численное решение дифференциальных уравнений

25.06.2015, 19:30. Показов 47357. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано: https://www.cyberforum.ru/cgi-bin/latex.cgi? y' = y * cos(x),  y(0) = 1
Точное решение: https://www.cyberforum.ru/cgi-bin/latex.cgi? y = {e}^{sin(x)}

Найти решения с помощью методов Эйлера и Рунге - Кутты 2-го порядка точности на отрезке [0, 1].

Python
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
import math
import matplotlib.pyplot as plt
from matplotlib import mlab
 
 
# начальные условия
x0 = 0
y0 = 1
# шаг
h = 0.1
# отрезок [x0, xn], где x0 = 0, xn = 1
xn = 1
 
 
f = lambda x, y: y * math.cos(x)
ilist = mlab.frange(0, 10, 1)
xlist = [(x0+h*i) for i in ilist]
ylist = []
 
 
prev = y0
print("метод Эйлера")
for x in xlist:
    y = prev + h*f(x,y0)
    prev = y
    ylist.append(prev)
    print(y)
 
    
# массив со значениями точного решения  
lst = []
print("\nТочное решение:", )
for x in xlist:
    func = math.e ** math.sin(x) # точное решение
    lst.append(func)
    print(func)
 
 
 
plt.rc('font',**{'family':'verdana'})
plt.xlabel("ось абцисс")
plt.ylabel("ось ординат")
plt.plot(xlist, ylist, "b-", label="метод Эйлера")
plt.plot(xlist, lst, "g-", label="точное решение")
plt.legend()
plt.grid()
plt.show()

Почему погрешность получается такой большой:

метод Эйлера
1.1
1.1995004165278027
1.2975070743119268
1.3930407232244875
1.485146822624776
1.5729050788138133
1.6554386403047812
1.73192285903323
1.8015935299679466
1.863754526795013
1.917784757381827

Точное решение:
1.0
1.1049868303316892
1.219778556000619
1.3438252437316534
1.476121946445728
1.6151462964420837
1.7588188457669929
1.9044965343867304
2.049008650164274
2.1887419126046135
2.319776824715853


И, да, подскажите, пожалуйста, как реализовать метод Рунге-Кутты?
Миниатюры
Численное решение дифференциальных уравнений  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.06.2015, 19:30
Ответы с готовыми решениями:

Численное решение дифференциальных уравнений первого порядка
Численное решение дифференциальных уравнений первого порядка Python

Численное решение дифференциальных уравнений первого порядка
Здравствуйте. Собственно, само задание: С помощью численных методов решить дифференциальное уравнение первого порядка у'=f(x,y). ...

Численное решение системы дифференциальных уравнений методом Хэмминга
Доброе время суток, помогите, пожалуйста, написать программу для решения системы дифференциальных методом Хэмминга на python: dx/dt=y ...

1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.06.2015, 13:02
Метод Эйлера - самый примитивный и неточный, а вы ещё и шаг большой взяли - 0.1.

Добавлено через 5 часов 46 минут
Метод Рунге-Кутты https://ru.wikipedia.org/wiki/... 1%82%D1%8B
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.06.2015, 13:02
Помогаю со студенческими работами здесь

Решение систем дифференциальных уравнений
Доброго времени суток!)) Разбирался с scipy и numpy, понял как решать системы дифференциальных уравнений , если у нас есть фиксированное...

Численное решение нелинейных уравнений с заданной точностью
Помогите доделать код По заданному нелинейному уравнению F(x)=0, где F(x) – некоторое нелинейное аналитическое выражение,...

Исправить программу для решения дифференциальных уравнений
Здравствуйте уважаемые! Никогда не писал на питоне, но данную задачу нам сказали решать на нем. Нашел красивый код в инете, но не...

Численное решение дифференциальных уравнений первого порядка
1.Метод Эйлера. 2.Метод Рунге-Кутта четвертого порядка уравнение - у'=sec(x)- y tg(x) # * - coding: utf-8 - *- # подключение...

Численное решение нелинейных уравнений
Составить 3 программы, для решения нелинейного уравнения методом простых итераций, методом Ньютона и методом секущих с точностью 0,001


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru