Лабораторная работа №1 «Численное решение нелинейных уравнений»
| Вид материала | Лабораторная работа |
СодержаниеЦель работы Принцип работы метода половинного деления Исходные данные Описание пользовательских функций Листинг программы |
- Решение систем нелинейных уравнений, 119.58kb.
- Решение систем нелинейных алгебраических уравнений, 20.84kb.
- Нахождение первых интегралов нелинейных дифференциальных уравнений является одной, 31.75kb.
- Лабораторная работа 5 Вариант 11 Цель работы, 15.18kb.
- Численное решение уравнений лапласа и пуассона, 16.19kb.
- Решение алгебраических уравнений высоких степеней. Решение нелинейных уравнений методом, 9.13kb.
- Точные решения некоторых нелинейных эволюционных уравнений, встречающихся при описании, 28.05kb.
- Программа «приближенные методы вычисления корней нелинейных уравнений», 65.49kb.
- Тема задания, 96.02kb.
- Программа решения системы линейных уравнений по методу Гаусса 7 2 Программа решения, 230.48kb.
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
«Тамбовский государственный технический университет»
Кафедра «Информационные системы и защита информации»
Лабораторная работа №1
«Численное решение нелинейных уравнений»
Выполнил: студент гр. ИС−31 Налич П.А.
Проверил: Елисеев А.И.
Тамбов, 2011
Цель работы: нахождение корня нелинейного уравнения принадлежащего заданному отрезку с заданной степенью точности тремя методами.
Методические указания
Пусть задана функция
и требуется найти корни уравнения 
Эта задача разделяется на два этапа:
— локализация корней, т.е. нахождение таких отрезков на оси Х, на каждом из которых находится только один корень;
— вычисление корня, принадлежащего заданному отрезку с заданной степенью точности.
Для решения задачи локализации корней нет каких-либо рекомендаций, кроме утверждения о том, что если на концах некоторого отрезка
функция имеет разные знаки, т.е.
и монотонна, т.е.
не меняет знак при
, то на отрезке
имеется единственный корень уравнения
.При решении практических задач очень часто отрезок
, содержащий требуемый корень заранее известен.Принцип работы метода половинного деления
Разделим исходный отрезок
пополам:
. Проверяя знаки
выясним в каком из отрезков
или
содержится корень:

Выбранный отрезок принимаем за
и повторяем до тех пор, пока получаемый отрезок не сожмется до заданной степени точности.Исходные данные
Нелинейная функция —
, отрезок, содержащий корень, — [0;1], заданная точность —
.Описание пользовательских функций
double f(double x) {} — возвращает значение функции в точке x.
Входные параметры:
— double x — точка, в которой необходимо найти значение функции.
Листинг программы
#include
#include
#include
double f(double x)
{
return (atan(x)-1/(3*x*x*x));
}
main()
{
double a, b, c, epsilon;
int i;//счетчик кол-ва итераций
a = 0;//координаты исходного отрезка
b = 1;
epsilon = 1e-3;//заданная точность
cout << "Промежуточные значения" << endl;
while (b - a > epsilon){//проверка достижения заданной точности
i++;
c = (a + b) / 2;//вычисление середины текущего отрезка
cout << c <
if(f(b) * f(c) < 0)
a = c;
else
b = c;
}
cout << "Количество итераций " << i << endl;
cout << "Приближенное значение корня " << (a + b) / 2 << endl;
getch();
}
Результат выполнения программы

Принцип работы метода простых итераций
…
Принцип работы метода Ньютона
…
Вывод
