- •Рабочее задание
- •Варианты заданий к лабораторной работе 1
- •Отделение корней уравнения
- •Результат
- •Уточнение корней методом половинного деления
- •Текст программы
- •Текст программы
- •Текст программы
- •Результат
- •Определитель
- •Обратные матрицы
- •Текст процедуры обращения матриц
- •Метод Гаусса-Жордана
- •Текст процедуры
- •Текст процедуры
- •Метод Зейделя
- •Текст процедуры метода Зейделя
- •Расчет определенного интеграла методом Симпсона
- •Текст функции расчета определенного интеграла
- •Расчет определенного интеграла с эаданной точностью
- •Текст программы
- •Текст программы
- •Интерполяционный многочлен Лагранжа
- •Текст функции расчета многочлена Лагранжа
Текст программы
program prpd;
var x, a, b, eps, y1, y2:real; k:integer;
{ - - - - - - - - - - - - - - - - - - - - - - - - - -}
function f(z:real):real;
begin f:=((2*z-10)*z+3)*z+4
end;
{ - - - - - - - - - - - - - - - - - - - - - - - - - - }
begin a:=3.6; b:=4.8; eps:=1e-4;
x:=a; y1:=f(a); y2:=y1; k:=0;
while (abs(y2)>eps) and (abs(b-a)>eps) do
begin k:=k+1;
x:=(a+b)/2;
y2:=f(x);
if y1*y2>0 then a:=x else b:=x
end;
writeln(‘корень x=‘,x:7:4,
‘ количество приближений k=‘, k)
end.
Результат
корень x=4.5768 количество приближений k=14
Уточнение корней методом минимизации
Преобразуя исходное уравнение (2.1) к виду
y=f2( x)=0 , (2.5)
замечаем, что корни исходного уравнения совпадают с минимумами пре-образованного уравнения. Следовательно, для уточнения корней могут быть использованы методы одномерной минимизации : метод золотого сечения, метод дробления шага и другие.
Метод золотого сечения
Как известно, золотым сечением отрезка называют деление отрезка на две части так, что отношение длины всего отрезка к длине большей части равно отношению длины большей части к меньшей. Золотое сечение отрезка [a, b] производят две симметрично расположенные точки с координатами xl=b-(b - a)g и xr=a+(b - a)g, где g=-(1-5)/2=0.618034. Точка с координатой xl, в свою очередь, производит золотое сечение отрезка [a, xr], а точка с координатой xr - золотое сечение отрезка [xl, b].
Как и в методе половинного деления, задаются границы отрезка a и b и требуемая точность расчета Значения y=f2(x) вычисляются в двух точках yl=f2(xl) и yr=f2(xr). Сравнение этих значений позволяет отбросить интервал [a, xl] или [xr, b], явно не содержащий минимума. Границы оставшегося интервала переименовываются (рис 2.3). На оставшемся интервале уже есть одна точка, производящая его золотое сечение. Эта точка и соответствующее значение функции также переименовываются. Затем вычисляются координата второй точки золотого сечения и значение функции в этой точке и процесс повторяется. В процессе ите-раций длина отрезка [a, b] уменьшается и поэтому критерием окончания процесса принимается условие (2.4). Блок-схема описанного алгоритма представлена на рис. 2.4. Метод золотого сечения гарантирует нахожде-ние решения в самых неблагоприятных условиях. Следует иметь в виду, что, если в окрестности искомого решения имеются локальные мини-мумы, то методы минимизации могут сойтись к одному из этих мини-мумов. Для блиц-контроля можно рекомендовать одновременно с выводом корня выводить значение функции (2.5).
Пример решения уравнения 2x3-10x2+3x+4=0 на отрезке [3.6, 4.8] с точностью 1 методом золотого сечения .