- •«Пензенская государственная технологическая академия» (пгта)
- •Разработка pascal-программ для решения трансцендентных уравнений
- •Содержание
- •Введение
- •Задание на учебную практику группе 11эм1б на тему:
- •Разработка pascal-программ для решения трансцендентных уравнений и вычисления определенных интегралов.
- •Цель работы
- •Задание варианта №6
- •Метод половинного деления (метод дихотомии) Метод дихотомии
- •Решение уравнения по методу половинного деления
- •Алгоритм метода дихотомии
- •Листинг программы на языке паскаль
- •Результат работы
- •Вывод в ходе самостоятельного изучения материала на тему:
- •Котрольные вопросы
- •2. Методы приближённого вычисления значений интегралов:
- •4. Основные шаги алгоритма решения уравнения по методу хорд:
- •5. Основные шаги алгоритма решения уравнения методом дихотомии:
- •6. Основные шаги алгоритма решения уравнения методом Ньютона:
Решение уравнения по методу половинного деления
Решить уравнение по методу половинного деления:
Алгоритм метода дихотомии
Алгоритм метода дихотомии очень прост. Рассмотрим отрезок |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. Метод простой итерации. Алгоритм:
Условие
преобразуется
к виду
,
где
—
сжимающая;Задаётся начальное приближение и точность
;Вычисляется очередная итерация
:Если
,
то
и
возврат к шагу 3.Иначе
и
остановка.
