Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 18.10.2023
Сообщений: 33

Решение систем линейных уравнений методом простых итераций

30.05.2024, 10:01. Показов 459. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Задача: добавить в код условие сходимости:
Pascal
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
uses CRT;
 
var
i, j, n, k: integer;
M: integer;
A, B: array [1..24, 1..24] of double;
E, S, Cc, maxDi, C, Mm: double;
Xx, X, Ba, Bd: array [1..24] of double;
z: char;
 
procedure Matrln;
begin
for var i := 1 to n do
for var j := 1 to n do
read(A[i, j]);
end;
 
procedure Vectln;
begin
for var i := 1 to n do
read(Ba[i]);
end;
 
begin
ClrScr;
repeat
writeln('ввод исходных данных:');
write('введите точность,e=');
readln(E);
write('введите количество уравнний,n=');
readln(N);
write('введите построчно матрицу А');
Matrln;
write('введите столбец свободных членов В');
Vectln;
 
maxDi := -1000;
for i := 1 to n do
begin
B[i, i] := 0;
for j := 1 to n do
if j <> i then B[i, j] := -(A[i, j] / A[i, j]);
Bd[i] := Ba[i] / A[i, i];
if Bd[i] > maxDi then maxDi := Bd[i]
end;
writeln('maxDi=', maxDi:8:4);
 
C := 0;
for i := 1 to n do
begin
Xx[i] := Bd[i];
S := 0;
for j := 1 to n do
S := S + abs(B[i, j]);
if C <= S then C := S;
end;
writeln('C=', C:6:4);
 
if C < 1 then begin
Mm := abs((1 / ln(C)) * (ln(maxDi) - ln(E * (1 - C))) - 1);
M := Round(Mm);
if Frac(Mm) < 0.5 then M := M + 1;
writeln('количество итераций M=', M:3);
 
for k := 1 to M do
begin
for i := 1 to n do
begin;
Cc := 0;
for j := 1 to n do
Cc := Cc + B[i, j] * Xx[j];
X[i] := Bd[i] + Cc;
end;
for i := 1 to n do Xx[i] := X[i];
end;
 
write('X= [');
for i := 1 to n do write(X[i]:8:4);
writeln(']');
end
else writeln('условия сходимости не выполнимы ');
write('будете продолжать вычисления?(Y/N) Y');
z := ReadKey;
writeln(z);
until (z = 'N') or (z = 'n');
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2024, 10:01
Ответы с готовыми решениями:

Метод итераций для решения систем линейных уравнений
Задания I. Напишите программу решения системы линейных уравнений методом итераций с наперед заданной точностью. II. Приведите...

Решение систем линейных уравнений по методу Гаусса
Здравствуйте. Мне нужно добавить в эту программу несколько деталей: 1) Контроль ввода ( что бы можно было вводить только цифры, а иначе...

Решение системы линейных уравнений методом Зейделя
Помогите, пожалуйста Моделирование объектов или процессов с помощью систем линейных уравнений. Решение системы линейных уравнений н-го...

1
 Аватар для andrey_f
884 / 537 / 228
Регистрация: 21.02.2011
Сообщений: 5,705
30.05.2024, 16:14
Цитата Сообщение от Crucified Посмотреть сообщение
Pascal
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
if C < 1 then begin
Mm := abs((1 / ln(C)) * (ln(maxDi) - ln(E * (1 - C))) - 1);
M := Round(Mm);
if Frac(Mm) < 0.5 then M := M + 1;
writeln('количество итераций M=', M:3);
for k := 1 to M do
begin
for i := 1 to n do
begin;
Cc := 0;
for j := 1 to n do
Cc := Cc + B[i, j] * Xx[j];
X[i] := Bd[i] + Cc;
end;
for i := 1 to n do Xx[i] := X[i];
end;
write('X= [');
for i := 1 to n do write(X[i]:8:4);
writeln(']');
end
else writeln('условия сходимости не выполнимы ');
это разве не условие сходимости ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2024, 16:14
Помогаю со студенческими работами здесь

Найти приближенное решение нелинейного уравнения методом простых итераций на заданном отрезке
Найти приближенное решение нелинейного уравнения методом простых итераций на заданном отрезке. Точность вычислений Е = 0.001. lnx-x+1.8=0 ...

Решение СЛАУ (Системы Линейных Алгебраических Уравнений) методом Гаусса
У меня есть код из методички преподавателя, который решает СЛАУ методом Гаусса, однако когда его вставила в Pascal, возникла пара ошибок,...

Найти приближенное решение нелинейного уравнения методом простых итераций на заданном отрезке. Точность вычислений Е = 0
Найти приближенное решение нелинейного уравнения методом простых итераций на заданном отрезке. Точность вычислений Е = 0.001. x^3...

Найти приближенное решение нелинейного уравнения методом простых итераций на заданном отрезке. Точность вычислений Е = 0
Найти приближенное решение нелинейного уравнения методом простых итераций на заданном отрезке. Точность вычислений Е = 0.0001. 1+x -...

Решение систем линейных уравнений методом LU факторизации
Здравствуйте уважаемые нужна помощь. Разработать программу для решения системы линейных уравнений по методу, метод LU– факторизации,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru