Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шадхин МЗиКМ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
83.89 Кб
Скачать

1.Метод итераций.

Это способ численного решения математических задач. Его суть – нахождение алгоритма поиска по известному приближению (приближенному значению) искомой величины следующего, более точного приближения. Применяется в случае, когда последовательность приближений по указанному алгоритму сходится.

Данный метод называют также методом последовательных приближений, методом повторных подстановок, методом простых итераций и т.п.

Поясним суть метода на примере решения уравнения  f(x) = 0. (1)

Будем вместо уравнения (1) рассматривать равносильное ему уравнение  х = F(x),   (2) где F(x) = f(x) + х.

Пусть х0 – произвольное число (начальное приближение искомого корня уравнения (1)). Рассмотрим последовательность х1 = F(x0), x2 = F(x1), …, xn= F(xn-1), …  Если эта последовательность имеет предел, то он и есть решение (корень) уравнения (2), а значит, и уравнения (1).

Процесс составления последовательных приближений наглядно показан на рис., где кривая – график функции у = F(x), а прямая – биссектриса первого и третьего координатных углов (ее уравнение у = х).

Последовательность {xn} сходится, например, если выполнены оба условия:  F(x) > x;  , где ε > 0 – достаточно малое положительное число (в этом случае как раз и будет ситуация, изображенная на рис.).

Метод простой итерации обладает наибольшей экономичностью по затратам машинного времени на одну итерацию и оперативной памяти ЭВМ в сравнении с другими методами. Однако эффективность его зависит от обусловленности системы алгебраических уравнений. При плохой обусловленности необходимо применять различные способы ускорения сходимости итераций.

Достоинством метода простой итерации является возможность решения с его помощью различного рода нелинейных задач, возникающих в теории резонаторов и приводящих к нелинейным интегральным уравнениям.

Основной недостаток метода простой итерации заключается в том, что не для всех уравнений он сходится, к тому же его сходимость зависит от удачи при выборе первого ( начального) значения, с которого начинается поиск решения

2.метод Ньютона.

Метод Ньютона относится к методам второго порядка. Особенность его в том, что для выбора направления поиска используется не сама функция, а ее аппроксимация квадратичной функцией. Сходимость метода доказана только для класса выпуклых функции.

Метод Ньютона, алгоритм Ньютона (также известный как метод касательных) — это итерационный численный метод нахождения корня (нуля) заданной функции. Поиск решения осуществляется путём построения последовательных приближений и основан на принципах простой итерации. Метод обладает квадратичной сходимостью. Улучшением метода является метод хорд и касательных. Также метод Ньютона может быть использован для решениязадач оптимизации, в которых требуется определить нуль первой производной либо градиента в случае многомерного пространства.

Метод Ньютона

Алгоритм метода Ньютона состоит в следующем.

1. В начальной точке х [0] вычисляется вектор

p[0]   - H-1(x[0])f’([0]).

2. На k-й итерации определяются шаг аk и точка х[k+1].

3. Вычисляется величина f(х[k+1]).

4. Проверяются условия выхода из подпрограммы, реализующей данный алгоритм. Эти условия аналогичны условиям выхода из подпрограммы при методе наискорейшего спуска. Если эти условия выполняются, осуществляется прекращение вычислений. В противном случае вычисляется новое направление

р[k+1]   –H-1(x[k])f’([k])

и осуществляется переход к следующей итерации.

Количество вычислений на итерации методом Ньютона, как правило, значительно больше, чем в градиентных методах. Это объясняется необходимостью вычисления и обращения матрицы вторых производных целевой функции. Однако на получение решения с достаточно высокой степенью точности с помощью метода Ньютона обычно требуется намного меньше итераций, чем при использовании градиентных методов. В силу этого метод Ньютона существенно более эффективен. Он обладает сверхлинейной или квадратичной скоростью сходимости в зависимости от требований, которым удовлетворяет минимизируемая функция f(x). Тем не менее в некоторых задачах трудоемкость итерации методом Ньютона может оказаться очень большой за счет необходимости вычисления матрицы вторых производных минимизируемой функции, что потребует затрат значительного количества машинного времени.

