8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 69 70 71 72 73 74 75 ... 117

Тогда корень может быть вычислен любой из команд

»Root- full new(f exln, 7.4)У. Форма А

»Root= full new(f exln, 7.4,tni) У, Форма В

»Root= full new(f exln, 7.4,tni, tol) X Форма С

»Root= full new(f exln, 7.4,tni, tol, hi)/, Форма D

где tni - общее число требуемых (скажем, 12) итераций с начальным значением х= 7.4, tol - условие остановки вычислений при достижении заданной точности: -F(:e) < tol (скажем, 1.0Е-4) и hi определяет, нужно ли показывать результаты промежуточных итераций (hi = 1 означает «да», hi = 0 означает «нет»). При выполнении форм А-С выводится результат только последней итерации (т. е. hi = 0); если tni и tol не заданы, то по умолчанию им присваиваются значения 20 и 1.0Е-3 соответственно.

15.2. 1D: Метод 2 - метод Гаусса-Якоби

Для применения метода Гаусса-Якоби нужно преобразовать исходное уравнение F(x) = Ок виду х = G(x), а сам он представляет итерации

=Q(xW)tдля п = 0,1,2.....

М-файл gauss ja.mсодержит программу этого метода. Обращение к ней аналогично обращению к full n.ew.rn, за исключением подготовки М-файла-функции.

Так, пример 1, приведенный выше, можно решить следующим образом (аналогично full new.m)

» Root = gauss ja(f exlg, 7.4)У. A

>> Root = gauss ja(f exlg, 7.4, tni, tol, hi) X D

с помощью укороченного в заглавииМ-файла-функции f .exlg.ra

function G = fun name( P ) ; /, Пример 1

x = PCD;/• Метод Гаусса - Якоби

R = 18 - x~3 + 10*x"2;

G = R / 27;/, Следующее также подходит:

У. R 10*х~2-27*х+18;У, Промежуточная величина

X G = sign(R)*abs(R)*(l/3) ; У. Иатользуйте SIGN, чтобы

У, избежать комплексных X значений


где первая строка не содержит [ ]1К Позже вы увидите, что такая функция G приводит к плахой сходимости.

Замечание. Функция G(x) не определяется однозначно. Мы даже метод Ньютона можем рассматривать как метод Гаусса-Якоби, в котором G(x) = х - F(x)/F(x). В приведенном выше примере 1 функцию F(x) ™х3 - Юж2 + 27а:-18 = 0 можно переписать в виде х = G{x) с G(x) = (18 + Юх - х3)/27; но и это представление не

единственно, поскольку G(x) = (Юж2 - 27а; + 18)~/-J предоставляет другую возможность.

15.3. 1D: Анализ сходимости

Ни метод 1, ни метод 2 не работают хорошо всегда. Когда метод не работает, имеются две возможности: (1) метод плох, и мы должны найти более подходящий; (2) начальное приближение было выбрано слишком далеко от искомого, и это можно до некоторой степени исправить. Плохая работа метода обычно означает медленную сходимость и является знаком его низкого качества - тогда следует пойти по пути (1). Ниже мы надеемся проанализировать обе эти возможности.

15.3.1. Область поиска

Под «областью поиска» мы понимаем область, содержащую искомые корни. Областью поиска может быть R -=. (-оо,+оо), но мы надеемся сделать менее протяженный диапазон. Большая часть задач приходит из практики, и поэтому можно выбирать «область поиска», исходя из априорных знаний; например, отрезок [1,10] может быть хорошей областью поиска, когда х представляет собой рост человека в футах.

В нашем случае уравнения с одной переменной, т. е. уравнения F(x) = 0 можно получить некоторое представление о корнях F(x) на интервале [а, 6], воспользовавшись командой MATLABa plot. Рассмотрим Пример 2

Пусть

F(x) = (2 - sina:)(a;3 - Юх2 + 27а: - 18) = 0- (15.2)

1) То есть у функции G(P) только один выходной аргумент. - Прим. перев.


Рис. 15.1. Выбор области поиска.

Для этого примера выполните » х = 0.5 : 0.01 : 6.5;

» F = (2-sin(x)) .* (х.-З - 10*х."2 + 27*х - 18) ; » plot(x,F, х,zeros(size(х)) ) ; grid

чтобы построить график, подобный изображенному на рис. 15.1. Теперь можно заметить, что все корни находятся примерно на отрезке [0,7], и поэтому [0,7] является подходящей областью поиска для начального приближения х = х°К

15.3.2. Область сходимости

Область сходимости метода определяется как множество всех начальных точек из области поиска, для которых может быть получено сходящееся решение. Ясно, что область сходимости вложена в область поиска. Чтобы найти такую область сходимости, нужно перебрать в качестве начальных «все» точки области поиска и запомнить те, для которых соответствующие последовательности сошлись к решению. На практике рассматривают лишь точки, взятые с некоторым шагом.

Например, для области поиска [0,8] из примера 1 мы можем проверить в качестве начальной точки х<0 = 0, 1/8, 2/8, ... , 8 - 1/8, 8; здесь использован шаг длины Ах = 1/8 = 0.125. В обозна-



0 ... 69 70 71 72 73 74 75 ... 117