Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/40: Рейтинг темы: голосов - 40, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 09.03.2018
Сообщений: 50

Метод релаксации

03.12.2021, 22:09. Показов 9335. Ответов 3

Студворк — интернет-сервис помощи студентам
Добрый вечер, задали такое задание, а как решить не знаю. В интернете информации нет. Дана система уравнений в двух массивах. В первом хранятся индексы перед X, размерностью 3x3, а во втором чему равно размером 1х3, соответственно. Надо решить методом релаксации. Есть блок-схема для всего этого, но как сделать - понять не могу. Прошу вашей помощи, либо ссылки на какой-то ресурс, где данный метод расматривается.
Миниатюры
Метод релаксации  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2021, 22:09
Ответы с готовыми решениями:

Метод простой релаксации
Приветствую всех. Нет ли у кого-то случайно реализации решения методом простой релаксации? В инете искал, но толком ничего путного не...

Метод верхней релаксации или метод простых итераций СЛАУ
Год назад закончился Фортран, кто же знал, что он вернется при параллельном программировании. Помогите, пожалуйста написать работающую...

Метод релаксации
Помогите переписать код: это формирует такую матрицу( на главной диагонали элементы равны 50, на 3-ей наддиагонали равны 5, на 6-ой...

3
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
04.12.2021, 07:34
оно?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
04.12.2021, 08:43
Цитата Сообщение от ReEvangelion Посмотреть сообщение
В интернете информации нет.
- неужели? А это что? Или это? Наконец, даже это?
0
1 / 1 / 0
Регистрация: 09.03.2018
Сообщений: 50
04.12.2021, 13:53  [ТС]
Если кому понадобиться, то вот решение данной задачи.
Python
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
import numpy as np
import math
def createleft(A, n):
    for i in range(n):
        for j in range(n):
            A[i][j] = int(input("Enter A"+str(i+1)+","+str(j+1)+": ")) #ввод значений с клавиатуры
    return A
def createright(B,n):
    for i in range(n):
        B[i]=int(input("Enter B: "+str(i+1)+": ")) #ввод значений с клавиатуры
    return B
def SOR(A, b, x0, tol, max_iter, w):
    if (w<=1 or w>2): #проверка фактора
        print('w should be inside [1, 2)');
        step = -1;
        x = float('nan')
        return
    n = b.shape #кол-во элементов==кол-во уравнений в СЛАУ;
    x = x0 #временный массив
 
    for step in range (1, max_iter): #итерации
        for i in range(n[0]):
            new_values_sum = np.dot(A[i, :i], x[:i])
            old_values_sum = np.dot(A[i, i+1 :], x0[ i+1: ])
            x[i] = (b[i] - (old_values_sum + new_values_sum)) / A[i, i]
            x[i] = np.dot(x[i], w) + np.dot(x0[i], (1 - w))
        #if (np.linalg.norm(x - x0) < tol):
        if (np.linalg.norm(np.dot(A, x)-b ) < tol):
            print(step) #номер итерации при нарушении точности
            break
        x0 = x
    print("X = {}".format(x)) #наши х
    print("The number of iterations is: {}".format(step))#кол-во итераций
    return x
n = 3
A = np.zeros(shape=(n,n)) #массив индексов перед х в уравнении, тестовый вариант:[3.0,-1.0,1.0],[-1.0,3.0,-1.0],[1.0,-1.0,3.0]
A = createleft(A,n)
B = np.zeros(shape=(n)) #чему равно каждое уравнение, тестовый вариант:[-1.0,7.0,-7.0]
B = createright(B,n)
x0 = np.zeros(shape=(3)) #массив ответов, предварительно заполнен нулями.
tol =  10 ** (-15) #допустимая ошибка (точность решения)
max_iter = 20 #максимум итераций, чтобы наша программа не уходила в бесконечный цикл при уравнении, которое нельзя решить методом релаксации
w = 1.5 #Релаксирующий фактор
x0 = SOR(A, B, x0, tol, max_iter, w)
print(np.dot(A, x0))#Проверка решения. Подставляет наши X в уравнения. Если результаты сходятся с значениями, чему равно уравнение, то ответ получен правильно!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2021, 13:53
Помогаю со студенческими работами здесь

метод релаксации
надо разработать программу на с++ методом релаксации

Метод релаксации
Здравствуйте, уважаемые программисты! Где почитать про метод релаксации подробнее? То, что написано в Демидовиче не совсем ясно как...

Метод релаксации
Здравствуйте, нашёл реализацию метода но оно выдаёт ошибку &quot;элементы массива должны быть скалярами они не могут бы векторами или...

МЕТОД РЕЛАКСАЦИИ
Дана матрица размера 5*5: a=e^(abs(i-j)) и столбец свободных членов:{1 0 0 0 0} Помогите пожалуйста реализовать алгоритмы решения...

Метод релаксации
задание заключается в том чтобы данный метод мог решать матрицы наподобие этой: A=3 2 9 1 -3 0 1 -1 3 b= -6 1 -2 но...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru