Курсовая: Нахождение собственных значений и собственных векторов матриц - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

Нахождение собственных значений и собственных векторов матриц

Банк рефератов / Математика

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 110 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!

Узнайте стоимость написания уникальной работы



Министерство Образования Российской Федерации


Марийский Государственный Технический Университет



Кафедра Высшей математики














Расчетно-графическая работа

По дисциплине “Вычислительная математика”

на тему:

"Нахождение собственных значений и собственных векторов матриц"












Выполнил: студент гр. МИЭ 31

Веприков Д.О.


Проверил: доцент каф. ВМ

Пайзерова Ф. А.










Йошкар Ола, 2001г.



Содержание.

1 Собственные значения и собственные векторы. 3

1.1 Математическое обоснование метода. 3

1.2 Метод итераций. 5

1.3 Метод Леверрье-Фаддеева. 6

1.3.1 Основные пункты алгоритма метода Леверрье-Фаддеева. 7

1.4 Численное решение задачи нахождения собственных значений матриц методом Леверрье-Фаддеева. 7

2 Приложение 10

2.1 Структурная схема алгоритма метода Леверрье-Фаддеева. 10

2.2 Листинг программы на алгоритмическом языке "Pascal". 13





































  1. Собственные значения и собственные векторы.

Задачи нахождения собственных значений и соответствующих им собственных векторов возникают в самых различных научных задачах. Например, при анализе динамических систем собственные значения определяют частоты колебаний, а собственные векторы характеризуют их форму. В электро-радиотехнических устройствах собственные значения матриц определяют характеристические постоянные времени и режимы работы этих устройств.

    1. Математическое обоснование метода.

Рассмотрим квадратную матрицу n-ого порядка:



Собственные значения i квадратной матрицы A есть действительные или комплексные числа, удовлетворяющие условию:

,

E – единичная матрица,

- собственный вектор матрицы A, соответствующий некоторому собственному значению .


Матрица называется характеристической матрицей матрицы A. Т.к. в матрице по главной диагонали стоят , а все остальные элементы равны нулю, то характеристическая матрица имеет вид:




Определитель этой матрицы называется характеристическим определителем и равен:


В развернутом виде он является многочленом n-ой степени относительно , т.к. при вычислении этого определителя произведение элементов главной диагонали дает многочлен со старшим членом , т.е.



и называется характеристическим многочленом. Корни этого многочлена – собственные значения или характеристические числа матрицы A. Числа называются коэффициентами характеристического многочлена.

Ненулевой вектор называется собственным вектором матрицы A, если эта матрица переводит вектор X в вектор

,

т.е. произведение матрицы A на вектор X и произведение характеристического числа  на вектор X есть один и тот же вектор. Каждому собственному значению матрицы соответствует свой собственный вектор .

Для определения координат собственного вектора составляется характеристическое уравнение: . Переписав его в векторном виде и выполнив умножение, получим систему линейных однородных уравнений:



Определитель этой системы равен нулю, т.к. из этого условия были определены собственные значения матрицы A. Следовательно, система имеет бесконечное множество решений. Ее можно решить с точностью до постоянного множителя (как систему однородных уравнений). Решив эту систему, мы найдем все координаты собственного вектора X. Подставляя в систему однородных уравнений поочередно , получаем n собственных векторов.

При определении собственных значений и принадлежащих им собственных векторов решается одна и двух задач:

  1. Определение все собственных значений и принадлежащих им собственных векторов матриц;

  2. Определение одного или нескольких собственных значений и принадлежащих им собственных векторов.

Первая задача состоит в развертывании характеристического определителя в многочлен n-й степени (т.е. в определении коэффициентов ) с последующим вычислением собственных значений и, наконец, в определении координат собственного вектора .

Вторая задача заключается в определении собственных значений итерационными методами без предварительного развертывания характеристического определителя (метод итераций). Методы первой задачи (метод Данилевского, метод Леверрье-Фаддеева) относятся к точным, т.е. если их применить для матриц, элементы которых заданы точно (рациональными числами), и точно проводить вычисления (по правилам действий с обыкновенными дробями), то в результате будет получено точное значение коэффициентов характеристического многочлена, и координаты собственных векторов окажутся выраженными точными формулами через собственные значения.

Обычно собственные векторы матрицы удается определить, используя промежуточные результаты вычислений, проведенных для определения коэффициентов характеристического многочлена. Для определения того или иного собственного вектора, принадлежащего собственному значению, это собственное значение должно быть уже вычислено.

Методы решения второй задачи – итерационные. Здесь собственные значения получаются как пределы некоторых числовых последовательностей, так же, как и координаты принадлежащих им собственных векторов. Т.к. эти методы не требуют вычисления коэффициентов характеристического многочлена, то он менее трудоемки.

Некоторые свойства собственных значений векторов:

  • Все n собственных значений любой симметричной матрицы (aij=aji; i,j = 1,2,…,n) вещественны.

  • Собственные векторы, отвечающие различным собственным значениям симметричной матрицы, ортогональны:

, при ,

, при .

  • Собственный вектор матрицы, умноженный на произвольное число, также является собственным вектором.

  • Подобные матрицы

, где P – неособая матрица, имеют одинаковые собственные значения, их собственные вектора связаны соотношением:

Характеристическое уравнение

решается ранее изложенными методами решения нелинейных уравнений. Однако задача осложняется тем, что среди собственных значений часто встречаются кратные. Кроме того, для произвольной матрицы непросто вычислить сами коэффициенты характеристического многочлена.

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

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

    1. Метод итераций.

Для решения частичной проблемы собственных значений (отыскания наибольших и наименьших собственных чисел), применяется метод простой итерации решения систем уравнений

С помощью итерационных методов можно определить наибольшее по модулю собственное число матрицы A без раскрытия определителя.

Итак, пусть

  • характеристическое уравнение; - его корни, являющиеся собственными значениями матрицы . Предположим, что

,

т.е. наибольшее по модулю собственное число. Тогда для нахождения приближенного значения корня используется следующая схема:

  • произвольно выбирают начальный вектор Y;

  • составляют последовательные итерации

  • выбирают из этой последовательности два последних значения, и принимают за наибольшее собственное число следующее соотношение:

,

где - соответствующие координаты векторов .

Таким образом, взяв достаточно большой номер итерации m, можно с любой степенью точности вычислить наибольший по модулю корень характеристического уравнения матрицы. Для нахождения этого корня может быть использована любая координата вектора , в частности можно взять среднее арифметическое соответствующих отношений для разных координат.

    1. Метод Леверрье-Фаддеева.

Этот метод относится к группе тех, которые решаются методами развертывания определителей. Этот метод был предложен Леверрье и упрощен советским математиком Фаддеевым. Метод Леверрье основан на формулах Ньютона для сумм степеней корней алгебраического уравнения и заключается в следующем. Пусть

  • характеристический многочлен матрицы , и - полная совокупность корней характеристического многочлена. Рассмотрим суммы:

, ,

иначе:

(каждая сумма есть след матрицы ). Тогда при справедливы формулы Ньютона:

откуда получаем:

при

при

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

при

Следовательно, коэффициенты характеристического многочлена можно легко определить, если известны суммы .

Таким образом, схема раскрытия характеристического многочлена состоит в следующем:

  1. вычисляют степени

  2. определяют - суммы элементов главных диагоналей матриц ;

  3. по вышеприведенным формулам Ньютона находим коэффициенты .

Видоизмененный метод Леверрье, предложенный Фаддеевым, заключается в вычислении последовательности матриц по следующей схеме:


      1. Основные пункты алгоритма метода Леверрье-Фаддеева.

  1. Ввод исходной матрицы , где n – размерность матрицы.

  2. Вычисление коэффициентов .

  3. Решение характеристического уравнения (определение ). В качестве метода решения характеристического уравнения выбран уединения корней уравнения и метод хорд.

  4. Задание начальных единичных векторов .

  5. Вычисление собственного вектора , соответствующего .

  6. Нормировка вектора .

  7. Конец алгоритма.

При решении данной задачи использовались и некоторые вспомогательные процедуры, - например процедура возведения в степень.

    1. Численное решение задачи нахождения собственных значений матриц методом Леверрье-Фаддеева.

