Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Прямой метод вращения векового определителя

Тип Реферат
Предмет Информатика и программирование
Просмотров
727
Размер файла
96 б
Поделиться

Ознакомительный фрагмент работы:

Прямой метод вращения векового определителя

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное агентство по образованию

Государственное образовательное учреждение

Высшего профессионального образования

«Оренбургский государственный университет»

Факультет экономики и управления

Кафедра математического обеспечения информационных систем

КУРСОВАЯ РАБОТА

по дисциплине «Численные методы»

Прямой метод вращения векового определителя

ОГУ 061800.8006.18 ООО

Руководитель работы

____________________Ващук И.Н.

«_____» _______________ 2006 г.

Исполнитель студент гр. 04ММЭ

________________Широбоков П.Д.

«_____» ________________ 2006 г.

Оренбург 2006


Оглавление

Введение. 3

Постановка задачи.. 4

Описание метода. 5

Сходимость метода. 8

Описание входных и выходных данных.. 9

Заключение. 10

Список литературы.. 11

Приложение А... 12

Приложение Б.. 19

Введение

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

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

Постановка задачи

Большое число задач математики и физики требует отыскания собственных значений и собственных векторов матриц, т.е. отыскания таких значений +, для которых существуют нетривиальные решения однородной системы линейных алгебраических уравнений

, (1)

и отыскания этих нетривиальных решений.

Здесь -квадратная матрица порядка m , - неизвестный вектор - столбец.

Из курса алгебры известно, что нетривиальное решение системы (1) существует тогда и только тогда, когда

, (2)

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

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

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

Описание метода

Идея метода Данилевского состоит в том, что матрица А приводится к “нормальной форме Фробениуса”, имеющей вид: .

Характеристическое уравнение для матрицы Р имеет простой вид

т.е. коэффициенты при степенях характеристического полинома непосредственно выражаются через элементы первой строки матрицы Р.

Приведение матрицы А к нормальной форме Фробениуса Р осуществляется последовательно построкам, начиная с последней строки.

1. Приведем матрицу

к виду

Пусть Можно проверить,что такой вид имеет матрица , которая равна

где

Следующий шаг - приведение подобным преобразованием к .

Таким образом

И так далее:

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

и элемент .

Таким образом обычная процедура метода Данилевского не подходит из-за необходимости деления на ноль. В этой ситуации возможно два случая.

2.1 Предполагаем, что левее есть элемент Тогда домножая матрицу слева и справа на элементарную матрицу перестановок , получаем матрицу .

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

2.2 Рассмотрим второй нерегулярный случай, когда в матрице элемент и все элементы левее, тоже нулевые. В этом случае характеристический определитель матрицы можно представить в виде

где и - единичные матрицы соответствующей размерности, а квадратные матрицы и имееют вид:

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

Сомножитель нужно преобразовывать. Для развертывания можно применять метод Данилевского, приводя матрицу подобными преобразованиями к нормальной форме Фробениуса.

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

Тесты метода и ПО см. В Приложении Б.

Сходимость метода

Определение. Квадратная матрица Р порядка m называется подобной матрице А , если она представлена в виде , где S - невыродженная квадратная матрица порядка m.

Теорема. Характеристический определитель исходной и подобной матрицы совпадают .

Доказательство.

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

.

Теорема. Пусть є есть собственное значение , а есть соответствующий собственный вектор матрицы Р , которая подобна матрице А ,т.е.

Тогда есть собственный вектор матрицы А , соответствующий собственному значению

Доказательство.Тривиально следует из того, что

Домножая левую и правую часть этого равенства слева на S , имеем

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

Описание входных и выходных данных

Входные параметры:

Квадратная матрица порядка n*n. Рекомендуется, чтобы она была хорошо обусловлена.

Выходные параметры:

Получаем коэффициенты при степенях характеристического полинома. Решая данное уравнение получаем собственные значения исходной матрицы. Следующим шагом является определение собственных векторов.

.

Заключение

Обозначим некоторые выводы по проделанной работе:

