Автор работы: Пользователь скрыл имя, 09 Октября 2014 в 00:24, курсовая работа
В настоящее время стремительными темпами развиваются информационные технологии и связанные с ними сферы человеческой деятельности. С каждым годом всё больший объём информации обрабатывается с помощью современных персональных компьютеров.
Для того чтобы написать программу любого уровня сложности применяют так называемые средства быстрой разработки приложений. Их ключевым преимуществом является отсутствие необходимости проектировать стандартные элементы управления операционной системы Windows. А так же можно визуально наблюдать за каждым процессом написания и отладки программного обеспечения. Все это значительно упрощает процесс создания программы.
Министерство сельского хозяйства Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ
Кафедра компьютерных систем и технологий
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
по дисциплине: Численные методы
на тему: Нахождение безусловного экстремума методом Ньютона
выполнил студент группы ПИ-1201
Фёдоров Игорь Вячеславович
Допущен к защите
Руководитель проекта Осенний В.В.
Защищен_____________________
Краснодар
2013 г.
Пояснительная записка содержит:
15 листов,
2 рисунка,
2 приложения.
Целью курсовой работы является написание приложения «Нахождение безусловного экстремума методом Ньютона» в среде Visual Studio 2010.
Результатом моей работы является программа, позволяющая выполнить нахождение безусловного экстремума, принимающего определённые значения в данном наборе точек, пользуясь методом Ньютона.
ОГЛАВЛЕНИЕ
В настоящее время стремительными темпами развиваются информационные технологии и связанные с ними сферы человеческой деятельности. С каждым годом всё больший объём информации обрабатывается с помощью современных персональных компьютеров.
Для того чтобы написать программу любого уровня сложности применяют так называемые средства быстрой разработки приложений. Их ключевым преимуществом является отсутствие необходимости проектировать стандартные элементы управления операционной системы Windows. А так же можно визуально наблюдать за каждым процессом написания и отладки программного обеспечения. Все это значительно упрощает процесс создания программы.
Целью моей курсовой работы является получение практических навыков и опыта разработки программ в среде визуального программирования Visual Studio 2010 с помощью разработки приложения Нахождение безусловного экстремума методом Ньютона.
Основной целью данной работы является разработка программы «Нахождение безусловного экстремума методом Ньютона», а также закрепление практических навыков программирования в среде “Visual Studio 2010”.
Задачи курсовой работы:
-изучить методы разработки математических приложений в среде “Visual Studio 2010”;
-разработать алгоритм решения задачи;
-осуществить программную реализацию
-протестировать разработанное приложение.
Для написания программы я выбрал среду программирования “Visual Studio 2010”, основанную на языке программирования C++. Данная среда выгодно отличается эффективностью и надежностью. А так же C++ предоставляет разработчику более комфортные условия и более широкие возможности для создания дружественного интерфейса.
Входными данными для программы являются:
- значение x0;
-значение скорости сходимости;
Выходными данными являются результаты вычислений.
Персональный компьютер фирмы IBM серии PC (или совместимый с этими моделями), работающий под управлением операционной системы (ОС) Windows 98/XP/Vista/7/8, операционная память не менее 64 Мбайт, процессор с тактовой частотой не менее 133 MHz, клавиатура, мышь.
Это итерационный численный метод нахождения корня (нуля) заданной функции. Поиск решения осуществляется путём построения последовательных приближений и основан на принципах простой итерации. Метод обладает квадратичной сходимостью. Итерационный процесс начинается с некоего начального приближения .
.
ПРИМЕР:
Рассмотрим задачу о нахождении положительных , для которых . Эта задача может быть представлена как задача нахождения нуля функции . Имеем выражение для производной . Так как для всех и для , очевидно, что решение лежит между 0 и 1. Возьмём в качестве начального приближения значение , тогда:
Подчёркиванием отмечены верные значащие цифры. Видно, что их количество от шага к шагу растёт (приблизительно удваиваясь с каждым шагом): от 1 к 2, от 2 к 5, от 5 к 10, иллюстрируя квадратичную скорость сходимости.
Данная программа предназначена для нахождения безусловного экстремума методом Ньютона.
Директива
#include указывает препроцессору, что нужно
обработать содержимое указанного файла,
если эти содержимое отображалось в программе-
источник в точке отображения директивы.*
(http://msdn.microsoft.com/ru-
#include <iostream> - это заголовочный файл включающий классы, функции и переменные для организации ввода и вывода в С++.
#include <math.h> - это заголовочный файл включающий классы, функции и переменные для математических операций в C++.
#include <conio.h> - это заголовочный файл включающий классы, функции и переменные для операций с информацией на экране в C++.
Переменные, используемые в программе:
a – значение переменной xn;
b – значение переменной xn+1;
n – шаг;
eps – скорость сходимости;
Запускаемым файлом программы является файл Курсовая поЧМ.exe.
После запуска на экране появляется главное окно программы, представленное на рисунке 1.
Рисунок 1 – Главное окно программы «Нахождение безусловного экстремума методом Ньютона»
Далее вводим значение х0 (начальное значение), а так же скорость сходимости и программа пошагово выводит на экран значения xn+1 и рассчитанный методом Ньютона безусловный экстремум. (Рисунок 2).
Рисунок 2 – вывод безусловного экстремума методом Ньютона.
В результате получаем решение. Для завершения работы программы необходимо нажать любую клавишу.
В ходе выполнения курсовой работы были получены и закреплены навыки программирования в среде Visual Studio 2010. В результате создано работоспособное приложение «Нахождение безусловного экстремума методом Ньютона». Проведенное тестирование работы программы не выявило существенных ошибок. Но это не исключает возможности их появления при проведении более глубокого и длительного тестирования.
Листинг программы «Нахождение безусловного экстремума методом Ньютона»:
#include <conio.h>
#include <math.h>
#include <iostream>
using namespace std;
double f(double x)
{
return cos(x)-x^3;
}
double fp(double x)
{
return -sin(x)-3*x^2;
}
void main()
{
setlocale(LC_ALL, "Russian");
int n=0;
double a, b, eps;
cout<<"Введите x0: "; cin>>a;
cout<<"Введите скорость сходимости: "; cin>>eps;
do
{
b=a-f(a)/fp(a);
cout<<"\t x"<<n<<" = "<<b<<endl;
a=b;
n+=1;
}
while (fabs(f(a))>=eps);
cout<<"Безусловный экстркмум при данной скорости сходимости: "<<b<<"\nДля выхода из программы нажмите любую клавишу . . .";
_getch();
}
Блок-схема алгоритма:
Информация о работе Нахождение безусловного экстремума методом Ньютона