Используя метод Леверрье-Фаддеева, найти собственные числа матрицы, а так же наибольший собственный вектор.


.

Решение.

Определяем коэффициенты характеристического уравнения посредством построения последовательности матриц.

,

,

Результаты дальнейших вычислений примут вид:

Получим характеристическое уравнение: Решая это уравнение методом хорд, предварительно уединив корни на некотором промежутке, получаем следующие значения собственных чисел:

Вычислим собственный вектор при наибольшем собственном числе матрицы методом итераций.


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


.

Решение.

Выбираем начально-свободный вектор

Вычисляем




Дальнейшие вычисления можно свести в Таблицу1.

A

2,6

1,2

-0,1

1,2

2,1

1,6

-0,1

1,6

0,8

Y0

1.00

1.00

1.00




Y1

3.70

4.90

2.30

4.13

3.76

4.05

Y2

15.27

18.41

9.31

3.99

3.90

3.80

Y3

60.86

71.88

35.38

3.96


3.90

3.88

Y4

240.96

280.59

137.22

3.94


3.91

3.90

Y5

949.49

1097.95

534.63

3.93

3.92

3.91

Y6

3732.75

4300.49

2089.48

3.93


3.92

3.91

Y7

14656.79

16853.49

8179.09

3.92

3.92

3.92


Дальнейшие итерации можно прекратить. Собственное значение (наибольшее) . Нормированный собственный вектор .






  1. Приложение

    1. Структурная схема алгоритма метода Леверрье-Фаддеева.




















































Процедура Trace формирования "следа" матрицы AMatrix.






























Процедура VInter формирования последовательности матриц Bmatrix.































Структурная схема процедуры AConsistance.


































Структурная схема метода хорд для решения характеристического уравнения.





























Процедура уединения коренй характристического уравнения.





























































    1. Листинг программы на алгоритмическом языке "Pascal".



{Метод Лаверрье-Фаддеева }

{Метод нахождения собственных чисел матриц}

{$M 1024,0,0}{Освобождение памяти для потомка}

uses Dos,Crt;

const N=10;

MainTextColor=15;

DiagonColor=2;


OutPutI=3;

OutPutJ=7;

ScaleI=10;

ScaleJ=3;


type TMatrix=array[1..N,1..N] of real;

TVec=array[1..N] of real;


{Процедура решает задачу ввода порядка исходной матрицы}

procedure Read_Range(var Range:integer);

begin

writeln('Блок ввода данных');

write('Введите порядок исходной матрицы A_Matrix=');

read(Range);

end;


{Процедура считывания исходной матрицы}

procedure InputMatrix(var AMatrix:TMatrix;Range:integer);

var i,j,cols,rows:integer;

begin

Rows:=Range;

Cols:=Range;

writeln('Введите исходную матрицу');

for i:=1 to cols do

for j:=1 to rows do

begin

GoToXY(OutPutI+ScaleI*i,OutPutJ+ScaleJ*j);

read(AMatrix[i,j]);

end;

end;


procedure PlotSameMatrix(var CEquival:TMatrix;AMatrix:TMatrix;Range:integer);

var i,j:integer;

begin

for i:=1 to Range do

for j:=1 to Range do

begin

CEquival[i,j]:=AMatrix[i,j];

end;

ClrScr;

end;


{Процедуры форматированного вывода/печати матриц AMatrix}

procedure Coord_AMatrix(var AMatrix:TMatrix;Range:integer);

var i,j,k:integer;

begin

for i:=1 to Range do

for j:=1 to range do

begin

GoToXY(OutPutI+ScaleI*i,OutPutJ+ScaleJ*j);

if i=j then TextColor(DiagonColor) else TextColor(MainTextColor);

write(AMatrix[i,j]:4:2);

end;

end;

{==========================================================================}

procedure Coord_VMatrix(var VMatrix:TMatrix;Range:integer);

var i,j:integer;

begin

for i:=1 to Range do

for j:=1 to range do

begin

GoToXY(OutPutI+ScaleI*i,OutPutJ+ScaleJ*j);