Во время освоения данного метода мы не могли пропустить некоторые минусы метода Данилевского:

- Погрешность накапливается со скоростью геометрической прогрессии.

- Приходится решать достаточно сложное уравнение порядка n (если решать с помощью приближенных метод, снова получаем некоторую погрешность)

- В программном варианте используются достаточно большие объемы оперативной памяти, к примеру, приходится хранить до 4 матриц порядка n*n.

Но так же нельзя не остановиться на очевидных плюсах метода:

- Метод удобен для нахождения собственных векторов практически любой матрицы. Рекомендуется рассматривать матрицы меньше порядка нескольких десятков.

- Данный метод очень удобен в программировании (на этапе разработки ПО проблем практически не возникало).

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

Список литературы

1. Основы численных методов: Учебник для вузов/ В.М. Вержбицкий. – М.: Высш. Шк., 2002. – 840 с.: ил.

2. Высшая математика для экономистов: Учебник для вузов/ Н.Ш. Кремер, Б.А. Путко, И.М. Тришин, М.Н. Фридман; Под ред. проф. Н.Ш. Кремера. – 2-е изд., перераб. и доп. – М.: ЮНИТИ, 2004. – 471 с.

3. Интернет.

4. Библия Delphi/ М.Е. Фленов – СПб.: БХВ-Петербург, 2005. – 880 с.: ил.

Приложение А

unit MainUnit;

interface

uses

Windows, …, Buttons;

type

Matrix = array of array of real;

TForm1 = class(TForm)

private

{ Private declarations }

// Процедура "перестановки" матрицы, возвращает true если все хорошо

function Remove(Var rez: Matrix; i: integer): boolean;

// Умножение 2-х матриц

procedure Multiple(a,b:Matrix; Var rez: Matrix);

// Возвращение решений

function FindDet(Var a:Matrix):string;

// Обнуление матриц

procedure Zero(Var a:Matrix);

public

{ Public declarations }

end;

var Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.FindDet(Var a: Matrix):string;

Var i,j : integer;

M,Mob,bac : Matrix;

flag : boolean;

begin

SetLength(M,Length(a[1]),Length(a[1]));

SetLength(Mob,Length(a[1]),Length(a[1]));

SetLength(bac,Length(a[1]),Length(a[1]));

flag:=true;

for i:=Length(a[1])-2 downto 0 do

// Построение матриц

BEGIN

// Обработка случая 2.1

if (a[i+1,i]=0) and (not Remove(a,i)) then

begin

// Если ничего не помогло

flag:=false;

Break;

end;

// Обнуление всех матриц

Zero(M); Zero(Mob); Zero(bac);

// Построение матриц М

for j:=0 to Length(a[i])-1 do

begin

Mob[j,j]:=1;

Mob[i,j]:=a[i+1,j];

M[j,j]:=1;

M[i,j]:=-Mob[i,j]/a[i+1,i];

if i=j then M[i,j]:=1/a[i+1,i];

end;

// Умножение матрицы А на М

Multiple(a,M,bac); // A*M

Multiple(Mob,bac,a); // M^(-1)*(A*M)

END;

// Обработка случая 2.2, если надо

if not flag then

begin

M:=nil;

Mob:=nil;

// Находим матрицу С и выводим ее коэффициенты

SetLength(bac,1,length(a)-i-1);

for j:=i+1 to length(a)-1 do bac[0,j-i-1]:=a[i,j]; // Матрица C

Result:='('+FloatToStrF(bac[0,0],ffFixed,10,3);

for i:=1 to Length(bac)-1 do

Result:=Result+','+FloatToStrF(bac[0,i],ffFixed,10,3);

Result:=Result+'),';

// "Урезаем" матрицу А до состояния B, см. 2.2 пункт алгоритма

SetLength(a,i+1,i+1);

// Вызываем рекурсивно процедуру

Result:=Result+FindDet(a);

end

else begin

Result:='('+FloatToStrF(a[0,0],ffFixed,10,3);

