Форум программистов, компьютерный форум, киберфорум
Наши страницы

Поиск универсального алгоритма LU разложения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исправить код, реализующий алгоритм сортировки http://www.cyberforum.ru/cpp-beginners/thread830317.html
Доброе утро. Сделал попытку реализовать функцию сортировки простым двухпутевым слиянием, но не вышло. При запуске происходит ошибка, имправить которую никак не удаётся. Вот код с комментариями: ...
C++ Работа с матрицами. Переписать вторую матрицу, так , чтобы элемент, находящийся на пересечении 1 строки и 2 столбца равнялся 1... у меня есть пустая матрица a. И есть матрица вида 1 2 1 4 1 7 2 4 Как мне переписать вторую матрицу, так , чтобы элемент, находящийся на пересечении 1 строки и 2 столбца равнялся 1, на... http://www.cyberforum.ru/cpp-beginners/thread830313.html
C++ Проверить корректность ввода элементов матрицы
Ввод элементов матрицы А(m, n) осуществляется в произвольном порядке тройками чисел < i, j, Aij>. Признаком конца ввода служат три нуля: <0, 0, 0>. Проверить корректность такого ввода: все ли...
C++ Передача неопределенного числа параметров в функцию
В общем вот программка реализовано так,чтобы узнать когда конец переданных параметров, последним передается 0, и проверяется в ф-ии на 0. #include<iostream.h> #include<conio.h> float avg(float...
C++ Не пойму как из цикла выйти http://www.cyberforum.ru/cpp-beginners/thread830301.html
в учебнике такой пример. #include <stdio.h> main() { long nc; nc = 0; while ( getchar() != EOF)
C++ Класс // Класс "Армия", содержащий все типы боевых единиц class Army { public: vector<Infantryman> vi; //Infantryman, Archer, Horseman, Catapult, Elephant это классы с методом info, который ... подробнее

Показать сообщение отдельно
meraxujiep
42 / 43 / 4
Регистрация: 31.01.2013
Сообщений: 157
07.04.2013, 15:20  [ТС]
Прочитал про метод Гаусса с выбором главного элемента, и понял что начал сам реализовывать такой ход( когда решал проблему). Повторно читать и углубляться не стал, начал делать как казалось мне правильно.
Вот что вышло.
В тетрадке сделал LU-разложение для матриц 3х3 и 4х4, сошлось.
Как бы удостоверится в правильности алгоритма?
функци LU-разложения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void LU_decomposition(double **PointU, double **PointL, int size)
{
 for(int i=0;i<size;i++)
  {
   if(PointU[i][i]==0)
    {
     int max;
     double mass1;
     for(int st=i+1;st<size;st++)
     {
      if(PointU[st][i]!=0)
      {
       max=st;
       break;
      }
     }
       for(int o=0;o<size;o++)
        {
         mass1=PointU[i][o];
         PointU[i][o]=PointU[max][o];
         PointU[max][o]=mass1;
        }
 
    }
   for(int j=i+1;j<size;j++)
    {
     double m;
     m=PointU[j][i]/PointU[i][i];
     PointL[j][i]=m;
     for(int k=0;k<size;k++)
      {
       PointU[j][k]=PointU[j][k]-PointU[i][k]*m;
      }
    }
  }
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru