ref-19988 (Решение дифференциальных уравнений 1 порядка методом Эйлера), страница 3
Описание файла
Документ из архива "Решение дифференциальных уравнений 1 порядка методом Эйлера", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "ref-19988"
Текст 3 страницы из документа "ref-19988"
Типы и средства сокрытия данных в С++ опираются на проводимый во время компиляции анализ программ с целью предотвращения случайного искажения данных. Они не обеспечивают секретности или защиты от умышленного нарушения правил. Однако эти средства можно использовать без ограничений, что не приводит к дополнительным расходам времени на выполнение или пространства памяти.
Компилятор Microsoft C++ и среда разработки Microsoft Visual Studio
В качестве компилятора для разработки приложения был выбран Microsoft C++ по следующим причинам:
-
практически полная совместимость со стандартом ANSI C++;
-
наличие удобной среды разработки Microsoft Visual Studio;
-
наличие отличной документации;
-
высокая скорость работы результирующих приложений;
-
совместимость разработанных приложений с большим количеством широко распространенных операционных систем;
-
достаточная скорость компиляции.
4.3 Описание программы
Разработанное приложение поставляется в виде 2-ух файлов:
-
method Eulera.cpp – исходный код программы на языке C++;
-
method Eulera.exe – исполняемый файл.
Для выполнения исполняемого файла необходима одна из ниже перечисленных операционных систем:
-
Microsoft Windows 3.11+Win32s;
-
Microsoft Windows 95/98/Me;
-
Microsoft Windows NT/2000/XP/2003 – клиентская или серверная версия.
Программа не требует предварительной установки и может быть сразу же запущена на выполнение.
Исходный код приложения может быть откомпилирован в любом ANSI или POSIX совместимом компиляторе С++ для получения выполнимой программы. Для успешной компиляции требуется наличие стандартной библиотеки «iostream».
5. Контрольный пример
Данный метод протестирован на контрольном примере и реализован с помощью языка программирования С++.
В результате вычислений контрольного примера вида y’=2x+y с интервалом [0,1],
количеством шагов равному 5 и начальным условием у равным 1, с помощью программы, получились следующие результаты:
Рис. 2. Экран с результатами выполнения программы.
Как видно, при вычислении программа на первом шаге берёт начальные значения для вычисления, а на последующих берёт значения полученные с предыдущих шагов. Можно сделать вывод, что точность вычисления данного метода зависит от количества выбранных шагов: чем больше шагов, тем меньше фиксированное приращение , а следовательно она более точно вычисляет значение всего интервала.
По работе программы стало видно, что с её использованием намного упростилась работа пользователя. Пользователь просто вводит интервал на котором должен вычисляться пример, количество шагов и начальное значения и программа выдаёт уже готовое решение данного примера.
6.Анализ полученных результатов.
По результатам программы можно составить таблицу сравнения результатов полученных при использовании программы и результатов, полученных ручным способом:
Ручной способ вычисления | Программный способ вычисления | ||
Х | Y | X | Y |
0 | 0,82 | 0 | 0,82 |
0,2 | 0,75 | 0,2 | 0,7516 |
0,4 | 0,77 | 0,4 | 0,770248 |
0,6 | 0,85 | 0,6 | 0,856793 |
0,8 | 0,99 | 0,8 | 0,996299 |
Из приведенного сравнения можно сделать вывод, что один результат отличается от другого тем, что в примере, решенном программным способом ответ вычисляется с наибольшей точностью, чем при ручном способе. Это может быть связано с тем, что в ручном способе результат округляется для удобства вычисления примера.
Решение дифференциальных уравнений методом Эйлера можно также отобразить в графическом виде:
Рис.3.Графическое изображение решения примера y’=2x+y
Как видно из рис.3 графиком решения уравнения является кривая , форма которой зависит от количества разбиений интервала.
По результатам выполненной работы можно сделать вывод, что решение дифференциальных уравнений методом Эйлера является методом вычисления со средней точностью и точность вычисления данного метода зависит от количества разбиений интервала интегрирования. При сравнении результатов решенными разными способами можно сказать, что данный метод был верно реализован на языке программирования Microsoft Visual C++. Полученные результаты сходятся с небольшой погрешностью.
Список литературы.
-
Численные методы (анализ, алгебра, обыкновенные дифференциальные уравнения), Н.С. Бахвалов. Главная редакция физико- математической литературы изд-ва «Наука», М., 1975г.
-
Методы, теории обыкновенных дифференциальных уравнений. Н.И. Гаврилов . Государственное издательство «Высшая школа» Москва-1962г.
-
В.В.Пак., Ю.Л. Носенко. Высшая математика: Учебник.- Д.: Сталкер, 1997г.
-
Б. П. Демидович, И. А. Марон Основы вычислительной математике. – М., 1966
-
Загускин В. Л. – Справочник по численным методам решения уравнений. – М.: ФИЗМАТГИЗ, 1960. – 216 с.
-
Либерти, Джесс.
Освой самостоятельно С++ за 21 день, 4-е издание.:Пер с англ.-М.: Издательский дом «Вильямс», 2003.-832с.
-
П.Нортон, П.Иао «Программирование на С++ в среде Windows» («Диалектика» Киев 2003г.)
-
Янг М. Microsoft Visual C++ - М.:ЭНТРОП, 2000.
-
Марченко А.И., Марченко Л.А. – Программирование в среде
Turbo Pascal 7.0 – К.: ВЕК+, М.: Бином Универсал, 1998. – 496 с.
10. Высшая математика: Справ. материалы: Книга для учащихся .- М.:
Просвещение, 1988.-416 с.: ил.
Приложение.
Листинг программы.
#include
using namespace std;
void func(double& Xi, double& Yi,double kx, double ky, double h);
int main()
{
double h,Xi,Yi,Xkon,kx,ky;
int n;
cout<<"\t"<<"\t"<<"************************************************n";
cout<<"\t"<<"\t"<<"* * "<<"\n";
cout<<"\t"<<"\t"<<"* Reshenie difurov 1 poryadka methodom Eulera *"<<"\n";
cout<<"\t"<<"\t"<<"*************************************************
cout< cout<<"Vvedite nachaloe znachenie intervala [a,b]="; cin>>Xi; cout<<"Vvedite konechoe znachenie intervala [a,b]="; cin>>Xkon; cout<<"Vvedite chislo shagov="; cin>>n; h=(Xkon- Xi)/n; cout< cout<<"Vvedite nachalnoe uslovie y="; cin>>Yi; cout<<"Vvedite koefitsient pri x="; cin>>kx; cout<<"Vvedite koefitsient pri y="; cin>>ky; cout<<"|Interval|Chislo shagov|Shag prirasheniya|Nacalnoe Y|Uravnenie vida:| "<<"\n"; cout<<"|--------|-------------|-----------------|----------|---------------|"<<"\n"; cout<<"|"<<"["< cout< cout< for (int i=1;i<=n;i++) { func(Xi,Yi,kx,ky,h); cout<<"\n"; } return 0; } void func(double& Xi, double& Yi, double kx, double ky, double h) { double f1,Yprom,a,Xprom; f1=(kx*Xi)+(ky*Yi); Yprom=Yi+f1*(h/2); Xprom=Xi+h/2; a=kx*Xprom-Yprom; Yi=Yi+a*h; cout<<"\t"<<"\t"<<"Interval x="<
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.