Тема: решение дифференциального уравнения методом эйлера. написать программу, находящую решение дифференциального уравнения y'=f(x,y) методом эйлера на отрезке [x0,xn] с шагом h при начальных условиях y=y0. исходные данные . метод эйлера и вычисление функции f(x,y) необходимо реализовать в виде отдельных функций. исходные данные y0, x0, xn, h вводятся с клавиатуры. значения численного решения рассчитываются по формуле yi+1=yi+h*f(xi,yi) исходные данные: дифференциальное уравнение: y'=(2y - sqrt[y2 + x2]) / 2x y0 = 0 x0 = 1 xn = 2 точное решение ду: y(x)= x*sh(0.5*ln(1/x)) примечание: используйте math.h
111
191
Ответы на вопрос:
#include < math.h> #include < stdio.h> double y1(double x,double y) { return (2*y-sqrt(x*x+y*y))/(2*x); }; double ye(double x) { return (sinh(0.5*log(1/; }; int main() { double y0=0, x0=1, xn=2, h=0.05; double x,y,yr,et; x=x0; y=y0; for (int i=1; i< =floor((xn-x0)/h)+1; i++) { yr=y+h*y1(x,y); et=ye(x); printf("\nx=%8.5f, y=%8.5f, yr=%8.5f, et=%8.5f, eps=%8.5f",x,y,yr,et,yr-et); x+=h; y=yr; }; return 0; } тестовое решение: x= 1.00000, y= 0.00000, yr=-0.02500, et= 0.00000, eps=-0.02500 x= 1.05000, y=-0.02500, yr=-0.05120, et=-0.02440, eps=-0.02680 x= 1.10000, y=-0.05120, yr=-0.07855, et=-0.04767, eps=-0.03088 x= 1.15000, y=-0.07855, yr=-0.10703, et=-0.06994, eps=-0.03709 x= 1.20000, y=-0.10703, yr=-0.13658, et=-0.09129, eps=-0.04530 x= 1.25000, y=-0.13658, yr=-0.16720, et=-0.11180, eps=-0.05539 x= 1.30000, y=-0.16720, yr=-0.19883, et=-0.13156, eps=-0.06727 x= 1.35000, y=-0.19883, yr=-0.23147, et=-0.15062, eps=-0.08085 x= 1.40000, y=-0.23147, yr=-0.26507, et=-0.16903, eps=-0.09604 x= 1.45000, y=-0.26507, yr=-0.29963, et=-0.18685, eps=-0.11277 x= 1.50000, y=-0.29963, yr=-0.33511, et=-0.20412, eps=-0.13098 x= 1.55000, y=-0.33511, yr=-0.37150, et=-0.22089, eps=-0.15061 x= 1.60000, y=-0.37150, yr=-0.40877, et=-0.23717, eps=-0.17160 x= 1.65000, y=-0.40877, yr=-0.44691, et=-0.25301, eps=-0.19390 x= 1.70000, y=-0.44691, yr=-0.48591, et=-0.26844, eps=-0.21747 x= 1.75000, y=-0.48591, yr=-0.52574, et=-0.28347, eps=-0.24226 x= 1.80000, y=-0.52574, yr=-0.56638, et=-0.29814, eps=-0.26824 x= 1.85000, y=-0.56638, yr=-0.60784, et=-0.31247, eps=-0.29537 x= 1.90000, y=-0.60784, yr=-0.65008, et=-0.32646, eps=-0.32362 x= 1.95000, y=-0.65008, yr=-0.69310, et=-0.34015, eps=-0.35295 x= 2.00000, y=-0.69310, yr=-0.73689, et=-0.35355, eps=-0.38334
Данные - это то, с чем работает программа. программа- это набор команд, которые выполняют действия над данными
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Reolgjbjgjff08.09.2021 07:07
-
maxjk1919.03.2021 08:07
-
слядя09.09.2020 17:36
-
vika02bel11.12.2021 08:39
-
aza5316.01.2023 17:42
-
Nna56414.05.2022 23:57
-
Katerina12377706.03.2023 01:53
-
TEMA323228.05.2021 19:29
-
Sunnnygirl28913.10.2022 18:19
-
ggg222333329.11.2020 04:47
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.