|
|
Регистрация | << Правила форума >> | 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. |