Разработка на Python (научное, задача, математика)
1 500 руб. за проект
Численное решение задачи Коши для ОДУ второго порядка
Решить только ЗАДАНИЕ с 1 по 5 УСЛОВИЕ находится внизу в пункте 5
Прикреплена фотография
-есть пример другого условия Рунге-Кутта в файле
import math
import numpy as np
import matplotlib.pyplot as plt
dy = lambda x,y: (2 + math.cos(3+x))* y + 4 * (math.cos(3+x)*(1-math.sin(3+x))-2 * math.sin(3+x))
f = lambda x: 4 * math.sin(3+x)
xi = 0; xf = 10; h = 0.05
n = int((xf - xi) / h)
x = 0; y = 4 * math.sin(3)
print ('x\t\t y \t\t f(x)'); print ('%f \t %f \t %f' % (x, y, f(x)))
x_plot = []; y_RK4 = []; y_analytical = []
for i in range(1, n+1):
x_plot.append(x); y_RK4.append(y); y_analytical.append(f(x))
k1 = dy(x,y)
k2 = dy(x+h/2, y+k1*h/2)
k3 = dy(x+h/2, y+k2*h/2)
k4 = dy(x+h, y+k3*h)
y = y + 1 / 6 * (k1 + 2 * k2 + 2 * k3 + k4) * h
x = x + h
print ('%f \t %f \t %f' % (x, y, f(x)))
x_plot.append(x); y_RK4.append(y); y_analytical.append(f(x))
plt.plot(x_plot, y_RK4, 'ro', x_plot,y_analytical)
plt.xlabel('x'); plt.ylabel('y')
plt.grid()
plt.legend(['Рунге-Кута', 'Точное решение'])
Решить только ЗАДАНИЕ с 1 по 5 УСЛОВИЕ находится внизу в пункте 5
Прикреплена фотография
-есть пример другого условия Рунге-Кутта в файле
import math
import numpy as np
import matplotlib.pyplot as plt
dy = lambda x,y: (2 + math.cos(3+x))* y + 4 * (math.cos(3+x)*(1-math.sin(3+x))-2 * math.sin(3+x))
f = lambda x: 4 * math.sin(3+x)
xi = 0; xf = 10; h = 0.05
n = int((xf - xi) / h)
x = 0; y = 4 * math.sin(3)
print ('x\t\t y \t\t f(x)'); print ('%f \t %f \t %f' % (x, y, f(x)))
x_plot = []; y_RK4 = []; y_analytical = []
for i in range(1, n+1):
x_plot.append(x); y_RK4.append(y); y_analytical.append(f(x))
k1 = dy(x,y)
k2 = dy(x+h/2, y+k1*h/2)
k3 = dy(x+h/2, y+k2*h/2)
k4 = dy(x+h, y+k3*h)
y = y + 1 / 6 * (k1 + 2 * k2 + 2 * k3 + k4) * h
x = x + h
print ('%f \t %f \t %f' % (x, y, f(x)))
x_plot.append(x); y_RK4.append(y); y_analytical.append(f(x))
plt.plot(x_plot, y_RK4, 'ro', x_plot,y_analytical)
plt.xlabel('x'); plt.ylabel('y')
plt.grid()
plt.legend(['Рунге-Кута', 'Точное решение'])
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.