50936

Знаходження власних чисел і векторів матриці по методу Крилова

Лабораторная работа

Информатика, кибернетика и программирование

Мета: навчитися знаходити власні числа і вектори матриці по методу Крилова. Устаткування: лист формату А4, ручка, С ++. Хід роботи Правила техніки безпеки Теоретичні дані Індивідуальне завдання. Знайти одне з власних чисел і відповідний йому власний вектор матриці А по методу Крилова (використати результати лабороторної роботи № 18).

Украинкский

2014-02-02

60.5 KB

2 чел.

М   Вариант 13    Остапова А.А.

Лабораторна робота №19

Тема. Знаходження власних чисел і векторів матриці по методу Крилова.

Мета: навчитися знаходити власні числа і вектори матриці по методу Крилова.

Устаткування: лист формату А4, ручка, С ++.

Хід роботи

  1.  Правила техніки безпеки
  2.  Теоретичні дані
  3.  Індивідуальне завдання.

Знайти одне з власних чисел і відповідний йому власний вектор матриці А по методу Крилова (використати результати лабороторної роботи № 18).

Из Лабораторной робота №18 получили:

#include <iostream.h>

#include <math.h>

double  f (double x,double*Y,int m)

{int i;

double S;

for(i=0;i<m;i++)S+=pow(x,i)*Y[m-1-i];

return S+pow(x,m);}

double f2 (double x,double*Y,int m)

{int i;

double S;

for(i=1;i<m;i++)S+=i*pow(x,i-1)*Y[m-1-i];

return S+m*pow(x,m-1);}

void main()

{cout<<"=======================================\n";

int n,i,j,k,p,N;

double q,l,a,b,xs,xm,xn,xm1,xn1,eps=0.01;

cout<<"ВВЕДИТЕ РАЗМЕР: ";cin>>n;

cout<<"----------------------------------------\n";

cout<<"ВВЕДИТЕ МАТРИЦУ: \n";

double **A1=new double*[n]; 

for(i=0;i<n;i++){

A1[i]=new double [n];

for(j=0;j<n;j++){

cin>>A1[i][j];}}

double **A=new double*[n];

for(i=0;i<n;i++)A[i]=new double [n+1];

double **A2=new double*[n];

for(i=0;i<n;i++)A2[i]=new double [n+1];

double  *Y=new double [n];

N=1;

if(N){

cout<<"\nВВЕДИТЕ ПРОИЗВОЛЬНЫЙ НЕНУЛЕВОЙ ВЕКТОР: \n";

for(i=0;i<n;i++)cin>>Y[i];

cout<<"----------------------------------------\n";

for(k=0;k<=n;k++){

for(j=0;j<n;j++){

for(i=0;i<n;i++)l+=Y[i]*A1[i][j];

if(k!=n)A[j][n-k-1]=l;

if(k==n)A[j][k]=l*(-1);

l=0;}

for(p=0;p<n;p++)Y[p]=A[p][n-k-1];}

int m=n;n=m+1;

for(i=0;i<n-1;i++){

for(j=0;j<n;j++){

A2[i][j]=A[i][j];}}

for(i=0;i<m;i++){

if(A[i][i]==0){cout<<"\nМЕТОД ГАУССА НЕПРИМЕНИМ. ВВЕДИТЕ ДРУГОЙ ПРОИЗВОЛЬНЫЙ НЕНУЛЕВОЙ ВЕКТОР.\n";break;}

for(j=n-1;j>=i;j--){

A[i][j]/=A[i][i];}

for(k=i+1;k<m;k++){

l=A[k][i];

for(p=i;p<n;p++){

A[k][p]-=l*A[i][p];}}}

for(i=m-1;i>=0;i--){

Y[i]=A[i][n-1];

for(j=n-2;j>i;j--){

Y[i]-=A[i][j]*Y[j];}}

N=0;}

if(N==0){

cout<<"\nОТВЕТ: \n";

cout<<"Л^"<<n-1;

for(i=0;i<n-1;i++){

if(Y[i]>=0)cout<<"+";

cout<<Y[i];

if(n-i-2>1)cout<<"*Л^"<<n-i-2;

if(n-i-2==1)cout<<"*Л";}cout<<"=0";

cout<<"\nЛ принадлежит отрезку ";cin>>a>>b;

 if ((f(a,Y,n-1)*f2(a,Y,n-1)) < 0) {xm=a; xs=xm1=b;}

else {xm=b; xs=xm1=a;}

xn=xn1=xm;

do{ xm=xn;xm1=xn1;

xn=xm-(f(xm,Y,n-1)*(xs-xm)/(f(xs,Y,n-1)-f(xm,Y,n-1)));

xn1=xm1-(f(xm1,Y,n-1)/f2(xm1,Y,n-1));}

while (fabs(xn-xn1)>eps);

cout<<"Л="<<xn<<endl;

double*X=new double [n-1];

for(i=0;i<n-1;i++){

q=1;

X[i]=A2[0][i];

for(j=1;j<n-1;j++){

q=xn*q+Y[j];

X[i]+=q*A2[j][i];}

if((n-1)/2-i==1)cout<<"\nX= "<<X[i];

else cout<<"\n "<<X[i];}}

cout<<endl;

delete []Y;

delete []A;

delete []A1;

delete []A2;

cout<<"\n=======================================\n";}

  1.  Контрольні питання
  •  Дайте визначення власних чисел і векторів матриці.
  •  Сформулюйте задачу знаходження власних чисел і векторів матриці по методу Крилова.
  •  Які допоміжні методи використовуються в методі Крилова при знаходженні власних чисел матриці?
  •  За якими формулами знаходиться  власний вектор?



 

