Курсовая работа: Решение системы линейных алгебраических уравнений методом Крамера
Алгоритм Крамера, согласно [1,2], выражается формулами
где
…,
При этом необходимым и достаточным условием существование единственного решения, является не равенство нулю главного определителя системы
.
Блок-схема алгоритма представлена на рисунке.
4. Программная реализации алгоритма МЕТОДА КРАМЕРА
Основным методом класса Programm, является метод Main. С него начинается выполнение программы. В нашем случае, он содержит простейший пользовательский интерфейс, по средством которого пользователь вводит размерность системы, элементы матрицы системы А и вектора правых частей b (1, глава 1), а после необходимых вычислений на экране появляется результат – элементы вектора x .
В работе, алгоритм Крамера для большей читабельности, разбит на отдельные функции – методы:
staticdoubledet(intn, double [,]B) – метод вычисляющий определитель матрицы. Параметрами этого метода являются – количество уравнений (n ), а так же матрица, в нашем случае B . Определитель матрицы вычисляется непосдедственно, т.е. разложением по первой строке [3];
staticvoidequal(intn, double [,]A, double [,]B) – метод присваивающий матрицы (), где n -размерность матриц;
staticintSLAU_kramer(intn, double[,] A, double[] b, double[] x) – метод реализующий метод Крамера, согласно блок схеме главы 2.
В качестве языка программирования мы использовали объектно – ориентированный язык С#. Наш выбор обусловлен его гибкостью в разработке и создании программых продуктов [4-7].
Текст программы приведет ниже.
usingSystem;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication_Kramer
{
class Program
{
static void Main(string[] args)
{
int n; /* количество уравнений */
double [,] A = new double [3,3]; /* матрица системы */
double [] b = new double [3]; /* вектор правых частей */
double [] x = new double [3]; /* вектор решения */