![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Наверняка такая задача кем-то решалась. Задача из допотопного учебника. Но в поиске: "система линейных уравнений" ничего нет. На поиск: "линейные уравнения" нашлась только программа "Калькулятор OSA". Может что-то не так ищу? Если кто-то видел такой код или метод решения, подскажите, пожалуйста. Или как это запрограммировать в Паскале.
Итак. Требуется решить систему уравнений с трехмерным массивом: Постановка задачи. Дано: КУБ из 27 чисел 3 х 3 х 3 в общем виде каждое уравнение это: a[ i, j, k]= 1/7*( a[i-1, j, k] + a[i+1, j, k] + a[ i,j-1, k] + a[ i,j+1, k] + a[ i, j,k-1] + a[ i, j,k+1]+ t[ i , j , k] ) t[ i,j,k]= 333777 или любое другое постоянное число i, j, k = 1,2,3 Конкретный пример приведен ниже: Код:
t[ 1, 1, 1]=333
t[ 3, 3, 3]=777
! слой по Z=1
a[ 1, 1, 1]= 1/4*( a[ 2, 1, 1] + a[ 1, 2, 1] + a[ 1, 1, 2] + t[ 1, 1, 1])
a[ 1, 2, 1]= 1/4*( a[ 2, 2, 1] + a[ 1, 1, 1] + a[ 1, 3, 1] + a[ 1, 2, 2] )
a[ 1, 3, 1]= 1/3*( + a[ 2, 3, 1] + a[ 1, 2, 1] + + a[ 1, 3, 2] )
a[ 2, 1, 1]= 1/4*( a[ 1, 1, 1] + a[ 3, 1, 1] + a[ 2, 2, 1] + a[ 2, 1, 2] )
a[ 2, 2, 1]= 1/5*( a[ 1, 2, 1] + a[ 3, 2, 1] + a[ 2, 1, 1] + a[ 2, 3, 1] + a[ 2, 2, 2] )
a[ 2, 3, 1]= 1/4*( a[ 1, 3, 1] + a[ 3, 3, 1] + a[ 2, 2, 1] + a[ 2, 3, 2] )
a[ 3, 1, 1]= 1/3*( a[ 2, 1, 1] + a[ 3, 2, 1] + a[ 3, 1, 2] )
a[ 3, 2, 1]= 1/4*( a[ 2, 2, 1] + a[ 3, 1, 1] + a[ 3, 3, 1] + a[ 3, 2, 2] )
a[ 3, 3, 1]= 1/2*( a[ 2, 3, 1] ] + a[ 3, 2, 1] + a[ 3, 3, 2] )
! слой по Z=2
a[ 1, 1, 2]= 1/4*( a[ 2, 1, 2] + a[ 1, 2, 2] + a[ 1, 1, 1] + a[ 1, 1, 3] )
a[ 1, 2, 2]= 1/5*( a[ 2, 2, 2] + a[ 1, 1, 2] + a[ 1, 3, 2] + a[ 1, 2, 1] + a[ 1, 2, 3] )
a[ 1, 3, 2]= 1/4*( + a[ 2, 3, 2] + a[ 1, 2, 2] + a[ 1, 3, 1] + a[ 1, 3, 3] )
a[ 2, 1, 2]= 1/5*( a[ 1, 1, 2] + a[ 3, 1, 2] + a[ 2, 2, 2] + a[ 2, 1, 1] + a[ 2, 1, 3] )
a[ 2, 2, 2]= 1/6*( a[ 1, 2, 2] + a[ 3, 2, 2] + a[ 2, 1, 2] + a[ 2, 3, 2] + a[ 2, 2, 1] + a[ 2, 2, 3] )
a[ 2, 3, 2]= 1/5*( a[ 1, 3, 2] + a[ 3, 3, 2] + a[ 2, 2, 2] + a[ 2, 3, 1] + a[ 2, 3, 3] )
a[ 3, 1, 2]= 1/4*( a[ 2, 1, 2] + a[ 3, 2, 2] + a[ 3, 1, 1] + a[ 3, 1, 3] )
a[ 3, 2, 2]= 1/5*( a[ 2, 2, 2] + a[ 3, 1, 2] + a[ 3, 3, 2] + a[ 3, 2, 1] + a[ 3, 2, 3] )
a[ 3, 3, 2]= 1/4*( a[ 2, 3, 2] + a[ 3, 2, 2] + a[ 3, 3, 1] + a[ 3, 3, 3] )
! слой по Z=3
a[ 1, 1, 3]= 1/3*( a[ 2, 1, 3] + a[ 1, 2, 3] + a[ 1, 1, 2])
a[ 1, 2, 3]= 1/4*( a[ 2, 2, 3] + a[ 1, 1, 3] + a[ 1, 3, 3] + a[ 1, 2, 2])
a[ 1, 3, 3]= 1/3*( + a[ 2, 3, 3] + a[ 1, 2, 3] + a[ 1, 3, 2])
a[ 2, 1, 3]= 1/4*( a[ 1, 1, 3] + a[ 3, 1, 3] + a[ 2, 2, 3] + a[ 2, 1, 2])
a[ 2, 2, 3]= 1/5*( a[ 1, 2, 3] + a[ 3, 2, 3] + a[ 2, 1, 3] + a[ 2, 3, 3] + a[ 2, 2, 2])
a[ 2, 3, 3]= 1/5*( a[ 1, 3, 3] + a[ 3, 3, 3] + a[ 2, 2, 3] + a[ 2, 4, 3] + a[ 2, 3, 2])
a[ 3, 1, 3]= 1/3*( a[ 2, 1, 3] + a[ 3, 2, 3] + a[ 3, 1, 2])
a[ 3, 2, 3]= 1/4*( a[ 2, 2, 3] + a[ 3, 1, 3] + a[ 3, 3, 3] + a[ 3, 2, 2])
a[ 3, 3, 3]= 1/4*( a[ 2, 3, 3] + a[ 3, 2, 3] + a[ 3, 3, 2] + t[ 3, 3, 3])Админ: Пользуемся тегами при оформлении! Последний раз редактировалось Admin, 03.09.2022 в 00:23. |