А также другие работы, которые могут Вас заинтересовать

11745. Автоматизированное тестирование 311.5 KB
  Лабораторная работа № 7. Автоматизированное тестирование. Цель: закрепить учебные навыки по автоматизированному тестированию. Ход работы 1. procedure TForm1.Button1ClickSender: TObject; VAR a: array [1..3] of real; zssum:real; ixns1:integer; begin n:=STRTOINTedit1.Text; x:=1; z:=0; s1:=10; For i:= 1 to 3 do begin ...
11746. Использование методов защиты информации в программах 99 KB
  ЛАБОРАТОРНАЯ РАБОТА № 8. Использование методов защиты информации в программах. Цель работы: освоить на практике методы защиты информации. Ход работы 1. Написать программу которая с использованием криптосистемы RSA шифрут сообщение: Истоpия кpиптогpафии pовесница
11747. Работа в составе бригады 42 KB
  Лабораторная работа №10. Работа в составе бригады. Цель: научиться коллективно обрабатывать разрабатывать отлаживать программные продукты. Ход работы Разработать программу выполняющую вычислительные действия над комплексными числами . var Form1: TForm1; ...
11748. Научиться пользоваться системой отладки 14.07 KB
  Лабораторная работа № 7. Автоматизированное тестирование. Цель: научиться пользоваться системой отладки. Выполнил: Романов П.Н. Группа: 091ПО Преподаватель: Кашталинская И.А. Дата: 30.11.12 Ход работы: Задание № 1. Составить программу вычислени
11749. Работа с БД. Создание сложных запросов 1.04 MB
  Лабораторная работа №4 Тема: Работа с БД. Создание сложных запросов Теоретический материал Современные информационные системы основанные на концепции интеграции данных характеризуются огромными объемами хранимых данных сложной организацией необходимостью у
11750. СИНТЕЗ І АНАЛІЗ ОПЕРАЦІЙНОГО ПІДСИЛЮВАЧА З КОРЕКТУЮЧИМ ЗВОРОТНІМ ЗВ’ЯЗКОМ 366.29 KB
  ЛАБОРАТОРНА РОБОТА № 1CУ СИНТЕЗ І АНАЛІЗ ОПЕРАЦІЙНОГО ПІДСИЛЮВАЧА З КОРЕКТУЮЧИМ ЗВОРОТНІМ ЗВ’ЯЗКОМ Цель работы: исследование процедур синтеза операционного усилителя оу с корректирующей обратной связью и анализа его характеристик методами теории автоматич...
11751. КОМБІНОВАНЕ РЕГУЛЮВАННЯ ЛІНІЙНИМ ОБ’ЄКТОМ 411.96 KB
  ЛАБОРАТОРНА РОБОТА № 2CУ КОМБІНОВАНЕ РЕГУЛЮВАННЯ ЛІНІЙНИМ ОБ’ЄКТОМ Цель работы: исследование качества регулирования комбинированной системой автоматического регулирования САР линейным объектом. Рис.1 Имитационная модель системы автоматического регули
11752. ПІД-РЕГУЛЮВАННЯ НЕЛІНІЙНИМ ОБ’ЄКТОМ 83.9 KB
  В данной лабораторной работе был рассмотрен пропорциональный интегрально-дифференциальный регулятор. При моделировании ПИД регулятора было установлено, что заданные по варианту параметры регулятора приводят к ухудшению переходной характеристики объекта регулирования.
11753. НЕЧІТКЕ РЕГУЛЮВАННЯ РІВНЯ ВОДИ У ТАНКУ 81.32 KB
  ЛАБОРАТОРНА РОБОТА № 5CУ НЕЧІТКЕ РЕГУЛЮВАННЯ РІВНЯ ВОДИ У ТАНКУ Цель работы: исследование эффективности использования нечеткого регулятора в системе управления линейным объектом. Рис.1 Уровень жидкости в цистерне при синусоидальном управлении при задан