альної матриці - трудомісткий і рутинний процес, тому при його виконанні без апаратних засобів, можливе сильне вплив В«людського фактораВ», в той час як чисельний метод надійніше, а машина може обчислювати з більшою точністю, по-друге, варіювання вагової матриці аналітичним методом вельми складний процес - це обумовлено необхідністю перераховувати фундаментальну матрицю щоразу при зміні елемента ваговій матриці, що досить незручно. br/>
Додаток
# include
# include
# include
# include
# include namespace std;
# include "Opt.h"
# include "result.txt" dx1, dx2, dpsi1, dpsi2, x01, x02, psi01, psi02, x1, x2, psi1, psi2; psi, m, n, l; p>
Matrixd fu (Matrixd const & x, double t)
{dt (4,1); (0) = 2 * x02; (1) = 4 * x02 - 9/4 * psi02;
dt (2) = - 16 * x01; (2) = - 2 * psi01 - 4 * psi02 - 4 * x02; dt;
} RungeKuttStep (Matrixd & x, double t, double h, T f)
xi = x +1.0/6.0 * (k1 +2.0 * k2 +2.0 * k2 + k4); xi;
}
{= 0; = 1; = -5; = -20; T; t0 = 0; step = 0.1; Tk = 4.0; EPSnev = 0.1; = 2 * x02 - 9/4 * psi02; = 4 * x02 - 9/4 * psi02; = - 16 * x01 - 2 * psi01; = - 4 * x02 - 4 * psi02;
Matrixd x; x0 (4,1); (0) = dx1;
x0 (1) = dx2, (2) = dpsi1, (2) = dpsi2; = x0; (T = t0; T
{= RungeKuttStep (x, T, step, fu);
} (fabs (x (2)) <= 0.1 && fabs (x (2)) <= EPSnev)
{;
}
{
// --------------------------- ПОЧАТОК ЦИКЛУ МІНІМІЗАЦІЇ ---------- ----
do {mnog (); Func (double x1, double x2)
{f = 2 * pow ((x1-2), 2) + pow ((x2-2), 2); f;
} limit1 (double x1, double x2)
{g1 = x1 + x2-2; g1;
} limit2 (double x1)
{g2 =-x1;
return g2;
} limit2 (double x2)
{g2 =-x2-2; g2;
} PFunc (double x1, double x2, double a1, double a2, double a2)
{PF = 2 * pow ((x1-2), 2) + pow ((x2-2), 2) + * pow ((x1 + x2-2), 2) + * pow ((-x1), 2) + * pow ((-x2-2), 2); PF;
} main ()
} mnog (double x1, do...