- •3 Курса
- •Предисловие
- •Введение
- •Глава 1. Погрешности результата численного решения
- •1.1. Источники ошибок при вычислениях на эвм.
- •1.2. Практическое вычисление функций.
- •1.3. Схема Горнера и метод Ньютона
- •В общем виде алгоритм запишется:
- •1.5. Метод простых итераций.
- •1.6. Метод деления отрезка пополам (метод дихотомии).
- •1.7. Метод хорд.
- •Программа метода дихотомии.
- •Программа метода простых итераций.
- •Программа метода Бэрстоу.
- •Программа метода хорд.
- •Программа метода секущих.
- •Глава 2 Решение систем линейных уравнений
- •2.1. Метод Гаусса.
- •2.2. Метод итераций (Гаусса-Зейделя).
- •2.4. Стандартные операторы мatlab для решения систем линейных алгебраических уравнений.
- •2.5. Решение систем нелинейных уравнений.
2.5. Решение систем нелинейных уравнений.
Имеем в векторной форме систему нелинейных уравнений f(x) = 0.
,
Число уравнений должно соответствовать числу переменных.
Разложим f(x) в ряд Тейлора в точке :
Члены выше первого порядка не учитываем. А поскольку в точке, соответствующей решению , запишем
Матрица производных называется Якобианом системы, - отклонение от искомого решения, - значение функции в искомой точке:
Если производные нельзя получить аналитически, то их вычисляют приближенно: для каждой переменной k=1,...,n.
Получили систему линейных уравнений:
, где J(x)- Якобиан.
Ее решение – это вектор .
Следующая итерация определяется так:
для каждой переменной. Номер итерации i. Окончание итераций происходит, в простейшем случае, по заданным
точностям ε1 и ε2 определения векторов или .
Практическое решение систем нелинейных уравнений задача сложная. Очень многое зависит от выбора начального приближения. Чтобы его выбрать рационально, нужен опыт и проведение предварительных расчетов.
Не всегда удается довести задачу до получения верных результатов. Контроль правильности полученного решения также требует больших усилий и опыта.
Задание для самостоятельной работы:
Решить систему нелинейных алгебраических уравнений методом Ньютона.
а) б)
в) Построить графики и сравнить полученные решения.
г) Составить программу расчета Якобиана для аналитически не дифференцируемой функции.
Программа метода Ньютона.
function [P,iter,err]=newton(F3,JF,P,delta,epsilon,max1)
%Вход
%F3 система уравнений
%JF матрица Якоби
%P начальная точка и приближенное решение
%delta допустимая ошибка решения
%epsilon невязки в уравнениях
%max1 заданное число итераций
%Выход
%iter полученное число итераций
%err текущая ошибка
%Обращение[P,iter,err]=newton('F3','JF',[2,0.25],0.0001,0.00001,1000)
Y=feval(F3,P);
for k=1:max1
J=feval(JF,P);
Q=P-(J\Y')';
Z=feval(F3,Q);
err=norm(Q-P);
relerr=err/(norm(Q)+eps);
P=Q;
Y=Z;
iter=k;
if (err<delta)|(relerr<delta)|(abs(Y)<epsilon)
break
endтемы.
end
Программа расчета Якобиана.
function W=JF(X)
x=X(1); y=X(2);
W(1,1)=2*x-2;
W(2,1)=2*x;
W(1,2)=-1;
W(2,2)=8*y;
Программа расчета нелинейной системы.
function Z=F(X)
x=X(1); y=X(2);
Z(1)=x.^2-2*x-y+0.5;
Z(2)=x.^2+4*y.^2-4;