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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bodyart11
0 / 0 / 0
Регистрация: 05.01.2013
Сообщений: 4
#1

решение Слау - C++

02.10.2013, 22:43. Просмотров 679. Ответов 1
Метки нет (Все метки)

Написал код для решение Слау методом 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include "stdafx.h"
#include "conio.h"
#include "math.h"
#include "iostream"
#include "iomanip"
using namespace std;
 
 
class lu
{
 
private:
    int n;
    double A[4][4];
    double B[4];
    double L[4][4], U[4][4], X[4], Y[4];
    public:
        void mm();
        void rozklad();
        void pryam();
        void zvorot();
        void vuvid();
};
void lu::mm()
{
    int n=4;
    double A[4][4]={{8.3, 2.62, 4.1, 1.9}, {3.92, 8.45, 7.78, 2.46}, {3.77, 7.21, 8.04, 2.28}, {2.21, 3.65, 1.69, 6.69}};
    double B[4]={-10.65, 12.21, 15.45, -8.35};
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        { L[i][j]=0; U[i][j];}
}
void lu::rozklad()
{
//Сам метод
        for (int k=0; k<n; k++)
        {
            U[k][k]=1;
            for (int i=k; i<n; i++)
            {
                for (int m=0; m<=k-1; m++)
                    L[i][k]+=L[i][m]*U[m][k];
                L[i][k]=A[i][k]-L[i][k];
            }
            for (int j=k+1; j<n; j++)
            {
                for (int m=0; m<=k-1; m++)
                    U[k][j]+=L[k][m]*[m][j];
                U[k][j]=(A[k][j]-U[k][j])/L[k][k];
            }
        }
}
void lu::pryam()
{
//Прямой ход
        for (int i=0; i<n; i++)
            Y[i]=0;
        Y[0]=B[0]/L[0][0];
        for (int i=1; i<n; i++)
        {
            for (int m=0; m<=i-1; m++)
                Y[i]+=L[i][m]*Y[m];
            Y[i]=(B[i]-Y[i])/L[i][i];
        }
}
void lu::zvorot()
{
//обратный ход
        for (int i=0; i<n; i++)
            X[i]=0;
        X[n-1]=Y[n-1];
        for (int i=n-2; i>=0; i--)
        {
            for (int m=i+1; m<n; m++)
                X[i]+=U[i][m]*X[m];
            X[i]=Y[i]-X[i];}
}       
void lu::vuvid()
{
//вывод результата
        for(int i=0; i<n; i++)
            cout<<X[i]<<endl;
        
}
 
void main()
{ lu F;
F.mm();
F.rozklad();
F.pryam();
F.zvorot();
F.vuvid();
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2013, 22:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос решение Слау (C++):

Решение слау. - C++
Здравствуйте. Я пишу программу, которая будет решать слау одним из выбранных мною методов. Методы решения мне известны и организовать их в...

Решение СЛАУ - C++
Доброго времени суток . Пишу программу , которая должна решать системы линейных уравнений методом Гаусса(методом ведущего элемента в...

Решение СЛАУ - C++
Здравствуйте. Помогите пожалуйста. Нужны программные реализации решения СЛАУ методом Крамера и Гаусса на С++

Решение специфичной СЛАУ - C++
Всем доброго времени суток! возникла проблема при решении СЛАУ по Крамеру - а именно - необходимо чтобы корни были положительными. СЛАУ с 5...

Найти решение СЛАУ - C++
#include &lt;iostream&gt; #include &lt;math.h&gt;0 using namespace std; double minor_ij(int,int); // minor – алгебрарическое дополнение double...

Решение СЛАУ методом Якоби - C++
Решить СЛАУ методом Якоби. Вывести значения решения, график зависимости нормы невязки от номера итерации и его значение, при котором...

1
Alexdemath
125 / 122 / 6
Регистрация: 11.04.2010
Сообщений: 255
03.10.2013, 00:42 #2
В 31-й строке что-то не то с U[i][j].
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2013, 00:42
Привет! Вот еще темы с ответами:

Решение СЛАУ методом Крамера - C++
Доброго времени суток! Пишу курсовую по методу Крамера. Вроде ничего сложного, но программированием я занимаюсь не часто, скачал с нета...

Решение слау методом релаксации - C++
Доброго времени суток. В качестве исходных данных имеются слау большой размерности (koeff__100.7z) и решение этой слау (result__100.7z). ...

Решение СЛАУ методом Гаусса - C++
помогите разобраться!!ВЫдает 85 ошибок!!!! #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;tchar.h&gt; #include &lt;iostream&gt; #include...

Решение СЛАУ методом вращения - C++
Доброго времени суток, товарищи. Имеется задание: дано интегральное уравнение: U(x) + I ( K(x,s)U(s)ds= f(x) ( I - определённый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru