русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Цель работы


Дата добавления: 2014-11-28; просмотров: 608; Нарушение авторских прав


1. Знакомство с задачами исследования и численными методами решения систем линейных алгебраических уравнений (СЛАУ).

2. Разработка численной ММ, реализующей один из методов.

3. Решение задач исследования однородных и неоднородных СЛАУ при помощи средств MATLAB.

 

Решение систем линейных уравнений – одна из наиболее часто встречающихся задач в научных и инженерных расчетах. Многие приложения приводят к этой задаче непосредственно, кроме того системы линейных уравнений могут возникать как один из этапов в решении более сложных проблем. При этом обычно число уравнений равно числу неизвестных. Такую систему можно записать в матричном виде A x=b, где А – заданная квадратная матрица порядка n, b – заданный вектор-столбец с n компонентами и x – неизвестный вектор-столбец с n компонентами. В свернутом виде система может быть записана как , i=1,2,…,n. Тогда в развернутом виде

a11 x1+ a12 x2 +…+ a1n xn =b1,

a21 x1+ a22 x2 +…+ a2n xn =b2,

……………………………………

an1 x1+ an2 x2 +…+ ann xn =bn .

 

Решением системы является вектор X*={x1*, x2*,…, xn*} при подстановке которого в каждое уравнение системы получаем истинные равенства. Для решения СЛАУ применяют прямые (точные) и итерационные (приближенные) методы. Метод решения задачи относится к классу точных, если предполагается отсутствие округлений и с его помощью можно найти решение в результате конечного числа арифметических и логических операций.

Среди прямых методов (используют конечное число преобразований системы) можно выделить методы Крамера, Гаусса, Гаусса-Жордана и др. Обычно их применяют для систем небольшой размерности (до 103).

В частности, метод Гаусса (гауссовых исключений) состоит в приведении исходной системы путем последовательных исключений неизвестных (при помощи элементарных операций над строками: перестановка строк; умножение строки на число отличное от нуля; сложение строк) к эквивалентной системе с треугольной (ступенчатой) матрицей (прямой ход метода Гаусса)



 

x1+ с12 x2 +…+ с1n xn =d1,

c22 x2 +…+ c2n xn =d2,

…………………

xn =dn ,

 

далее ее решают по рекуррентным формулам

xn =dn , , i=n-1,n-2,…, 1.

 

Итерационные методы реализуют стратегию постепенного приближения к решению X* путем построения соответствующей последовательности векторов X0, X1,…, Xk. Вектор X0 называется начальным приближением, а переход от текущего k-го приближения (вектор Xk ) к k+1-му приближению (вектор Xk+1) итерацией. Данный переход реализуется при помощи функционального оператора Xk+1=F(Xk), вид которого определяется заданной системой и конкретным методом.

Для итерационных методов (метод простой итерации, метод Зейделя и др.) решение получают всегда приближенным, в то же время необходимо отметить ряд преимуществ, которыми обладают последние по сравнению с прямыми методами:

1) меньшие затраты времени при получении решения;

2) значительно меньшие погрешности округления;

3) самоисправление случайных ошибок на очередном шаге;

4) особенная эффективность при работе с разряженными матрицами (большое количество коэффициентов которых равно нулю), а также для систем большой размерности (103-106).

Метод простой итерации реализует переход к k+1-му приближению, используя при определении каждой координаты нового вектора координат только предыдущего k-го приближения Xk+1=F(Xk). Пусть дана СЛАУ вида

 

a11 x1+ a12 x2 +…+ a1n xn + a1n+1 =0,

a21 x1+ a22 x2 +…+ a2n xn + a2n+1 =0, (1)

……………………………………

an1 x1+ an2 x2 +…+ ann xn + ann+1 =0 .

 

Выразив из каждого уравнения соответствующую координату, получим

 

x111 x1+ с12 x2 +…+ с1n xn + с1n+1,

x221 x1+ с22 x2 +…+ с2n xn + с2n+1, (2)

……………………………………

xnn1 x1+ сn2 x2 +…+ сnn xn + сnn+1 .

 

Для обеспечения условий сходимости (сходимость или устойчивость метода обеспечивается при любом начальном приближении X0, если норма матрицы, составленной из коэффициентов только при неизвестных в системе (2) меньше единицы, т.е., например, при i=1,2,…,n) при переходе от системы (1) к системе (2) можно воспользоваться следующими преобразованиями:

 

 

,

где .

Если после данных преобразований сходимость не обеспечивается (единичные случаи), исходную систему необходимо преобразовать в эквивалентную. Это достигается путем попарного сложения или вычитания уравнений.

Далее текущее приближение Xk подставляют в правую часть системы (2), тогда в левой части получают координаты нового уточненного приближения Xk+1. В качестве начального приближения X0 можно выбрать столбец свободных членов b или нулевой вектор. Окончанием итерационного процесса может служить выполнение условия

 

,

 

где e – заданная погрешность приближенного решения.

Метод Зейделя является модификацией метода простой итерации. В целях ускорения сходимости он реализует переход к k+1-му приближению, используя при определении координат нового вектора не только предыдущее k-е приближение, но и вычисленные на данный момент координаты k+1-го приближения Xk+1=F(Xk, Xk+1):

 

x1k+111 x1k+ с12 x2k+…+ с1n-1 xn-1k1n xnk+ с1n+1,

x2k+121 x1k+1+ с22 x2k+…+ с2n xnk + с2n+1,

……………………………………

xnk+1n1 x1k+1+ сn2 x2k+1+…+ сnn xnk + сnn+1 .

 

Дальнейшее ускорение сходимости последовательности приближений достигается в методе последовательной верхней релаксации. Для специального вида матриц, например симметричных, положительно определенных, имеется также семейство методов сопряженных градиентов или сопряженных направлений [3].

В целом для обеспечения сходимости итерационного метода достаточно, чтобы выполнялось условие ||A||<1, или ||С||<1 по какой-либо норме матрицы, согласованной с нормой векторов. Если для векторов x=(x1,x2,…,xn) введена норма ||x||, то согласованной с ней нормой матриц называют величину . Чаще всего используют следующие нормы векторов и соответствующих согласованных норм матриц:

 

№ п/п Норма вектора Согласованная норма матрицы
 
   
      или с учетом ||A||2£||A||e

 

где максимальное собственное значение матрицы .

 

В общем случае система может включать m уравнений относительно n неизвестных

 

a11 x1+ a12 x2 +…+ a1n xn =b1,

a21 x1+ a22 x2 +…+ a2n xn =b2,

……………………………………

am1 x1+ am2 x2 +…+ am n xn =bm .

 

Тогда данная система совместна, если она имеет хотя бы одно решение и несовместна, если не имеет ни одного.

Однородной СЛАУ называется система, правая часть которой равна нулю (b=0). Однородная система всегда совместна, т.к. имеет, по крайней мере, одно решение (x1=0,…, xn=0). Если однородная система имеет единственное решение, то оно нулевое и система называется тривиально совместной. Если имеется более одного решения, то среди них есть ненулевые. В этом случае говорят о нетривиально совместной системе. Такая система имеет бесконечное множество решений, причем линейная комбинация любых решений системы тоже является ее решением. Доказано, что среди бесконечного множества решений однородной системы можно выделить ровно n-r линейно независимых решений, где r – ранг матрицы А (число ненулевых строк в ступенчатой матрице, получаемой из исходной матрицы А с помощью гауссовых исключений).

Совокупность этих n-r линейно независимых решений называется фундаментальной системой решений. Любое решение СЛАУ линейно выражается через фундаментальную систему. Поэтому, если ранг r матрицы А однородной системы А×x=0 меньше числа неизвестных n, то система является нетривиально совместной и для любого решения системы с учетом векторов е1, е2,…, еn-r, образующих ее фундаментальную систему решений (А еi =0, i=1,2,…,n-r) можно записать выражение:

 

x=c1 е1 +c2 е2 +…+cn-r еn-r ,

 

где c1, c2,…, c1n-r – произвольные постоянные, а само выражение называют общим решением однородной системы.

 

Исследовать однородную СЛАУ – это значит установить, является ли она нетривиально совместной и в этом случае найти фундаментальную систему решений, а также общее решение системы.

Неоднородной СЛАУ называется система, правая часть которой неравна нулю (0). Для того, чтобы неоднородная система была совместна, необходимо и достаточно, чтобы ранг расширенной матрицы системы совпадал с рангом матрицы системы. Расширенная матрица получается путем добавления к матрице А столбца b.

Исследовать неоднородную СЛАУ – это значит установить, является ли она совместной, и если да, то найти общее решение системы.

 



<== предыдущая лекция | следующая лекция ==>
Основы компьютерных сетей | Преимущества и недостатки одноранговых сетей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.013 сек.