ИДЗ-1
.docxИДЗ 1, вариант 32 |
|
Код программы
Newton([5.80; 9.20], [7 2 5 -765; 4 5 2 -576]);
function Newton(X0, Coef)
M = 10;
Xnext = X0;
delta = 1;
eps = 0.001;
m = 0;
while (delta > eps) && (m < M)
X = Xnext;
F = SystEqu(X, Coef);
dF = diffEqu(X, Coef);
Xnext = X - inv(dF) * F;
delta = (Xnext - X)' * (Xnext - X);
m = m + 1;
end
fprintf('x1=%6.4f; x2=%6.4f; delta=%6.4f\n', Xnext(1), Xnext(2), delta);
end
function [F] = SystEqu(X, Coef)
F(1, 1) = Coef(1, 1) * X(1, 1)^2 + Coef(1, 2) * X(1, 1) * X(2, 1) + Coef(1, 3) * X(2, 1)^2 + Coef(1, 4);
F(2, 1) = Coef(2, 1) * X(1, 1)^2 + Coef(2, 2) * X(1, 1) * X(2, 1) + Coef(2, 3) * X(2, 1)^2 + Coef(2, 4);
end
function [dF] = diffEqu(X, Coef)
dF(1, 1) = 2 * Coef(1, 1) * X(1, 1) + Coef(1, 2) * X(2, 1);
dF(1, 2) = 2 * Coef(1, 3) * X(2, 1) + Coef(1, 2) * X(1, 1);
dF(2, 1) = 2 * Coef(2, 1) * X(1, 1) + Coef(2, 2) * X(2, 1);
dF(2, 2) = 2 * Coef(2, 3) * X(2, 1) + Coef(2, 2) * X(1, 1);
end
Дано: |
|
Результат: .