Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Застосування чисельних методів для задач математичного програмування

Реферат Застосування чисельних методів для задач математичного програмування





lected);

}

// --------------------------------------------- ------------------------------

Метод сполучених градієнтів

// $ $ ---- Form CPP ----

// --------------------------------------------- ------------------------------

# include

# pragma hdrstop

# include

# include

# include "Unit1.h"

// --------------------------------------------- ------------------------------

# pragma package (smart_init)

# pragma resource "*. dfm" * Form1; shp = 1; shp1 = shp; shp2 = shp; shp3 = shp;

// --------------------------------------------- ------------------------------

__fastcall TForm1 :: TForm1 (TComponent * Owner)

: TForm (Owner)

{

}

vector Simple (double (* f) (vector ), vector x0, double h)

{fxk, fxk1; xk = x0; xk1 = x0; (int i = 0; i <2; i + +)

{

{= f (xk); [i] = xk [i] + h; = f (xk1); = xk1;

} (fxk> fxk1);

} (xk1);

} Conjugate (double (* f) (vector ), vector (* agrad) (vector ), vector x0, double h, double e)

{ xk = x0; xk1 = x0; agradXk, agradXk1, Sk, Sk1 (2); (int NumOfMetIt = 1;; NumOfMetIt + +)

{-> LabeledEdit3-> Text = IntToStr (NumOfMetIt); = agrad (xk); = agradXk; = Simple (f, xk, h); = agrad (xk1); Bk = (pow (agradXk1 [ 0], 2) + pow (agradXk1 [1], 2))/(pow (agradXk [0], 2) + pow (agradXk [1], 2)); [0] = agradXk1 [0] + Bk * Sk [0]; [1] = agradXk1 [1] + Bk * Sk [1]; -> Series1-> AddXY (xk [0], xk [1], "", Form1-> ColorBox1 -> Selected); -> Series1-> AddXY (xk1 [0], xk1 [1], "", Form1-> ColorBox1-> Selected); (fabs (f (xk1) - f (xk))

}

}

x)

{(x [0] + x [1] -2.0);

} g2 (vector x)

{(-x [0] + x [1] -1.0);

} g3 (vector x)

{(-x [1] -3.0);

}

x)

{(2.0 * (x [0] -3.0) * (x [0] -3.0) + (x [1] -2.0) * (x [1] -2.0));

}

// --------------------------------------------- ------------------------------ agradf (vector x0)

{ x = x0; [0] = - (4.0 * (x0 [0] -3. 0)); [1] = - (2.0 * (x0 [1] -2.0)); (x);

}

// --------------------------------------------- ------------------------------ agradrf (vector x0)

{ x = x0; [0] = - (4.0 * (x0 [0] -3.0) + 2.0 * shp1 * (x [0] + x [1] -2.0) - 2.0 * shp2 * (-x [0] + x [1] -1.0)); [1] = - (2.0 * (x0 [1] -2.0) + 2.0 * shp1 * (x [0] + x [1] -2.0 ) + 2.0 * shp2 * (-x [0] + x [1] -1.0) - shp3 * (-x [1] -3.0)); (x);

}

x)

{(2.0 * (x [0] -3.0) * (x [0] -3.0) + (x [1] -2.0) * (x [1] -2.0) + * (x [0] + x [1] -2.0) * (x [0] + x [1] -2.0) + * (-x [0] + x [1] -1.0) * (-x [0] + x [1] - 1.0) + * (-x [1] -3.0) * (-x [1] -3.0));


Назад | сторінка 10 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Double Standards in Modern Politics
  • Реферат на тему: Double Entry Types of Balance Sheet
  • Реферат на тему: Double electric layer. Mechanism of formation and theory of structure
  • Реферат на тему: Застосування мов програмування високого рівня для реалізації чисельних мето ...
  • Реферат на тему: The manager as a teacher: selected aspects of stimulation of scientsfsc thi ...