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

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

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

Сделать цикл в методе минимальных невязок - C++

02.05.2012, 14:19. Просмотров 482. Ответов 0
Метки нет (Все метки)

добрый день, помогите с программой. Это метод минимальных невязок.но он выполняется когда начальное решение Х0 и конечное Хк+1.а мне надо чтоб выполнялось когда начальное решение Хк+1 и конечное Хк+2 и т.д.Надо вставить цикл наверное#include<iostream.h>
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
#include<stdio.h>
#include<math.h>
#define n 3
void main()
{
float a[n][n],f[n],x0[n],x[n],e=0.001,r[n],tau,max,s,s1,xnew[n],t[n];
int i,j,k=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
for(i=0;i<n;i++)
cin>>f[i];
for(i=0;i<n;i++)
cin>>x0[i];
/*for(i=0;i<n;i++)
for(j=0;j<n;j++)
cout<<a[i][j];*/
 
do{
for(i=0;i<n;i++)
{r[i]=0;
for(j=0;j<n;j++)
r[i]+=a[i][j]*x0[j];
r[i]=r[i]-f[i];}
 
for(i=0;i<n;i++)
{t[i]=0;
for(j=0;j<n;j++)
t[i]+=a[i][j]*r[j];}
s=0;
for(i=0;i<n;i++)
s+=t[i]*r[i];
 
s1=0;
for(i=0;i<n;i++)
s1+=t[i]*t[i];
tau=s/s1;
for(i=0;i<n;i++)
xnew[i]=x0[i]-tau*r[i];
for(i=0;i<n;i++)
cout<<xnew[i]<<endl;
for(i=1;i<n;i++)
max=fabs(x0[0]-xnew[0]);
for(i=0;i<n;i++)
if(max<fabs(x0[i]-xnew[i]))
max=fabs(x0[i]-xnew[i]);
k=k+1;
//cout<<k;
}
while(k<5);
//for(i=0;i<n;i++)
//cout<<xnew[i];
//cout<<k;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2012, 14:19     Сделать цикл в методе минимальных невязок
Посмотрите здесь:

О классе, методе пузырька и выводе в файл, как сделать? C++
Сделать двусвязный цикл из односвязного. Задача Джозевуза C++
Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры C++
C++ Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное произведение индексов минимальных элементов
Нужно чтобы введённый студент в методе in вывелся на экран как в методе out C++
Как сделать так чтобы при каждом выделении памяти в методе была возможность ее очистить и вернуть результат? C++
C++ Не знаю как сделать цикл
Как сделать цикл С++ C++
Не могу разобраться с методом минимальных невязок. C++ C++
Как сделать цикл C++
C++ сделать цикл функции
Можно ли сделать бесконечный цикл с while, используя тип bool? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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