Раздел: Документация
0 ... 70 71 72 73 74 75 76 ... 117 15.3. ID:Анализ сходимости 219 о азооооосооооооооооооооооо* ОООООООООСООСООООО J ЮОООООООООООООО 01334567 Рис. 15.2. Поиск области сходимости из трех интервалов. [О 1.875]ДЛЙ 1 [2.Й154.25] для 3 [4.875 в] для < Рис. 15.3. Пример 2: области сходимости для корней х = 1, 3, 6. нениях MATLABa это хО = 0 : 0.125 : 8. Более того, мы можем написать стедующий М-файл для построения графика, подобного изображенному на рис. 15.2: tni = 30 ; X = [] ; R = [] ; for х0= 0 : 1/8 : 8 ШД ех1п.тдля примера 1 Ш7.У, root = full new(f exln ,x0, tni) ; if 0 <= root <= 8, X = [X; хО] ; R - [R; root]; end - j ЧЧЧЧЧЧЧЧ/VЧЧЧЧЧЧЧЧЧЧЧV/ЧЧЧЧЧЧМ/ЧЧЧ VЧЧЧЧЧЧw//Ч•/•/•/•/ Convergence region = [X R], pT.ot(X, R, о) axis([0 8 0 7]) Не считая нескольких «странных» точек, по существу имеется три интервала, которые образуют область сходимости. Данные рис. 15.2 можно лучше представить в форме рис. 15.3, полученного с помощью команд » х = [0 0 1.875 1.875]; у =[0 1 1 0]; » plot (х,у) ; holdon /,% plot (х,у, о); 7, Не обязат. » plot([2.215 2.215 4.25 4.25], [0 3 3 0]); » plot([4.875 4.875 8 8], [0 6 6 0]); » axisC [-1 9 -1 8]);hold off 15.3.3. Порядок сходимости Различные итерационные схемы сходятся к решению с разными скоростями (если они, конечно, сходятся). Эти скорости дают меру производительности каждого метода. Скорость сходимости метода характеризуется его порядком сходимости. Если последовательность величин х,.. , хп\ .. .удовлетворяет соотношению [xfn+i) -ж ос \х(п) - х\к,т. е. \х1п+~х\ =С\х{п)-х\к п = 0,1,2,... или lit1)-я]= С\хЮ-х\к \хЫ-х\= С\хЮ-х\К ?<п+Ч-х = С\х~х\к с некоторыми константами С и Hue, зависящими от п), то метод, породивший эту последовательность итераций, имеет порядок сходимости к. Здесь х -решение уравнения F(x) = 0, а означает «пропорционально»1, а • обозначает абсолютное значение (модуль). Чем больше значение к, тем быстрее сходимость и тем лучше используемый метод. Чтобы оценить константу С и порядок к, нам Символ ос используется для обозначения эквивалентности поведения последовательностей при достаточно больших п. Обычно значение х неизвестно. Поэтому на практике С ж к определяются из соотношений 1хп+1>- х1~п>\~-C)xW-х-.- Прим перев. нужно вьшолнить по крайней мере три итерации и знать точное значение корня или четыре итерации, из которых последняя рассматривается как «точный» корень. М-файл: ijrate.m Если вычисленная последовательность содержит более четырех итераций, мы можем воспользоваться М-файлом i-rate.m, чтобы получить оценки порядка ее сходимости к. Поскольку каждые три итерации вместе с самой последней итерацией позволяют это сделать, М-файл f rate .m предлагает вам выбрать выдачу всех оценок или только средней оценки. Синтаксис вызова прост: » k - f rate (root, hi) где root есть последовательность итераций, полученных из f ull new.тили gauss45а.т, и при hi = 1 запоминаются все оценки (в то время как при hi = 0 останутся лишь среднее и последнее значения к). В примере 1 мы можем вызвать f rate.mследующим образом: » root = full.newCf.exln, 7.4, 20, 0.0001, 1) ; » k = f rate(root, 1) » mean(k) где команда mean находит среднее значение. В заключение рассмотрим пример прямого использования root1) » root = [ 3.46 3.5 3.61 3.735 3.755] » К = f rate(root, 1) К = 3~.8743 3.5091 %/. Оценки порядка » А = mean (К) А = 3.6917У/. Его среднее значение 15.4. 2D: Итерации для нелинейных систем В оставшейся части этой главы мы рассмотрим итеративные методы решения систем уравнений. При этом будут использоваться два fulljiew.mH gauss ja.mвместе с cont4.m и Ixate.m. Для метода Ньютона в применении к полиномам с разделенными корнями правильное значение fc = 2. В случае А: = 1 приближения сходятся как геометрическая прогрессия со знаменателем С, где \С\ < 1; при А: < 1 сходимость будет хуже, чем у любой геометрической прогрессии. Поскольку при вычислениях корень х обычно неизвестен, вместо Ix""1"1 - х\ используются jx""1"1- anty iOO хп~1~>\. Вообще нахождение к требует повышенного внимания к вычислениям. - Прим. перев. 0 ... 70 71 72 73 74 75 76 ... 117
|