Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исправить код, реализующий алгоритм сортировки http://www.cyberforum.ru/cpp-beginners/thread830317.html
Доброе утро. Сделал попытку реализовать функцию сортировки простым двухпутевым слиянием, но не вышло. При запуске происходит ошибка, имправить которую никак не удаётся. Вот код с комментариями: //Метод простого двухпутевого слияния void SimpleMerge (int * data, int size) { int * p_write = new int ; //вспомогательный массив для записи int * p_read(data);
C++ Работа с матрицами. Переписать вторую матрицу, так , чтобы элемент, находящийся на пересечении 1 строки и 2 столбца равнялся 1... у меня есть пустая матрица a. И есть матрица вида 1 2 1 4 1 7 2 4 Как мне переписать вторую матрицу, так , чтобы элемент, находящийся на пересечении 1 строки и 2 столбца равнялся 1, на пересечении 1 строки и 4 столбца равнялся 1 и т.д., до конца второй матрицы. А все оставшиеся эементы равнялись 0? http://www.cyberforum.ru/cpp-beginners/thread830313.html
C++ Проверить корректность ввода элементов матрицы
Ввод элементов матрицы А(m, n) осуществляется в произвольном порядке тройками чисел < i, j, Aij>. Признаком конца ввода служат три нуля: <0, 0, 0>. Проверить корректность такого ввода: все ли элементы введены, нет ли попытки повторного ввода или указания несуществующих координат i и j. Указание. Разрешается выделение дополнительного (рабочего) массива такой же размерности, что и исходный...
C++ Передача неопределенного числа параметров в функцию
В общем вот программка реализовано так,чтобы узнать когда конец переданных параметров, последним передается 0, и проверяется в ф-ии на 0. #include<iostream.h> #include<conio.h> float avg(float a...) { float* p; p=&a; float sum=0,count=0;
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, который //просто выводит названия войск vector<Archer> va; //это вектор типа класс Archer vector<Horseman> vh; vector<Catapult> vc; vector<Elephant> ve; подробнее

Показать сообщение отдельно
meraxujiep
41 / 41 / 4
Регистрация: 31.01.2013
Сообщений: 148
07.04.2013, 15:20  [ТС]     Поиск универсального алгоритма LU разложения
Прочитал про метод Гаусса с выбором главного элемента, и понял что начал сам реализовывать такой ход( когда решал проблему). Повторно читать и углубляться не стал, начал делать как казалось мне правильно.
Вот что вышло.
В тетрадке сделал 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;
      }
    }
  }
}
 
Текущее время: 13:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru