Лабораторная работа №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
Цель работы: нахождение корня нелинейного уравнения принадлежащего заданному отрезку с заданной степенью точности тремя методами.
Методические указания
Пусть задана функция


Эта задача разделяется на два этапа:
— локализация корней, т.е. нахождение таких отрезков на оси Х, на каждом из которых находится только один корень;
— вычисление корня, принадлежащего заданному отрезку с заданной степенью точности.
Для решения задачи локализации корней нет каких-либо рекомендаций, кроме утверждения о том, что если на концах некоторого отрезка






При решении практических задач очень часто отрезок

Принцип работы метода половинного деления
Разделим исходный отрезок







Выбранный отрезок принимаем за

Исходные данные
Нелинейная функция —


Описание пользовательских функций
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();
}
Результат выполнения программы

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