Метод прогонки для решения трёхдиагональных СЛАУ

Численные методы с Python 3
20.11.2020

(Всего голосов: 6)

Трёхдиагональная СЛАУ:

 

Теория:

 

Источник

 

Код:

#библиотека для работы с матрицами
import numpy

def Metod_Progonki(A,B):
    #известные константы
    k1 = -A[0,1]
    m1 = B[0]
    k2 = -A[A.shape[0] - 1, A.shape[1] - 2]
    m2 = B[B.shape[0] - 1]
    alfa = k1
    beta = m1
    #поиск альф и бет
    c = 2
    a = 0
    b = 1
    alf = [alfa]
    bet = [beta]
    for i in range(1, A.shape[0] - 1):
        beta = (B[i] - A[i,a] * beta) / (A[i,a] * alfa + A[i,b])
        alfa = -A[i,c] / (A[i,a] * alfa + A[i,b])
        a += 1
        b += 1
        c += 1
        alf.append(alfa)
        bet.append(beta)
    #расчет игриков
    y = (k2 * beta + m2) / (1 - k2 * alfa)
    otv = [y]
    for i in range(len(alf) - 1, -1, -1):
        y = alf[i] * y + bet[i]
        otv.append(y)
    #переворачиваем значения в списке
    otvet = []
    for i in reversed(otv):
        otvet.append(i)
    return otvet

#задаем матрицы
A = numpy.array([[1,-6,0,0],[2,-2,4,0],[0,-1,-4,6],[0,0,8,1]])
B = numpy.array([45,-36,3,-79])

#вызов функции и вывод на экран
print(A)
print(B)
print(Metod_Progonki(A,B))


Оставить комментарий


Devincot 03.12.2021

http://homepooja.com/__media__/js/netsoltrademark.php?d=uncensoredhentaixxx.com https://joomlinks.org/?url=https://pornhub.bdsmcoollection.com http://hmv.discover-a-passion.com/__media__/js/netsoltrademark.php?d=webdsmtube.com https://zet.drunkandhungry.com/__media__/js/netsoltrademark.php?d=hentaixxxuncensored.com http://cruelmystery.biz/__media__/js/netsoltrademark.php?d=xxxxez.com http://shuurhai.com/__media__/js/netsoltrademark.php?d=hentaiio.com http://www.forum.zibatan.ir/redirect-to/?redirect=https://xvideos.bdsmcoollection.com http://www.deli.bz/index.php?url=http%3A%2F%2Funcehentai.com&alias=restoralumina35424 http://loomissayles.sg/__media__/js/netsoltrademark.php?d=daddy.thepornobest.com http://www.teambabyclothes.com/__media__/js/netsoltrademark.php?d=xxxxez.com