Скачать 350.48 Kb.
|
^ Если х0, х1 — приближенные значения корня уравнения f(x) = 0, a f(x0) f(xx) < 0, то последующие приближения находят по формуле ![]() Методом хорд называют также метод, при котором один из концов отрезка [а; b] закреплен (рисунок 9), т. е. вычисление приближения корня уравнения f(x) = 0 производят по формулам ![]() либо ![]() ![]() При расчете предполагается, что корень уравнения находится на отрезке [a; b], a f"{x) сохраняет знак на [а; b]. ![]() Рисунок 9 - Метод хорд Из рисунке 9 видно, что получаемые точки хс постепенно сходятся к корню уравнения. Поскольку в рассмотренном методе очередное приближение хс определяется с помощью интерполяции, учитывающей наклон кривой f(х), он во многих случаях оказывается более эффективным, чем метод половинного деления. Пример 12. Методом хорд найти корень уравнения х4 - 2х - 4 = 0 с точностью до 0,01. Решение Положительный корень будет находиться на отрезке [1; 1,7], так как f(1) = -5<0, а f(1,7) = 0,952 >0. Найдем первое приближенное значение корня по формуле х1 = 1-(1,7-1)*f(1)/f(1,7)-f(1)=1,588; так как f(1,588) = -0,817 < 0, то, применяя вторично способ хорд к отрезку [1,588; 1,7], найдем второе приближенное значение корня: х2 = 1,588- (1,7 -1,588)f(1,588)/f(1,7) -f(1,588) = 1,639; f(1,639) = -0,051 <0. Теперь найдем третье приближенное значение: х3 = 1,639- (1,7 - 1,639)f(1,639)/f(1,7) -f(1,639) = 1,642; f(1,642) =-0,016 <0. После этого найдем четвертое приближенное значение: х4 = 1,642 - (1,7 - 1,642)f(1,642)/f(1,7) –f(1,642) = 1,643; f(1,643) = 0,004 >0. Следовательно, искомый корень с точностью до 0,01 равен 1,64. Пример 13. Методом хорд найти корни уравнения ех - 10 = 0 с заданной точностью ![]() Решение Введем следующие обозначения: а — начало отрезка; b — конец отрезка; eps — погрешность вычислений; х — искомое значение корня; min — модуль значения производной функции в начале отрезка; d — модуль значения производной функции в конце отрезка; х0 — точка, в которой отыскивается производная. Программа_____________________________________________________ Program kurs; uses crt; Var a,b,eps,x,min: real; {Вычисление заданной функции} Function fx(x:real): real; begin fx:=exp(x)-10*x; end; {Функция вычисления производной и определение точности вычислений} {Вычисляем значение 2-й производной в точке (5*х0/4)} Function proizv(x0,eps: real): real; Var dx,dy,dy2: real; begin dx:=l; Repeat dx:=dx/2; dy:=fx(x0+dx/2)-fx(x0-dx/2); dy2:=fx(5*x0/4+dx)-2*fx(5*x0/4); dy2:=dy2+fx(5*x0/4-dx); Until abs(dy2/(2*dx)) proizv:=dy/dx; end; {Уточнение количества знаков после запятой} Function utoch(eps:real): integer; Var k: integer; begin k:=-l; Repeat eps:=eps*10; k:=k+l; Until eps>l; utoch:=k; end; {Процедура определения наименьшего значения производной на заданном промежутке} Procedure minimum(a,b,eps: real; var min: real); Var d: real; begin a:=a-eps; b:=b+eps; Repeat a:=a+eps; b:=b-eps; min:=abs(proizv(a,eps)); d:=abs(proizv(b,eps)); If min>d Then min:=d Until min <>0 end; {Процедура уточнения корня методом хорд} Procedure chord(a,b,eps,min: real; var x:real); Var xl: real; begin xl:=a; Repeat x:=x 1 -((b-x 1 )*fx(x 1 ))/(fx(b)-fx(x 1)); x 1 :=x Until abs(fx(x))/min end; {Основная программа} Begin clrscr; Writeln ('Введите начало отрезка а, конец отрезка b'); Readln (a,b); Writeln ('Введите погрешность измерений eps'); Readln (eps); minimum(a,b,eps,min); chord(a,b,eps,min,x); Writeln ('Корень уравнения x= ',x:3:utoch(eps)); Readln; End. ^ Если x0 — начальное приближение корня уравнения f(x) = 0, то последовательные приближения находят по формуле ![]() Если f' и f" (первая и вторая производные) непрерывны и сохраняют определенные знаки на отрезке [a; b], a f(a) f(b) < 0, то, исходя из начального приближения х0 ![]() На практике часто используют модификации метода Ньютона, свободные от этого недостатка. Одно из упрощений сводится к тому, что производная вычисляется только один раз в начальной точке и затем это значение используется на всех последующих шагах. Данная модификация основывается на предположении о малом изменении производной вблизи корня. Одной из наиболее известных модификаций является метод секущих. В этом методе производная заменяется ее приближенным значением: ![]() В формуле для F'(x) в отличие от f'(x) приращение ![]() ![]() ![]() Выберем на отрезке [а; b] произвольную точку х0 — нулевое приближение. Затем найдем ![]() далее ![]() ![]() Рис. 10. Метод Ньютона (а) и метод секущих (б) Таким образом, процесс нахождения корня уравнения сводится к вычислению чисел хn по формуле ![]() Процесс вычисления продолжается до тех пор, пока не будет выполнено условие |xn – xn-1| < ![]() Схема итерационного процесса метода Ньютона приведена на рисунке 11, из которого понятно, что каждое следующее приближение может быть определено по формуле ![]() ![]() Рисунок 11 - Схема алгоритма Ньютона Пример 14. Методом Ньютона (касательных) найти корень уравнения х4 - 2х - 4 = 0 с точностью до 0,01. Решение В этом уравнении f(x) = x4 - 2х - 4, f'(х) = 4x3 - 2, а f"(x) = 12х2. Так как f(х) и f"(x) при х0 = 1,7 имеют один и тот же знак, a именно f(1,7) = 0,952 > 0 и f"(1,7) > 0, то применяем формулу x1 = x0 - f(x0)/f'(x0), где f'(1,7) = 4- 1,73-2 =17,652. Тогда х1 = 1,7-0,952/17,652 =1,646. Применяем второй раз способ касательных: x2 = x1 - f(x1)/f'(x1), где f(x1) =f(1,646) = 0,048, f'(1,646) = 15,838; х2 = 1,646 - 0,048/15,838 = 1,643; f(1,643) = 0,004, f'(1,643) = 15,740; х3 = 1,643 - 0,004/15,740 = 1,6427. Следовательно, искомый корень с точностью до 0,01 равен 1,64. Пример 15. Методом касательных найти действительный корень уравнения х3 + х - 3 = 0. Решение Записав данное уравнение в виде х3 = -х + 3 и построив графики функций f(х) = х3 и f2(x) = -х + 3, найдем, что единственный корень уравнения принадлежит отрезку [1; 2]. Определим отрезок меньшей длины, на котором находится корень. Так как f(х)=х3 + х-3, f(1,2) = (1,2)3 + 1,2 - 3 = -0,072 < 0, f(1,3) = (1,3)3 + 1,3 - 3 = 0,497 > 0, то корень лежит на отрезке [1,2; 1,3]. Серединой этого отрезка является точка х= 1,25. Поскольку f(1,25) = (1,25)3+ 1,25 - 3 = 0,203125 > 0 и f(1,2)<0, то искомый корень принадлежит отрезку [1,20; 1,25]. Данная функция f(х) = х3 + х - 3 имеет производные f'(х) = Зх2 + 1, f"{x) = 6х, принимающие положительные значения на отрезке [1,20; 1,25]. В качестве начального приближения выберем х= 1,25. Результаты вычислений записываем в табл. 1, из которой видно, что искомый корень х = 1,21341. Таблица 1. Метод касательных
Пример 16. Методом Ньютона найти корни уравнения у = х3 + 0,1х2 + 0,4х- 1,2 на отрезке [0; 1] с точностью ![]() Решение Приведем уравнение к виду х= ![]() ![]() ![]() ![]() ![]() ![]() Программа_____________________________________________________ program metod_kasatel; Uses Crt; Var xn,xnl,a,b,c,mx,y0,x0 :real; function fl(xl:Real): Real; {Заданная функция} begin fl := xl*xl*xl*(-0.5)-0.05*xl*xl+0.8*xl+0.6; end; f unction f2(x4:Real): Real; begin f2 := X4*x4*x4+0.5*x4*x4+0.1*x4*x4+0.4*x4-1.2; end; begin {Основная программа} Clrscr; a:=0; b:=l; c:=0.00000001; Writeln(' От A=',a,' до B=',b); Writeln(' Погрешность c=',c); Readln; { Ожидание нажатия клавиши Enter} xn:=b; xnl:= fl(xn); y0:=f2(b); while ABS(y0)>c do {Проверка по точности вычисления корня} begin xn:=xnl; xnl:=fl(xn); y0:= f2(xnl); {Печать промежуточного результата} Writeln('xn=' ,xn,' xn+l=',xnl,' f(xn+l)=',y0); Readln; end; {Конец тела цикла} Writeln('Конечное значения'); Writeln(' xn+l=',xnl,' f(xn+l)=',y0); Readln; end. |
![]() | Исход моделирования в значительной степени определяется выбором метода решения модели и умением правильно интерпретировать полученные... | ![]() | Некоторые физические системы могут быть адекватно описаны математической моделью в виде системы линейных алгебраических уравнений... |
![]() | Числа a, b, d, e – коэффициенты при неизвестных; c, f – свободные члены. Решение этой системы уравнений может быть найдено двумя... | ![]() | ... |
![]() | Итерационные методы решения интегральных уравнений, особенность частичной сходимости | ![]() | Закрепить методику формирования математической модели кинетики химической реакции в форме дифференциальных уравнений |
![]() | Применение систем алгебраических линейных уравнений для описания и анализа модели межотраслевого баланса. (стр. 3-6) | ![]() | Применение систем алгебраических линейных уравнений для описания и анализа модели межотраслевого баланса – 6 стр |
![]() | Системой линейных алгебраических уравнений называется совокупность формальных равенств вида | ![]() | Комплексная форма уравнений поля. Решение основных уравнений поля при известных токах и зарядах |