Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Решение одного нелинейного уравнения

Тип Реферат
Предмет Математика
Просмотров
728
Размер файла
36 б
Поделиться

Ознакомительный фрагмент работы:

Решение одного нелинейного уравнения

Реферат

на тему:

Решение одного нелинейного уравнения

Введение

Данная лабораторная работа включает в себя четыре метода решения одного нелинейного уравнения.

Использующиеся методы решения одного нелинейного уравнения:

Метод половинного деления.

Метод простой итерации.

Метод Ньютона.

Метод секущих.

Также данная лабораторная работа включает в себя: описание метода, применение метода к конкретной задаче (анализ), код программы решения вышеперечисленных методов на языке программирования MicrosoftVisualC++ 6.0.

Описание метода:

Пусть задана функция f (x) действительного переменного. Требуется найти корни уравнения f (x) =0 (1) или нули функции f (x).

Нули f (x) могут быть как действительными, так и комплексными. Поэтому наиболее точная задача состоит в нахождении корней уравнения (1), расположенных в заданной области комплексной плоскости. Можно рассматривать также задачу нахождения действительных корней, расположенных на заданном отрезке.

Задача нахождения корней уравнения (1) обычно решается в 2 этапа. На первом этапе изучается расположение корней и проводится их разделение, т.е. выделяются области в комплексной области, содержащие только один корень. Тем самым находятся некоторые начальные приближения для корней уравнения (1). На втором этапе, используя заданное начальное приближение, строится итерационный процесс, позволяющий уточнить значение отыскиваемого корня.

Численные методы решения нелинейных уравнений являются, как правило, итерационными методами, которые предполагают задание достаточно близких к искомому решению начальных данных.

Существует множество методов решения данной задачи. Но мы рассмотрим наиболее используемые методы решения по поиску корней уравнения (1): метод половинного деления (метод бисекции), метод касательных (метод Ньютона), метод секущих и метод простой итерации.

Теперь отдельно по каждому методу:

1. Метод половинного деления (метод бисекции)

Более распространенным методом нахождения корней нелинейного уравнения является метод деления пополам. Предположим, что на интервале [a, b] расположен лишь один корень x уравнения (1). Тогда f (a) и f (b) имеют различные знаки. Пусть для определения f (a) >0, f (b) <0. Положим x0= (a + b) /2 и вычислим f (x0). Если f (x0) <0, то искомый корень находится на интервале [a, x0], если же f (x0) >0, то x принадлежит [x0, b]. Далее из двух интервалов [a, x0] и [x0, b] выбираем тот на границах, которого функция f (x) имеет различные знаки, находим точку x1 - середину выбранного интервала, вычисляем f (x1) и повторяем указанный процесс. В результате получаем последовательность интервалов, содержащих искомый корень x, причем длина каждого последующего интервала вдвое меньше, чем предыдущего. Процесс заканчивается, когда длина вновь полученного интервала станет меньше приближенной точности (>0), и в качестве корня x, приближенного принимается середина этого интервала.

2. Метод касательных (метод Ньютона)

Пусть начальное приближение x0 известно. Заменим f (x) отрезком ряда Тейлора

f (x) ≈ H1 (x) = f (x0) + (x - x0) f ' (x0) и за следующее приближение x1 возьмем корень уравнения H1 (x) = 0, т.е. x1=x0 - f (x0) / f ' (x0).

Вообще, если итерация xk известна, то следующее приближение xk+1 в методе Ньютона определяется по правилу xk+1=xk-f (xk) /f' (xk), k=0, 1, … (2)

Метод Ньютона называют также методом касательных, так как новое приближение xk +1 является абсциссой точки пересечения касательной, проведенной в точке (xk, f (xk)) к графику функции f (x) с осью Ox.

Особенность метода:

во-первых, метод имеет квадратичную сходимость, т.е. в отличие от линейных задач погрешность на следующей итерации пропорциональна квадрату погрешности на предыдущей итерации: xk+1-x=O ( (xk-x) ²);

во-вторых, такая быстрая сходимость метода Ньютона гарантируется лишь при очень хороших, т.е. близких к точному решению, начальных приближениях. Если начальное приближение выбрано неудачно, то метод может сходиться медленно, либо не сойдется вообще.

3. Метод секущих

Этот метод получается из метода Ньютона заменой f' (xk) разделенной разностью f (xk) - f (xk-1) /xk-xk-1, вычисленной по известным значениям xk и xk-1. В результате получаем итерационный метод , k=1, 2, … (3), который в отличие от ранее рассмотренных методов является двухшаговым, т.е. новое приближение xk+1 определяется двумя предыдущими итерациями xk и xk-1. В методе необходимо задавать два начальных приближения x0 и x1.

Геометрическая интерпретация метода секущих состоит в следующем. Через точки (xk-1, f (xk-1)), (xk, f (xk)) проводится прямая, абсцисса точки пересечения этой прямой с осью Ox и является новым приближением xk+1. Иначе говоря, на отрезке [xk-1, xk] функция f (x) интерполируется многочленом первой степени и за очередное приближение xk+1 принимается корень этого многочлена.

4. Метод простой итерации

Этот метод заключается в замене уравнения (1) эквивалентным ему уравнением вида (4) после этого строится итерационный процесс (5). При некотором заданном значении для приведения выражения (1) к требуемому виду (4) можно воспользоваться простейшим приёмом

, .

Если в выражении (4) положить, можно получить стандартный вид итерационного процесса для поиска корней нелинейного уравнения:

.

Иначе можно получить уравнение (4) следующим способом: левую и правую часть уравнения (1) умножить на произвольную константу  и прибавить к левой и правой части х, т.е. получаем уравнение вида: (6), где .

На заданном отрезке [a; b] выберем точку х0 - нулевое приближение - и найдем: х1 = f (x0), потом найдем: х2 = f (x1), и т.д. Таким образом, процесс нахождения корня уравнения сводится к последовательному вычислению чисел: хn = f (xn-1) n = 1,2,3… Если на отрезке [a; b] выполнено условие: |f ' (x) |<=q<1 то процесс итераций сходится, т.е. . Процесс итераций продолжается до тех пор, пока |xn - xn-1|<=, где  - заданная абсолютная погрешность корня х. При этом будет выполняться: .

Применение метода к конкретной задаче (анализ).

Дано уравнение вида x² - ln (1+x) - 3 = 0 при x [2,3]. Задача состоит в том, чтобы решить это нелинейное уравнение 4 известными способами: метод половинного деления, метод касательных, метод секущих и метод простой итерации.

Изучив методы и применив их к данному уравнению приходим к такому выводу: при решении данного уравнения 4 известными способами результат одинаков во всех случаях. Но количество итераций при прохождении метода значительно отличается. Зададим приближенную точность = . Если в случае половинного деления количество итераций составляют 20, при методе простых итераций равно 6, при методе секущих они составляют 5, а при методе касательных их количество равно 4. Из полученного результата видно, что более эффективным методом является метод касательных. В свою очередь метод половинного деления является более неэффективным, затрачивающий больше времени на выполнение, но являющийся самым простым из всех перечисленных методов при исполнении. Но не всегда результат будет таковым. Подставляя другие нелинейные уравнения в программу, в результате получается, что при методе простой итерации при разных видах уравнений количество итераций колеблется. Количество итераций может быть значительно больше, чем в методе половинного деления и меньше, чем в методе касательных.

Листинг программы:

1. Метод половинного деления

#include <stdio. h>

#include <math. h>

#include <conio. h>

#define e 0.000001

double func (double x)

{

return ( ( ( (x*x) - (log (1+x))) - 3));

}

void main ()

{

FILE *res;

res=fopen ("bisekciy. txt","w");

int x1,x2;

double x;

int k;

k=0;

x1=2;

x2=3;

x=0;

double a,b,c;

a=x1;

b=x2;

while (fabs (a-b) >e)

{

c= (a+b) /2;

if ( (func (c) *func (a)) <0) b=c;

else a=c;

k++;

}

printf ("Funkciya prinimaet znachenie na intervale: [%d,%d] n",x1,x2);

printf ("Otvet:%fn",a);

printf ("Kol-vo iteraciy:%d n",k);

printf ("Takge smotri otvet v file bisekciy. txtn");

fprintf (res,"Результат решения уравнения методом половинного деления! n");

fprintf (res,"Корень уравнения x =%fnКоличество итераций =%d",a,k);

fclose (res);

getch ();

}

2. Метод касательных (метод Ньютона)

#include <stdio. h>

#include <math. h>

#include <conio. h>

#define e 0.000001

double func (double x)

{

return ( ( ( (x*x) - (log (1+x))) - 3));

}

double dif (double x)

{

return ( (2*x) - (1/ (1+x)));

}

void main ()

{

FILE *res;

res=fopen ("kasatelnih. txt","w");

int x1,x2,k;

double a,b;

x1=2;

x2=3;

k=0;

a=x1;

b=x2;

while (fabs (a-b) >=e)

{

a=a-func (a) /dif (a);

b=b-func (b) /dif (b);

k++;

}

printf ("Funkciya prinimaet znachenie na intervale: [%d,%d] n",x1,x2);

printf ("Otvet:%fn",a);

printf ("Kol-vo iteraciy:%d n",k);

printf ("Takge smotri otvet v file kasatelnih. txtn");

fprintf (res,"Результат решения уравнения методом Ньютона! n");

fprintf (res,"Корень уравнения x =%fnКоличество итераций =%d",a,k);

fclose (res);

getch ();

}

3. Метод секущих

#include <stdio. h>

#include <math. h>

#include <conio. h>

#define e 0.000001

double func (double x)

{

return ( ( ( (x*x) - (log (1+x))) - 3));

}

void main ()

{

FILE *res;

res=fopen ("sekushih. txt","w");

int k=0,x1=2,x2=3;

double a,b,c;

a=x1;

b=x2;

while (fabs (a-b) >e)

{

c= (a*func (b) - b*func (a)) / (func (b) - func (a));

a=b;

b=c;

k++;

}

printf ("Funkciya prinimaet znachenie na intervale: [%d,%d] n",x1,x2);

printf ("Otvet:%fn",a);

printf ("Kol-vo iteraciy:%d n",k);

printf ("Takge smotri otvet v file sekushih. txtn");

fprintf (res,"Результат решения уравнения методом секущих! n");

fprintf (res,"Корень уравнения x =%fnКоличество итераций =%d",a,k);

fclose (res);

getch ();

}

4. Метод простой итерации

#include <stdio. h>

#include <math. h>

#include <conio. h>

#define e 0.000001

double func (double x)

{

return ( ( ( (x*x) - (log (1+x))) - 3));

}

double x_vir (double x)

{

return (sqrt (log (1+x) +3));

}

void main ()

{

FILE *res;

res=fopen ("itteraciy. txt","w");

int x1,x2,k;

double x;

k=0;

x1=2;

x2=3;

x=0;

double a,b,c;

a=x1;

b=x2;

while (fabs (a-b) >e)

{

b=x_vir (a);

c=b;

b=a;

a=c;

k++;

}

printf ("Funkciya prinimaet znachenie na intervale: [%d,%d] n",x1,x2);

printf ("Otvet:%fn",a);

printf ("Kol-vo iteraciy:%d n",k);

printf ("Takge smotri otvet v file itteraciy. txtn");

fprintf (res,"Результат решения уравнения методом простой итерации! n");

fprintf (res,"Корень уравнения x =%fnКоличество итераций =%d",a,k);

fclose (res);

}

Результаты расчета:

На интервале x [2,3] функции x² - ln (1+x) - 3 = 0 корень уравнения x = 2.026689. Количество итераций при приближенной точности = в методе половинного деления составляет 20, в методе касательных составляет 4, в методе секущих составляет 5 и в методе простых итераций составляет 6.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

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

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно