Исходные данные

Исходными данными при решении систем линейных алгебраических уравнений прямыми (точными) методами являются:

- размерность системы уравнений n;

- матрица действительных коэффициентов А;

- столбец свободных членов В.

Исходными данными при решении систем линейных алгебраических уравнений итерационными методами являются:

- размерность системы уравнений n;

- матрица действительных коэффициентов А;

- столбец свободных членов В;

- заданная точность .

Результатом является столбец неизвестных X.

Для ввода матриц и вывода результатов при выполнении задания с использованием C++ Builder наиболее удобно использовать визуальный элемент StringGrid (закладка Additional). Для обеспечения возможности ввода данных с клавиатуры в матрицы А и В необходимо в соответствующих объектах StringGrid установить опцию (Options) goEditing в true. При вводе данных необходимо осуществлять преобразование типа данных - из строкового (тип AnsiString), в котором отображаются вводимые данные в соответствующих визуальных компонентах (StringGrid или Edit), в тип, который будет использоваться при расчетах. Для этого следует использовать стандартные функции класса AnsiString: StrToFloat или ToDouble и StrToInt или ToInt. Для отображения результатов необходимо провести обратные преобразования: FloatToStr и IntToStr.

Вычисления проводить по приведенному выше алгоритму в функции, в которую передаются исходные данные для решения и которая возвращает указатель на массив неизвестных:

double * Gauss (int n, double **a, double *b){...} - пример заголовка функции для точных методов,

double* Zeidel (int n, double **a, double *b, double epsilon){...} - пример заголовка функции для итерационных методов.

Итерационный процесс необходимо реализовать с использованием операторов do { последовательность действий } while ( условие ),

то есть проводить вычисления до тех пор, пока выполняется условие ().

Контрольные вопросы

1. Какие методы решения систем линейных алгебраических уравнений являются прямыми? Чем они характеризуются?

2. Каково условие существования и единственности решения системы уравнений?

3. Какие методы называются итерационными? В чем их отличие от прямых?

4. Какой метод обеспечивает более быструю сходимость – метод простых итераций или Зейделя?

5. В чем состоит отличие метода Зейделя от метода простых итераций?

6. Для каких порядков систем применяются прямые и итерационные методы?

7. Для чего применяется модифицированный метод Гаусса – метод Гаусса с выбором наибольшего элемента по столбцам?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: