Методы поиска корней уравнения

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

Рубрика Математика
Вид лабораторная работа
Язык русский
Дата добавления 24.11.2014
Размер файла 144,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство общего и профессионального образования

Кафедра прикладной математики

Лабораторная работа № 1

Вариант 10

Тема: «Методы поиска корней уравнения»

Обнинск 2013.

Условия задачи:

Найти два наименьших положительных корня уравнения с точностью

2x sinx - cosx = 0

а) методом деления отрезка пополам

б) один из корней методом итераций.

Метод деления отрезка пополам.

1.Теоритическая часть.

а) Процедура отделения корней:

Отделение корней произведём графически. Для этого построим график функции y=2x sinx - cosx.

Анализируя полученное изображение графика, можно утверждать, что два наименьших положительных корня и , уравнения y=2x sinx - cosx , находятся в интервалах (0,5;1) и (3;3,5) соответственно.

б) Обоснование сходимости для уравнения y=2x sinx - cosx:

в) Итерационные формулы, использованные в методе:

г) Погрешность метода:

2. Результаты расчётов.

а) Программа расчётов (на языке C++):

Алгоритмы:

Для возрастающего участка функции:

Вводим =a, =b и . Точкой

[],[,]. Если f()<0, то выбираем [,] и положим и . Если f()>0, то выбираем [] и положим и . )/2 и снова получаем 2 отрезка. В итоге, получаем совокупность вложенных отрезков:

[], []… [], где n=1,2… - количество итераций.

=)/. Положить X = )/2.

Для убывающего участка функции:

Вводим =a, =b и . Точкой

[],[,]. Если f()>0, то выбираем [,] и положим и . Если f()<0, то выбираем [] и положим и . )/2 и снова получаем 2 отрезка. В итоге, получаем совокупность вложенных отрезков:

[], []… [], где n=1,2… - количество итераций.

=)/. Положить X = )/2.

Условия выхода:

| - |<=E

Программный алгоритм метода деления отрезка пополам:

Дан сегмент [A,B], содержащий корень уравнения f(x), и epsilon=. Найти X.

Вводим a=A и b=B. Если f(a)<f(b), то пока выполняется неравенство (b-a)>epsilon.

Повторять: c=(a+b)/2 и если f(c)=0, то X=f(c); иначе если f(c)<0, то a=c; иначе если f(c)>0, то b=c. Положить X=(a+b)/2.

Иначе если f(a)>f(b), то пока выполняется неравенство (b-a)>epsilon.

Повторять: c=(a+b)/2 и если f(c)=0, то X=f(c); иначе если f(c)<0, то b=c; иначе если f(c)>0, то a=c. Положить X=(a+b)/2.

Вывести на экран: Номер итерации и величину X.

Код программы:

#include <cmath>

#include <iostream>

#include <conio.h>

#include <locale.h>

#include <iomanip>

using namespace std;

double f(double x){return 2*x*sin(x)-cos(x);}

int main()

{

int N=0;

double a,a1,b,b1,c,X,epsilon=0.000000001;?

setlocale(LC_ALL,"Rus");

cout<<"Введите а"<<endl;

cin>>a;

cout<<endl<<"Введите b"<<endl;

cin>>b;

a1=a;b1=b;

if (f(a)<f(b))

while((b-a)>epsilon)

{

N++;

c=(a+b)/2;

if (f(c)==0) {X=f(c); exit;}

else {if(f(c)<0) a=c;

else if(f(c)>0) b=c;}

X=(a+b)/2;

cout<<endl<<"N="<<N<<endl;

cout<<endl<<"X="<<X<<setprecision(9)<<endl;

}

else

while((b-a)>epsilon)

{

N++;

c=(a+b)/2;

if (f(c)==0) {X=f(c); exit;}

else {if(f(c)<0) b=c;

else if(f(c)>0) a=c;}

X=(a+b)/2;

cout<<endl<<"N="<<N<<endl;

cout<<endl<<"X="<<X<<setprecision(9)<<endl;

}

cout<<endl<<"Корень уравнения на интервале ("<<a1<<";"<<b1<<"):"<<endl<<X;

_getch();

return 0;

}

б) Значения корней с необходимой точностью:

=0.65327118.

=3.29231002.

в)Количество итераций:

=30.

=29.

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

1.Теоритическая часть.

Преобразуем уравнение 2x sinx - cosx = 0 к виду x=g(x), допускающем применение метода итераций:

g(x)=x + б f(x) при б?0 равносильно исходному уравнению.

f'(x)>0 на [0,1]. Пусть M=f(x) и m=f(x)

Положим б= - , тогда g(x) = x - (2x sinx - cosx).

Найдём значение константы:

Для этого найдём производную f'(x) и f(x)

f'(x)= 3sinx + 2x cosx

f'(x)=0

3sinx + 2x cosx=0 <=> sinx = x cosx отсюда x=2,17462602. Из графика функции f(x)=2x sinx - cosx видно, что точка M=f(x) = 2,17462602, значит б= -0.45984918.

Тогда x=g(x) примет вид:

x =x-0.459849181(2x sinx - cosx).

а) Процедура отделения корней:

Отделение корней произведём графически. Для этого построим графики функций y(x)=x и g(x)= x-0.459849181(2x sinx - cosx).

корень уравнение отрезок итерация

Анализируя полученное изображение графика, можно утверждать, что точка пересечения функций y(x)=x и g(x)= x-0.459849181(2x sinx - cosx) находится в интервале [0,4;0,8].

б) Обоснование сходимости для уравнения:

в) Итерационные формулы, использованные в методе:

г) Погрешность метода:

2. Результаты расчётов.

а) Программа расчётов (на языке C++):

#include <cmath>

#include <iostream>

#include <conio.h>

#include <locale.h>

#include <iomanip>

using namespace std;

double g(double x){ return x-0.459849181*(2*x*sin(x)-cos(x));}

int main()

{

int N=0;

double x,a=0.8,b=0.4,eps=pow(10,-8);

double a1=b,b1=a;

setlocale(LC_ALL,"Rus");

//cout<<"Введите а"<<endl;

//cin>>a;

//cout<<endl<<"Введите b"<<endl;

//cin>>b;

do

{

N++;

a=b;

b=g(a);

cout<<endl<<"N="<<N<<endl;

cout<<endl<<"b="<<b<<setprecision(9)<<endl;

cout<<endl<<"b-a="<<b-a<<setprecision(9)<<endl;

}while(abs(b-a)>eps);

x=(a+b)/2;

cout<<endl<<setprecision(9)<<"Корень уравнения на интервале ("<<a1<<";"<<b1<<"):"<<endl<<x;

_getch();

return 0;

}

б) Значения корней с необходимой точностью:

x=0.65327118.

в)Количество итераций:

N=16.

Размещено на Allbest.ru

...

Подобные документы

  • Приближенные значения корней. Метод дихотомии (или деление отрезка пополам), простой итерации и Ньютона. Метод деления отрезка пополам для решения уравнения. Исследование сходимости метода Ньютона. Построение нескольких последовательных приближений.

    лабораторная работа [151,3 K], добавлен 15.07.2009

  • Характеристика важнейших типов сходимости итерационных последовательностей. Специфические особенности применения метода Ньютона для определения кратных корней. Алгоритм нахождения корней трансцендентного уравнения с использованием метода секущих.

    дипломная работа [964,9 K], добавлен 09.06.2019

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

    творческая работа [12,5 M], добавлен 04.09.2010

  • Понятие и структура, принципы и этапы решения линейных уравнений. Уточнение корней методами половинного деления, хорд и Нютона. Пакет MathCad, использование программных фрагментов. Описание документа MathCAD, его стриктура и основные принципы работы.

    курсовая работа [223,1 K], добавлен 18.07.2014

  • Нахождение корней уравнений (Equation Section 1) методом: Ньютона, Риддера, Брента, Лобачевского и Лагерра. Вычисление корней многочленов по схеме Горнера. Функции произвольного вида (при использовании пакета Mathcad). Нахождение корней полиномов.

    контрольная работа [62,7 K], добавлен 14.08.2010

  • Анализ особенностей разработки вычислительной программы. Общая характеристика метода простых итераций. Знакомство с основными способами решения нелинейного алгебраического уравнения. Рассмотрение этапов решения уравнения методом половинного деления.

    лабораторная работа [463,7 K], добавлен 28.06.2013

  • Поиск корней нелинейных САУ с помощью метода продолжения решения по параметру. Математическое описание метода. Программное обеспечение для построения графиков сходимости метода. Требования к программному обеспечению и описание логической структуры.

    курсовая работа [365,5 K], добавлен 27.04.2011

  • Система линейных алгебраических уравнений. Основные формулы Крамера. Точные, приближенные методы решения линейных систем. Алгоритм реализации метода квадратных корней на языке программирования в среде Matlab 6.5. Влияние мерности, обусловленности матрицы.

    контрольная работа [76,6 K], добавлен 27.04.2011

  • Приведение уравнений к специальному виду. Устойчивость относительно переменных с одним нулевым и парой чисто мнимых корней в частном случае. Критический случай двух нулевых корней, одного нулевого и пары чисто мнимых корней, двух пар чисто мнимых корней.

    дипломная работа [2,5 M], добавлен 13.07.2015

  • Вычисление корня функции нелинейного уравнения методом деления отрезка пополам. Способы ввода, вывода и организации данных. Модульная организация программы. Разработка блок-схемы алгоритма задачи. Порядок создания программы на алгоритмическом языке.

    реферат [30,0 K], добавлен 28.10.2010

  • Структура и принципы решения линейных уравнений. Метод Крамера и Гаусса, Ньютона, половинного деления, секущих. Отличительные особенности и условия применения графического метода. Содержание теоремы Штурма. Принципы и основные этапы поиска интервалов.

    реферат [948,7 K], добавлен 30.03.2019

  • Исследование сущности и сфер применения метода итераций. Нелинейные уравнения. Разработка вычислительный алгоритм метода итераций. Геометрический смысл. Составление программы решения систем нелинейных уравнений методом итераций в среде Turbo Pascal.

    реферат [183,7 K], добавлен 11.04.2014

  • Гиперкомплексные числа: общее понятие и основные свойства. Нахождение корней трансцендентного уравнения в комплексных числах на примере уравнения классической задачи теории флаттера в математическом виде. Программная реализация решения в среде Maple.

    контрольная работа [1,2 M], добавлен 28.06.2013

  • Нелинейные уравнения, определение корней. Первая теорема Бальцано-Коши. Метод бисекций (деления пополам) и его алгоритм. Использование линейной интерполяции граничных значений заданной функции в методе хорд. Тестовое уравнение, компьютерный эксперимент.

    реферат [104,3 K], добавлен 10.09.2009

  • Содержание текстов Единого государственного экзамена. Решение уравнений высших степеней. Разложение многочлена третьей степени на множители. Определение корней квадратного уравнения и рациональных корней многочлена. Старший коэффициент делимого.

    реферат [42,1 K], добавлен 20.10.2013

  • Решение нелинейных уравнений. Отделения корней уравнения графически. Метод хорд и Ньютона. Система линейных уравнений, прямые и итерационные методы решения. Нормы векторов и матриц. Метод простых итераций, его модификация. Понятие про критерий Сильвестра.

    курсовая работа [911,6 K], добавлен 15.08.2012

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

    курсовая работа [59,8 K], добавлен 27.03.2011

  • Трансцендентное уравнение: понятие и характеристика. Метод половинного деления (дихотомии), его сущность. Применение метода простой итерации для решения уравнения. Геометрический смысл метода Ньютона. Уравнение хорды и касательной, проходящей через точку.

    курсовая работа [515,8 K], добавлен 28.06.2013

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

    контрольная работа [170,3 K], добавлен 01.04.2010

  • Понятие уравнения, его корни. Решение уравнения, усвоение понятий равносильного и линейного уравнений, нахождение их корней при переносе слагаемых, при наличии скобок. Формирование вычислительных навыков учащихся, их памяти и мыслительных операций.

    конспект урока [118,0 K], добавлен 14.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.