русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод хорд


Дата добавления: 2013-12-23; просмотров: 9490; Нарушение авторских прав


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

Уточнение корней

Уточнение корней может осуществляться различными методами.

Пусть 1) функция y=F(x) определена и непрерывна на отрезке [a,b].

2) F(a)F(b)<0

Требуется найти корень на отрезке с точностью ε.

Разделим отрезок [a,b] пополам точкой . Если , то возможны два случая: 1) F(x) меняет знак на отрезке [a; c];

2) F(x) меняет знак на отрезке [c; b].

Выбираем тот отрезок, на котором функция меняет знак. Если F(x) меняет знак на отрезке [a; c], то b:=c; если F(x) меняет знак на отрезке [c; b], то a:=c.

Условие окончания счета: .

Корень уравнения: . Погрешность метода: .

Рассмотрим положительные и отрицательные стороны метода половинного деления.

«Плюсы»: «Минусы»:
· надежность · не требует приведения к специальному виду · не требует дифференцируемости функции · устойчив к ошибкам округления   · медленная сходимость · метод не применим для корней четной кратности:

 

Блок-схема уточнения корней методом половинного деления:
     

 

 


Программа уточнения корней методом половинного деления:

program pol_del;

var a,b,c,e,x,dX: real;

N:integer;

function f(x: real):real;

begin

{записать, функцию в виде f:=[математическое выражение]}

f:=x*x*x-x+4;

end;

begin

write('Введите левую границу отрезка - a: ');readln(a);

write('Введите правую границу отрезка - b: ');readln(b);

write('Введите требуемую погрешность - e:'); readln(e);

N:=0;

repeat N:=N+1; c:=(a+b)/2;

if f(a)*f(c)<0 then b:=c else a:=c;

until b-a<e;

x:=(a+b)/2; dX:=(b-a)/2;

writeln('Приближенное значение корня - Х = ',x);

writeln('Ошибка не превышает dX = ',dX);

writeln('Число итераций - N = ',N);

readln

end.



Пусть 1) функция y=F(x) определена и непрерывна на отрезке [a,b].

2) F(a)F(b)<0

Требуется найти корень на отрезке с точностью ε.

В качестве приближений к корню принимаются значения c0, c1, c2 точек пересечения хорды с осью абсцисс или

Точка c делит отрезок [a,b] на две части. Ту из них, на которой функция знака не меняет, отбрасываем (аналогично методу половинного деления).

В качестве условия окончания счета можно принять условия:

(Минаева)

(Турчак).

Корень уравнения: ci.


 


Блок-схема метода хорд:
 

Программа уточнения корней методом хорд:

program met_hord;

var a,b,c,e,x,g: real;

N:integer;

function f(x: real):real;

begin {записать, функцию в виде f:=[матем. выражение]}

f:=x*x*x-x+4;

end;

begin

write('Введите левую границу отрезка - a:'); readln(a);

write('Введите правую границу отрезка - b:'); readln(b);

write('Введите требуемую погрешность - e:'); readln(e);

N:=0; c:=a;

repeat N:=N+1; g:=c;

c:=(a*f(b)-b*f(a))/(f(b)-f(a));

if f(a)*f(c)<0 then b:=c else a:=c;

until abs(g-c)<e;

writeln('Приближенное значение корня - Х = ',c);

writeln('Число итераций - N = ',N);

end.



 



<== предыдущая лекция | следующая лекция ==>
II. Отделения корней программным способом. | Метод простой итерации


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.