Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Системы линейных уравнений [D5, Win95/98]


ssmaxx ©   (2003-01-10 18:19:00) 

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


Strumpf   (2003-01-11 11:43:00) [1]

А вот и ГАУСС:

void __fastcall Gauss(int n)
{
DynamicArray<int> ik,jk;
ik.Length = n+1;
jk.Length = n+1;
for (int i=1; i<=n; i++)
{
ik[i] = 0;
jk[i] = 0;
Fca[i][n+1] = Fcb[i];
};
for (int k=1; k<=n; k++)
{
Float am = 0.0;
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
{
for (int k1=1; k1<=k; k1++)
if ((i == ik[k1]) || (j == jk[k1]))
goto m5;
if (abs(Fca[i][j]) <= am)
goto m5;
am = abs(Fca[i][j]);
ik[k] = i;
jk[k] = j;
m5: }
}
int m = jk[k];
int l = ik[k];
int n1 = n+1;
for (int j=1; j<=n1; j++)
{
for (int k1=1; k1<=k; k1++)
if (j == jk[k1])
goto m4;
Fca[l][j] = Fca[l][j]/Fca[l][m];
for (int i=1; i<=n; i++)
if (i != ik[k])
Fca[i][j] -= Fca[i][m]*Fca[l][j];
m4: }
}
for (int k=1; k<=n; k++)
{
int m = jk[k];
int l = ik[k];
Fcx[m] = Fca[l][n+1];
}
ik.Length = 0;
jk.Length = 0;
}


Феу   (2003-01-10 20:58:00) [2]

algolist.manual.ru/maths/linalg/
alglib.dore.ru/linalg/index1.html#gauss


ssmaxx   (2003-01-10 19:58:00) [3]

Уважаемый Axis_of_Evil !!! Не хватает у меня макулатуры про матрицы, поэтому и прошу помочь.


Axis_of_Evil   (2003-01-10 19:32:00) [4]

2 ssmaxx
Ну напряги извилину, напиши сам, не ленись, это ж просто


Strumpf   (2003-01-10 19:23:00) [5]

Я пользуюсь для обращения матрицы этим:

void __fastcall MatrixInversion(int n, TTwoArrayComplex &A, Complex &det)
{
TOneArrayInt l;
TOneArrayInt m;
l.Length = n+1;
m.Length = n+1;
det = 1.0;
for (int k=1; k


ssmaxx   (2003-01-10 18:29:00) [6]

В принципе, все равно, но желательно методом Гаусса и методом обратной матрицы.


Vit@ly   (2003-01-10 18:25:00) [7]

Их целый вагон и маленькая тележка. Каким методом?


Наверх

Титульная страница Поиск, карта сайта Написать письмо