for i:=1 to Length(a)-1 do

Result:=Result+','+FloatToStrF(a[0,i],ffFixed,10,3);

Result:=Result+')';

end;

bac:=nil;

end;

procedure TForm1.bbPlusClick(Sender: TObject);

begin

sgInData.ColCount:=sgInData.ColCount+1;

sgInData.RowCount:=sgInData.RowCount+1;

if sgInData.ColCount=11 then ShowMessage('Attention!!! Полученные результаты имеют малую точность');

end;

procedure TForm1.bbMinusClick(Sender: TObject);

begin

if sgInData.ColCount<3 then Exit;

sgInData.ColCount:=sgInData.ColCount-1;

sgInData.RowCount:=sgInData.RowCount-1;

end;

procedure TForm1.bbOpenClick(Sender: TObject);

Var k : real;

f : textfile;

a,i,j : integer;

begin

OpenDialog1.Filter:='Все файлы (*.*)|*.*| Файлы .txt (*.txt)|*.TXT';

OpenDialog1.Title:='Выбор файла для этой проги';

OpenDialog1.FilterIndex:=2;

if OpenDialog1.Execute then

begin

AssignFile(f,OpenDialog1.FileName);

Reset(f);

end

else Exit;

ReadLn(f,a);

sgInData.ColCount:=a;

sgIndata.RowCount:=a;

for i:=0 to a-1 do

begin

for j:=0 to a-1 do

begin

Read(f,k);

sgIndata.Cells[j,i]:=FloattoStr(k);

end;

ReadLn(f);

end;

CloseFile(f);

end;

procedure TForm1.bbFindClick(Sender: TObject);

Var a :matrix;

i,j :integer;

begin

try

SetLength(a,sgInData.ColCount,sgInData.RowCount);

for i:=0 to sgInData.RowCount-1 do

for j:=0 to sgInData.RowCount-1 do a[i,j]:=StrToFloat(sgInData.Cells[j,i]);

except

begin

a:=nil;

ShowMessage('STOP! Неправильный ввод, проверьте входные данные');

Exit;

end;

end;

OutData.Clear;

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

OutData.Lines.Add(FindDet(a));

a:=nil;

end;

procedure TForm1.Multiple(a, b: Matrix; var rez: Matrix);

var i,k,j : word;

Begin

for i:=0 to Length(a[1])-1 do

for k:=0 to Length(a[1])-1 do

begin

// Обновление занятых матриц

rez[i,k]:=0;

for j:=0 to Length(a[1])-1 do rez[i,k]:=rez[i,k]+a[i,j]*b[j,k];

end;

end;

function TForm1.Remove(var rez: Matrix; i: integer): boolean;

Var j,k : integer;

E,bac : Matrix;

begin

Result:=false;

for k:=0 to i-1 do // Ищем ненулевой элемент слева

if rez[i+1,k]<>0 then

begin

Result:=true;

Break;

end;

if not Result then Exit;

SetLength(E,Length(rez[1]),Length(rez[1]));

SetLength(bac,Length(rez[1]),Length(rez[1]));

for j:=0 to Length(rez[1])-1 do E[j,j]:=1;

for j:=0 to Length(rez[1])-1 do

begin

// Меняем две строки местами в матрице E

E[i,j]:=-E[i,j]-E[k,j];

E[k,j]:=-E[i,j]-E[k,j];

E[i,j]:=-E[i,j]-E[k,j];

end;

Multiple(rez,E,bac); // A*M

Multiple(E,bac,rez); // M^(-1)*(A*M)

E:=nil;

bac:=nil;

end;

procedure TForm1.Zero(var a: Matrix);

Var i,j: integer;

begin

for i:=0 to Length(a)-1 do

for j:=0 to Length(a[0])-1 do a[i,j]:=0;

end;

end.

Приложение Б

Результаты работы программы с теми же входными данными:

Рис 1.

Приложение Б

(продолжение)

Результаты работы программы с теми же входными данными:

Рис 2.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

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

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно