50934

Метод Крилова побудови власного багаточлена матриці

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

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

Мета. Навчитися знаходити власний багаточлен матриці методом Крилова. Устаткування: лист формату А4, ручка, програмне забезпечення Borland C++

Украинкский

2014-02-02

61.5 KB

2 чел.

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

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

Тема. Метод Крилова побудови власного багаточлена матриці.

Мета. Навчитися знаходити власний багаточлен матриці методом Крилова.

Устаткування: лист формату А4, ручка, програмне забезпечення Borland C++

Хід роботи

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

Знайти власний багаточлен матриці А по методу Крилова, використовуючи метод Гаусса.

№13

//поиск новой матрицы

#include<iostream.h>

#include<math.h>

void main()

{int i,j,k;

double s;

double **a=new double*[4];

for(i=0;i<4;i++)

a[i]=new double [4];

double **y=new double*[5];

for(i=0;i<5;i++)

y[i]=new double [4];

cout<<"Input Arry \n";

for(i=0;i<4;i++)

for(j=0;j<4;j++)

cin>>a[i][j];

cout<<"Input y[0] \n";

for(j=0;j<4;j++)

cin>>y[0][j];

for(k=0;k<4;k++)

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

{s=0.0;

for(j=0;j<4;j++)

 {s=s+a[i][j]*y[k][j];

 }

y[k+1][i]=s;

 }

}

for(j=0;j<4;j++)

{cout<<"\n";

for(i=4;i>=0;i--)

cout<<"  "<<y[i][j];

}

delete[]y;

delete[]a;

}

//Поиск коэф.

#include<iostream.h>

#include<math.h>

void main()

{int i,j;

double x[4];

double a[4][5][4];

double b[4][5][4];

cout<<"Input Arrey \n";

for(i=0;i<4;i++)

for(j=0;j<5;j++)

cin>>a[i][j][0];

for(j=0;j<5;j++)

{b[0][j][0]=a[0][j][0]/a[0][0][0];

}

for(i=1;i<4;i++)

for(j=1;j<5;j++)

 {a[i][j][1]=a[i][j][0]-a[i][0][0]*b[0][j][0];}

for(j=1;j<5;j++)

{b[1][j][1]=a[1][j][1]/a[1][1][1];

}

for(i=2;i<4;i++)

for(j=2;j<5;j++)

 {a[i][j][2]=a[i][j][1]-a[i][1][1]*b[1][j][1];}

for(j=2;j<5;j++)

{b[2][j][2]=a[2][j][2]/a[2][2][2];

}

for(i=3;i<4;i++)

for(j=3;j<5;j++)

 {a[i][j][3]=a[i][j][2]-a[i][2][2]*b[2][j][2];}

for(j=3;j<5;j++)

{b[3][j][3]=a[3][j][3]/a[3][3][3];

}

x[3]=b[3][4][3];

x[2]=b[2][4][2]-b[2][3][2]*x[3];

x[1]=b[1][4][1]-b[1][2][1]*x[2]-b[1][3][1]*x[3];

x[0]=b[0][4][0]-b[0][1][0]*x[1]-b[0][2][0]*x[2]-b[0][3][0]*x[3];

cout<<"\n Result:";

for(i=0;i<4;i++){cout<<x[i]<<",";}

}

Собственный многочлен матрицы

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