![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.06.2011
Сообщений: 24
|
![]()
хотел написать программу для LU разложения матрицы.
взял формулы с вики , не правильно находит элемент (3,3) в матрице U. (пробовал только матрицу 3х3 ,иожет при больших размерах ещё больше неточностей будет ) что не так ? #include <iostream> int main(int argc, char* argv[]) { int i,j,k, n=3; float sum; float ** A=new float *[n]; float ** L=new float *[n]; float ** U=new float *[n]; for (int i=1; i<=n; i++) { A[i]=new float [n]; L[i]=new float [n]; U[i]=new float [n]; } std::cout<<"A matr \n"; for (i=1;i<=n;i++){ for (j=1;j<=n;j++){ A[i][j]=rand()%9; L[i][j]=0; U[i][j]=0; L[i][i]=1; std::cout<<A[i][j]<<" "; }std::cout<<"\n";} /////////// L и U марицы for (j=1;j<=n;j++) { U[1][j]=A[1][j];} for (j=2;j<=n;j++) { L[j][1]=A[j][1]/A[1][1]; } for (i=2;i<=n;i++){ for (j=i;j<=n;j++){ sum=0; for (k=1;k<i;k++){sum=sum+L[i][k]*U[k][j];} U[i][j]=A[i][j]-sum; }} for (i=2;i<=n;i++){ for (j=i+1;j<=n;j++){ sum=0; for (k=1;k<i;k++){sum=sum+L[j][k]*U[k][i];} L[j][i]=(A[j][i]-sum)/U[i][i]; L[i][i]=1; }} std::cout<<"L matr \n"; for (i=1;i<=n;i++){ for (j=1;j<=n;j++){ std::cout<<L[i][j]<<" "; }std::cout<<"\n";} std::cout<<"U matr \n"; for (i=1;i<=n;i++){ for (j=1;j<=n;j++){ std::cout<<U[i][j]<<" "; }std::cout<<"\n";} system("pause"); return 0; } |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
![]()
Начните с того, что прочитайте как нумеруются массивы в с++...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 28.06.2011
Сообщений: 24
|
![]() |
![]() |
![]() |
![]() |
#4 | |
a.k.a. Skull
Форумчанин
Регистрация: 17.11.2009
Сообщений: 963
|
![]() Цитата:
Вот тут ты задаешь размерность массива Код:
Далее Код:
Все тривиальное просто
|
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Си,Си ++, QR разложение | Осип | Помощь студентам | 1 | 28.10.2012 16:41 |
Определитель матрицы через разложение по первой строке | AlexSun | Помощь студентам | 1 | 16.04.2011 21:04 |
Определитель матрицы через разложение по первой строке | AlexSun | Общие вопросы C/C++ | 0 | 16.04.2011 16:53 |
разложение матрицы на произведение двух треугольных в и н | Monomah | Общие вопросы C/C++ | 0 | 28.02.2011 21:15 |
разложение матрицы | Monomah | Помощь студентам | 2 | 28.02.2011 19:47 |