Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по инф..doc
Скачиваний:
8
Добавлен:
25.09.2019
Размер:
189.44 Кб
Скачать

Решение уравнения по методу половинного деления

Решить уравнение по методу половинного деления:

 

Алгоритм метода дихотомии

 

Алгоритм метода дихотомии очень прост. Рассмотрим отрезок |a,b| в пределах которого имеется один корень x1

 

 

На первой этапе вычисляется x0=(a+b)/2

Далее определяется значение функции в этой точке: если f(x0)< 0, то [a,x0], если наоборот, то [x0,b], т.е. происходит сужение интервала. Таким образом, в результате формируется последовательность xi, где i - номер итерации.

Вычисления прекращаются, когда разность a-b меньше требуемой погрешности.

СХЕМА ПРОГРАММЫ (БЛОК-СХЕМА АЛГОРИТМА)

Схема программы Половинного деления

Листинг программы на языке паскаль

program mdp;

function f(x: real): real;

begin

f:=exp4(1-x^2)-e^x;

end;

var

a, b, : real;

begin

a:=0;

b:=1;

write ('e=');

read(e);

c:=(a+b)/2;

while abs(b-a)>e do

begin

if f(c)*f(a)<0 then

b:=c

else

a:=c;

f(c)<0;

c:=(a+b)/2;

end;

x:=(a+b)/2;

write ('x=',x:3:3,' f(x)=',f(x):4:4);

end.

Результат работы

Результат №1. Таблица в Excel:

Результат №2. Листинг программы на языке Паскаль:

program mdp;

function f(x: real): real;

begin

f:=exp4(1-x^2)-e^x;

end;

var

a, b, : real;

begin

a:=0;

b:=1;

write ('e=');

read(e);

c:=(a+b)/2;

while abs(b-a)>e do

begin

if f(c)*f(a)<0 then

b:=c

else

a:=c;

f(c)<0;

c:=(a+b)/2;

end;

x:=(a+b)/2;

write ('x=',x:3:3,' f(x)=',f(x):4:4);

end.

Вывод в ходе самостоятельного изучения материала на тему:

РАЗРАБОТКА PASCAL-ПРОГРАММ ДЛЯ РЕШЕНИЯ ТРАНСЦЕНДЕНТНЫХ УРАВНЕНИЙ И ВЫЧИСЛЕНИЯ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ, я:

1. Освоила методы проектирования программ на языке Turbo Pascal для решения трансцендентных уравнений и вычисления определенных интегралов.

2. Разработала программу на языке Turbo Pascal для решения заданного уравнения по заданному методу.

3. Освоила методы нахождения определенных интегралов.

4. Разработала программу на языке Turbo Pascal для нахождения определенного интеграла по заданному методу.

Котрольные вопросы

1. Трансцендентное уравнение — уравнение, не являющееся алгебраическим. Обычно это уравнения, содержащие показательные, логарифмические, тригонометрические, обратные тригонометрические функции, например:

Более строгое определение таково:

Трансцендентное уравнение — это уравнение вида  , где функции   и   являются аналитическими функциями, и по крайней мере одна из них не является алгебраической.

2. Методы приближённого вычисления значений интегралов:

2.1 Метод прямоугольников

При использовании метода прямоугольников (рис. 1) для вычисления суммы S1 используются формулы:

S1 = h[f(X1) + f(X2) + ... f(Xn)],

где X1 = A + h/2, X1 = Xi-1 + h.

2.2 Метод трапеций

При использовании метода трапеций (рис. 2) для вычисления суммы S1 используются формулы:

S1 = 0.5 h {f(A) + f(B) + 2[f(X1) + f(X2) + ... + f(Xn-1)]},

где X1 = A + h, X1 = Xi-1 + h.

2.3 Метод парабол (Симпсона)

При использовании метода Симпсона для вычисления суммы S1 используется формула:

S1 = {f(A) + f(B) + ... + 2[f(A+h) + f(A+3h) + ... + f(A+(n-1)h] + 4[f(A+2h) + f(A+4h) + ... + f(A+(n-2)h)]},

где n - четное число.

Для вычисления суммы S2 используются те же формулы, только при измененных значениях шага аргумента h и количества интервалов n. 4.

3. Метод простой итерации. Алгоритм:

  1. Условие   преобразуется к виду  , где   — сжимающая;

  2. Задаётся начальное приближение и точность  ;

  3. Вычисляется очередная итерация  :

    • Если  , то   и возврат к шагу 3.

    • Иначе   и остановка.