write(VMatrix[i,j]:4:2);

end;

end;


{Суммирование диагональных элементов (след матрицы)}

function Trace(Range:integer;AMatrix:TMatrix):real;

var i,N:integer;

diag_sum:real;

begin

Diag_sum:=0;

Trace:=0;

N:=Range;

for i:=1 to N do

begin

Diag_sum:=diag_sum+AMatrix[i,i];

Trace:=Diag_sum;

end;

end;


{Промежуточная матрица V}

procedure VInter(var VMatrix:TMatrix;BMatrix,AMatrix:TMatrix;Range:integer;

Pk:real);

var i,j,m,i0:integer;

begin

ClrScr;

TextColor(MainTextColor);

writeln( 'Промежуточная матрица Bn');

readln;

for i:=1 to Range do

for j:=1 to Range do

begin

if i=j then BMatrix[i,j]:=AMatrix[i,j]-Pk

else BMatrix[i,j]:=AMatrix[i,j];

VMatrix[i,j]:=BMatrix[i,j];

Coord_VMatrix(VMatrix,Range);

end;

readln;

end;


{Процедура формирования матрицы A (последовательности матриц)}

procedure AConsistance(var AMatrix:TMatrix;CEquival,V:TMatrix;Range:integer);

var i,j,k:integer;

begin

ClrScr;

for i:=1 to Range do

for j:=1 to Range do

begin

AMatrix[i,j]:=0;

end;

for k:=1 to Range do

for i:=1 to Range do

begin

for j:=1 to Range do

begin

AMatrix[k,i]:=AMatrix[k,i]+CEquival[k,j]*V[j,i];

end;

Coord_AMatrix(AMatrix,Range);

end;

end;

{==========================================================================}

{Промежуточная функция возведения в степень}

function pow(x:real;y:integer):real;

begin

if x=0 then pow:=0;

if x>0 then pow:=exp(y*ln(x));

if (x<0>

if (x<0>0) then pow:=-exp(y*ln(-x));

end;


{Окончательная функция}

function f(x:real;i:integer;PVec:TVec;Range:integer):real;

var k:integer;

begin

k:=1;

if Range=4 then f:=pow(x,4)-PVec[k]*pow(x,3)-PVec[k+1]*pow(x,2)

-PVec[k+2]*x-PVec[k+3];

if Range=3 then f:=pow(x,3)-PVec[k]*pow(x,2)-PVec[k+1]*x-PVec[k+2];

end;


{Derivative -вторая производная}

function F_deriv(x:real;i:integer;PVec:TVec;Range:integer):real;

var k:integer;

begin

k:=1;

if Range=4 then F_deriv:=12*pow(x,2)-6*PVec[k]*x-PVec[k+1]*2;

if Range=3 then F_deriv:=6*x-2*PVec[k];

end;


{Реализация метода хорд для решения характеристического уравнения}

procedure ChordMethood(var X,Y:real;x1,x2,eps:real;i,Range:integer;PVec:TVec);

var Ya,Yb,Yk:real;

Xk,Xn:real;

k:integer;

begin

Ya:=f(x1,i,PVec,Range);

Yb:=f(x2,i,PVec,Range);

Y:=F_deriv(x1,i,PVec,Range);{Вторая производная}

if Ya*Y>0 then

begin

Xk:=x1;Yk:=Ya;X:=x2; Y:=Yb;

end

else

begin

Xk:=x2;Yk:=Yb; X:=x1;Y:=Ya;

end;

repeat

Xn:=X;X:=Xn-(Y/(Y-Yk))*(Xn-Xk);

Y:=f(X,i,PVec,Range);

until abs(X-Xk)>=eps;

writeln('Lambda = ',X:5:4);

writeln('root Y= ',Y);

readln;

end;


{Реализация метода уединения и уточнения коренй посредством метода хорд}

procedure Root_limit(var alpha,beta:real;var LVec:TVec;var RootNum:integer;

i,Range:integer;PVec:TVec);

const step_h=0.09;

var

x1,x2,y1,y2:real;

Ya,Yb,Yk,Y:real;

Xk,Xn,X:real;

eps:real;

k:integer;

begin

k:=0;

x1:=alpha;

x2:=x1+step_h;

y1:=f(x1,i,PVec,Range);

while x2

begin

y2:=f(x2,i,PVec,Range);

if y1*y2<0>

begin

TextColor(MainTextColor);

writeln('Корень лежит в этих пределах:[',x1:5:4,';',x2:5:4,']');

{Процедура уточнения корней характеристического уравнения}

ChordMethood(X,Y,x1,x2,eps,i,Range,PVec);

k:=k+1;

LVec[k]:=X;

end

else

x1:=x2;

x2:=x1+step_h;

y1:=y2;

end;

RootNum:=k;{Число действительных корней характеристического уравнения}

end;

{===================Тело программы=========================================}

var AMatrix,CEquival,BMatrix,VMatrix:TMatrix;

X_SelfVec,LVec,U_EMatrix:TVec;

P_CharacteristicParam,Pk,Pn,Lambda,Max:real;{Параметр p характеристического уравнения матрицы}

Range,k,k1,i,j,num:integer;

i0,m:integer;

Cols,Rows:integer;

PVec:TVec;

{Параметры характеристического уравнения уравнения}

Ya,Yb,Yk:real;

Xk,Xn,x1,x2:real;

X,Y:real;

alpha,beta,eps:real;

RootNum:integer;


begin

ClrScr;

TextColor(MainTextColor);

Pn:=0;

Pk:=0;

Read_Range(Range);{Процедура считывает порядок матрицы}

InputMatrix(AMatrix,Range);{Считываем исходную матрицу}

{==========================================================================}

PlotSameMatrix(CEquival,AMatrix,Range);

{Блок вычисления коэффицентов характеристического уравнения матрицы}

ClrScr;

TextColor(MainTextColor);

writeln('Коэффиценты характеристического уравнения');

for k:=1 to Range-1 do

begin

Pk:=Trace(Range,AMatrix)/k; {Pk - коэффицент характкристич. уравнения}

PVec[k]:=Pk;

write('Pk_',k,'=',Pk:9:4);

readln;


VInter(VMatrix,BMatrix,AMatrix,Range,Pk);

AConsistance(AMatrix,CEquival,VMatrix,Range);

GoToXY(39,1);

writeln('Матрица A',k+1,'.');

readln;


end;

Pn:=Trace(Range,AMatrix)/Range;

PVec[k+1]:=Pn; {Вектор параметров P}

writeln('P_',Range,'=',Pn:9:2);

readln;

ClrScr;

writeln('Вектор коэффицентов P');

for k:=1 to Range do

begin

GoToXY(OutPutI+ScaleI*k,OutPutJ);

TextColor(MainTextColor);

write(PVec[k]:8:3);

end;

readln;

{==================Блок вычисления собственных чисел матрицы===============}

ClrScr;

TextColor(MainTextColor);

writeln('**********************');

writeln('Ведите пределы, в которых располагаются корни уравнения.');

write('Enter alpha= ');

readln(alpha);

write('Enter beta= ');

readln(beta);

write('Enter eps=');

readln(eps);

Root_limit(alpha,beta,LVec,RootNum,i,Range,PVec);

ClrScr;

TextColor(MainTextColor);

write('Вектор собственных чисел');

for k:=1 to RootNum do

begin

GoToXY(OutPutI+ScaleI*k,OutPutJ);

write(LVec[k]:8:4);

end;

readln;

end.

Литература.

  1. Воробьева Г.Н., Данилова А.Н. Практикум по вычислительной математике: Учеб. Пособие для техникумов. - М.: Высш. Школа, 1990.

  2. Гловацкая А.П. Методы и алгоритмы вычислительной математики. Учеб. Пособие для вузов. - М.: Радио и связь, 1999.

  3. Численные методы. Учебник для техникумов и вузов. М.: Высшая школа, 1976.







1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
- Тебе на 23-е гель для бритья пойдёт, пока скидки в "Магните"?
- Ты меня балуешь, транжира!
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по математике "Нахождение собственных значений и собственных векторов матриц", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru