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

Решение СЛАУ методом простых итераций, задача решена, только написать код осталось - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
trum
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 53
15.04.2012, 18:35     Решение СЛАУ методом простых итераций, задача решена, только написать код осталось #1
решить СЛАУ с точностью е=10 в степени(-4)
4*x1-x2-x3=2
x1+5*x2-2*x3=4
x1+x2+4*x3=6

Система из 3-х уравнений, с 3 неизвестными, определитель матрицы |A|=98-определитель, система имеет единственное решение. Сразу заметим, что в системе выполняется достаточное условие сходимости (доминирование диагональных элементов матрицы A) Т.к. диагональные элементы матрицы A не равны нулю, то в соответствии с рекомендациями, из первого уравнения выразим , из второго , из третьего :
x1=(x2+x3+2)/4
x2=(-x1+2*x3+4)/5 (9)
x3=(-x1-x2+6)/4
матрица B имеет вид:
0 1/4 1/4
1/5 0 2/5
-1/4 -1/4 0


Зададим произвольное начальное приближение x(0)=(x1=0, x2=0, x3=0)
Метод простой итерации.
Подставим начальное приближение в правую часть системы (9), получим 1-е приближение, 1-я итерация: x1=1/2, x2=4/5, x3=6/4.
Подставим 1-е приближение в правую часть системы (9), получим 2- приближение, 2-я итерация :
x1= (0,8+1,5+2)/4 = 1,075
x2=(-0,5+2*1,5+4)/5 = 1,3
x3=(-0,5-0,8+6)/4=1,175

Оценим погрешность на второй итерации:
p2=max|x(i)второе-x(i)первое|=max{0,575; 0,5; 0,325}=0,575
Т.к. p2>е(см начало), итерации продолжаются.
Продолжая процесс подстановок, на 8 итерации, получим решение системы.
x1=1
x2=1
x3=1

Программу писать на языке С

Добавлено через 58 минут
Помогите кто может, очень срочно нужно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2012, 18:35     Решение СЛАУ методом простых итераций, задача решена, только написать код осталось
Посмотрите здесь:

C++ Решение системы линейных уравнений методом простых итераций
Решение нелинейного уравнения методом простых итераций C++
Решение СЛАУ методом простых итераций C++
C++ Решение СЛАУ методом простых итераций.
C++ Решение СЛАУ методом простых интераций
C++ Алгоритм написания для решения СЛАУ методом простых итераций
C++ Решение нелинейного уравнения методом простых итераций
C++ Написать программу: решение СНУ методом итераций

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5947 / 5552 / 1784
Регистрация: 18.12.2011
Сообщений: 14,184
Завершенные тесты: 1
15.04.2012, 18:57     Решение СЛАУ методом простых итераций, задача решена, только написать код осталось #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void IterSolution(double *x)
{
    x[0]=x[1]=x[2]=0;
    double xprev[3],diff;
    do
    {
          for(int i=0;i<3;i++)
               xprev[i]=x[i];
          x[0]=(x[1]+x[2]+2.)/4.;
          x[1]=(-x[0]+2.*x[2]+4.)/5;
          x[2]=(-x[0]-x[1]+6.)/4.;
           diff=0;
           for(int i=0;i<3;i++)
               diff+=fabs(xprev[i]-x[i]);
   }while(diff>1e-4);
}
trum
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.04.2012, 20:57  [ТС]     Решение СЛАУ методом простых итераций, задача решена, только написать код осталось #3
Спасибо! А можно сделать, чтобы вводить коэфициенты при Х в системе, то есть не именно для этой системы, а в общем случае? да и еще чтобы воводила все итерации и окончательный ответ?

Спасибо!

Добавлено через 22 часа 47 минут
Помогите пожалуйста
Yandex
Объявления
18.04.2012, 20:57     Решение СЛАУ методом простых итераций, задача решена, только написать код осталось
Ответ Создать тему
Опции темы

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