Достоинства метода: высокая скорость сходимости; обобщается на системы уравнений.

Недостатки: сложный, т. к. требуется вычисление производных; сильная зависимость сходимости от вида функции и выбора начального приближения.

3. метод половинного деления. Его ещё называют методом дихотомии. Этот метод решения уравнений отличается от выше рассмотренных методов тем, что для него не требуется выполнения условия, что первая и вторая производная сохраняют знак на интервале [a, b]. Метод половинного деления сходится для любых непрерывных функций f(x) в том числе недифференцируемых.

Метод половинного деления один из методов решения нелинейных уравнений и основан на последовательном сужении интервала, содержащего единственный корень уравнения F(x)=0 до того времени, пока не будет достигнута заданная точность Е. Метод используется при решении квадртных уравнений и уравнений высших степеней.

Пусть задан отрезок [а,b], содержащий один корень уравнения. Этот отрезок может быть предварительно найден с помощью шагового метода.

Алгоритм метода половинного деления:

Определить новое приближение корня х в середине отрезка [а,b]: х=(а+b)/2.

Найти значения функции в точках а и х: F(a) и F(x).

Проверить условие F(a)*F(x) < 0. Если условие выполнено, то корень расположен на отрезке [а,х]. В этом случае необходимо точку b переместить в точку х (b=х). Если условие не выполнено, то корень расположен на отрезке [х,b]. В этом случае необходимо точку а переместить в точку х (а=х).

Перейти к пункту 1 и вновь поделить отрезок пополам. Алгоритм продолжить до того времени, пока не будет выполнено условие /F(x)/ < e.

Достоинство метода половинного деления : более быстрая сходимость к заданной точности, чем у шагового. Недостаток: если на отрезке [а,b] содержится более одного корня, то метод не работает.

4.методрунге-кутта. Методы Рунге-Кутта обладают следующими свойствами:

1. Эти методы являются одноступенчатыми: чтобы найти уm+1, нужна

информация о предыдущей точке xm,ym.

2. Они согласуются с рядом Тейлора вплоть до членов порядка hp, где степень р различна для различных методов и называется порядковым номером или порядком метода.

3. Они не требуют вычисления производных от f (x,y), а требуют вычисления самой функции.

5. метод простой итерации.условие сходимости. Метод простой итерации В данном методе формула выражается в явном виде х=(x). Условие сходимости для этого метода определяется с помощью теоремы о сжимающем отображении (если отображение (x) удовлетворяет условию сжимаемости, то итерационная последовательность будет сходящейся). В одномерном случае будет простая формула для начального приближения х0: |’(x0)| < 1. В простейшем случае (x)= F(x)/n+x или (x)=-F(x)/n+x, n – положительно число. Если |F’(x)|>1, то n>1, если |F’(x)|<1, то n 1. Выбирая n можно практически всегда удовлетворить условие сходимости.  Замечание: Следует учитывать, что итерационная последовательность может сходиться к искомому корню, другому корню или расходится (уход значений на бесконечность). Нам необходим только первый вариант. Для этого нужно, чтобы вокруг искомого корня была область, в которой все точки удовлетворяют условию сходимости. Это несколько более сложное условие, чем |’(x0)| < 1 , которое определяется для 1 точки x0.

порядок метода простой итерации: Задается отрезок отделения корня и нелинейное уравнение. Строится итерационная формула.

Исследуется сходимость построенной итерационной формулы на заданном отрезке. При необходимости формула корректируется. Для упрощения часто проверяется условие сходимости на концах отрезка, если там все в порядке, то считается, что на всем отрезке условие сходимости тоже выполняется.

Для выбранной формулы выбирается подходящее начальное приближение x0 . Для упрощения часто выбирается середина отрезка. Производится вычисление итерационной последовательности до тех пор пока не будет выполнено условие выхода, которое определяется как d<, где d = |xk+1 –xk |.Тогда xk+1 - искомый корень нелинейного уравнения.

6.Метод сканирования. Метод сканирования (слепого поиска) заключается в последовательном переборе всех вариантов сочетаний факторов по сетке.

Во всех узлах сетки выбираются наилучшие значения целевой функции.

Недостатки метода: положение экстремума определяется с низкой точностью; низкая эффективность; в случае большого числа факторов недопустимо применение метода сканирования.

Преимуществом данного метода является независимость поиска от вида и характера целевой функции.

Метод сканирования используют для предварительного изучения функции. Применение метода оправдано, когда факторы х1 и х2 имеют дискретную природу.

7.Градиентный метод. Градиентные методы относятся к приближенным методам решения задач нелинейного программирования. В общем случае они обеспечивают получение оптимального решения с помощью бесконечного процесса последовательных приближений. Однако в некоторых случаях процесс может закончиться и через конечное число итераций.Градиентные методы могут применяться к любой задаче нелинейного программирования, приводя лишь к локальному, а не глобальному экстремуму. Поэтому они оказываются более эффективными при решении задач выпуклого программирования, где всякий локальный экстремум есть одновременно и глобальный. 

Градиентные методы позволяют свести решения ряда математических задач к поиску локального экстремума функций многих переменных посредством решения системы обыкновенных дифференциальных уравнений. Эта важная особенность градиентного метода делает его применение особо привлекательным при программировании аналоговых вычислительных машин

8. операторы цикла MATLAB. Язык программирования MatLab имеет два оператора цикла: while и for. С их помощью, например, выполняется программирование   рекуррентных алгоритмов, подсчета суммы ряда, перебора элементов массива и многое другое.

В самом простом случае цикл в программе организуется с помощью оператора while, который имеет следующий синтаксис:

while<условие>        <операторы>  end

Здесь <условие> означает условное выражение подобное тому, которое применяется в операторе if, и цикл while работает до тех пор, пока это условие истинно.

Следует обратить внимание на то, что если условие будет ложным до начала выполнения цикла, то операторы, входящие в цикл, не будут выполнены ни разу.

Синтаксис оператора цикла for имеет следующий вид:

for<счетчик> = <начальное значение>:<шаг>:<конечное значение>        <операторы цикла>  end

Рассмотрим работу данного цикла на примере реализации алгоритма поиска максимального значения элемента в векторе:

functionsearch_max  a = [3 6 5 3 6 9 5 3 1 0];  m = a(1);                    % текущее максимальное значение  for i=1:length(a)            % цикл от 1 до конца вектора с                               % шагом 1 (по умолчанию)      if m < a(i)                   % если a(i) > m,           m = a(i);           % то m = a(i)      end  end                          % конеццикла for  disp(m);

В данном примере цикл forзадаетсчетчик i и меняет его значение от 1 до 10 с шагом 1. Обратите внимание, что если величина шага не указывается явно, то он берется по умолчанию равным 1.

Часто при организации цикла требуется перебирать значение счетчика в заданном диапазоне значений и с заданным шагом изменения. Например, чтобы перебрать элементы вектора (массива), нужно организовать счетчик от 1 до N с шагом 1, где N – число элементов вектора. Чтобы вычислить сумму ряда, также задается счетчик от a до b с требуемым шагом изменения step. И так далее. В связи с тем, что подобные задачи часто встречаются в практике программирования, для их реализации был предложен свой оператор цикла for, который позволяет проще и нагляднее реализовывать цикл со счетчиком.

Синтаксис оператора цикла for имеет следующий вид:

for <счетчик> = <начальное значение>:<шаг>:<конечное значение>       <операторы цикла> end