Содержание

Листинг кода

#include "Header.hpp"

using namespace std;

/********************************************************

Модель, реализующая матрицу Якоби с граничными условиями

n — количество измерений

*m — количество точек по каждому из измерений

*x — вектор координат точки воздействия

value — величина воздействия

mode — режим (0 — непрерывное воздействе, 1 — однократное воздействие)

*********************************************************/

int jacobi_field(int n,int *m,int *x,double value,int mode, int demo){

double epsilon=1e-7; // минимальное изменение для продолжения итераций

int nmax=1000; // максимальное число итераций

int total = 1; for(int i = 0; i < n; i++) total*=m[i];

double *prevMatrix = new double[total]; // Многомерные массивы хранятся в виде одномерной последовательности

double *nextMatrix = new double[total]; // Многомерные массивы хранятся в виде одномерной последовательности

int *x0 = new int[n];

int *x1 = new int[n];

Выдержка из текста

Итерационные вычисления Якоби предназначены для нахождения решения дифференциальных уравнений Лапласа и представляют собой последовательность итераций вычисления значений ячеек новой матрицы равной усреднённому значения соседних ячеек предшествующей матрицы.

Итерационный процесс повторяется пока отличие новой матрицы от предшествующей станет незначительным.

В программе реализована работа с многомерными матрицами, хранящаяся в памяти в виде одномерной последовательности чисел.

Количество пространственных измерений и размерность массивов по каждому из измерений запрашивается при запуске программы.

Программа работает в 2-х режимах:

• с выводом результатов работы на экран (для демонстрации работоспособности);

• без вывода результатов работы на экран, но с определением времени, затрачиваемого на вычисления;

Список использованной литературы

.

Похожие записи