17083

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

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

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

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

Украинкский

2013-06-29

66 KB

1 чел.

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

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

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

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

Хід роботи

  1.  Правила техніки безпеки

Теоретичні дані

Дана  матриця А=  ,

- характеристичний (власний) багаточлен матриці.

- довільний ненульовий вектор.

, , … ,

Система лінійних рівнянь з невідомими  :

або:

яка вирішується одним з методів рішення системи лінійних рівнянь (Метод Гаусса).

Зауваження: якщо система по методу Гаусса не може бути вирішена, то змінити вектор .

№2

 

Листинг программы

#include<iostream.h>

#include<math.h>

void main()

{int i,j;

double x1,x2,x3,x4;

double a[4][5];

double b[4][5];

double c[4][4];

double *y0=new double [4];

double *y1=new double [4];

double *y2=new double [4];

double *y3=new double [4];

double *y4=new double [4];

cout<<"vvedite matrizhu\n";

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

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

{cin>>c[i][j];}}

y0[0]=1;         y0[1]=0;        y0[2]=0;       y0[3]=0;     y1[0]=0.0;

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

{y1[j]=y0[0]*c[j][0]+y0[1]*c[j][1]+y0[2]*c[j][2]+y0[3]*c[j][3];}

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

{y2[j]=y1[0]*c[j][0]+y1[1]*c[j][1]+y1[2]*c[j][2]+y1[3]*c[j][3];}

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

{y3[j]=y2[0]*c[j][0]+y2[1]*c[j][1]+y2[2]*c[j][2]+y2[3]*c[j][3];}

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

{y4[j]=y3[0]*c[j][0]+y3[1]*c[j][1]+y3[2]*c[j][2]+y3[3]*c[j][3];}

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

{a[i][3]=y0[i];}

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

{a[i][2]=y1[i];}

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

{a[i][1]=y2[i];}

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

{a[i][0]=y3[i];}

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

{a[i][4]=-y4[i];}

if(a[0][0]==0) {cout<<"metod Gaysa ne primenim";

return;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

if(a[1][1]==0) {cout<<"metod Gaysa ne primenim";

return;}

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

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

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

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

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

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

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

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

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

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

if(a[2][2]==0) {cout<<"metod Gaysa ne primenim";

return;}

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

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

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

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

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

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

}

x4=a[3][4]/a[3][3];

x3=b[2][4]-b[2][3]*x4;

x2=b[1][4]-b[1][2]*x3-b[1][3]*x4;

x1=b[0][4]-b[0][1]*x2-b[0][2]*x3-b[0][3]*x4;

cout<<"x1="<<x1<<"\nx2="<<x2<<"\nx3="<<x3<<"\nx4="<<x4;}

Відповідь:

Приклад:

Відповідь:

Висновок: я навчилася знаходити власний багаточлен матриці методом Крилова


 

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

17145. Процес створення структури БД в MS ACCESS. Конструювання таблиць бази даних у середовищі MS ACCESS, їх зв’язування та заповнення даними 1.85 MB
  ЛАБОРАТОРНА РОБОТА №1 Тема: Процес створення структури БД в MS ACCESS. Конструювання таблиць бази даних у середовищі MS ACCESS їх зв’язування та заповнення даними. Мета: Вивчити основні засоби роботи з базами даних в MS ACCESS. Набути практичних навичок створення таблиць бази дан...
17146. Конструювання форм і робота з ними 88.48 KB
  Лекція №19 Тема: Конструювання форм і робота з ними. План Елементи керування формою. Авто форми. Структура форми. Створення форм. З одного боку форми дозволяють користувачам вводити дані в таблиці бази даних без безпосереднього доступу до самих...
17148. Формування запитів у СУБД MS Access 40.2 KB
  Лекція №20 Тема: Формування запитів у СУБД MS Access. План Види запитів. Створення простих запитів за допомогою Майстра. Створення запитів за допомогою Конструктора. Запит на створення таблиці. Запит на модифікацію даних. Перехресний запит.
17150. Конструювання звітів у СУБД MS Access 57.51 KB
  Лекція №21 Тема: Конструювання звітів у СУБД MS Access. План Види звітів. Створення звіту за допомогою Конструктора. Розробка багатабличного звіту в режимі Мастер отчетов. Розробка багатабличного звіту в режимі Конструктор. Для формування вих
17151. Процесори презентацій. Види і типи презентацій. MS Power Point 31.92 KB
  Лекція №22 Тема: Процесори презентацій. Види і типи презентацій. MS Power Point. План Види і типи презентацій. Призначення PowerPoint. Призначення окремих режимів перегляду слайдів. Основні способи створення презентації. Демонстрація презентації. Вид
17152. Основні прийомі роботи в “Maple”. Убудовані і користувальницькі функції. Елементарні обчислення в Maple 50.25 KB
  Лекція №23 Тема: Основні прийомі роботи в €œMaple€. Убудовані і користувальницькі функції. Елементарні обчислення в Maple. План Мови системи Maple 7. Інтерфейс Maple 7. Палітри введення математичних символів. Функції і оператори. Команда спрощення виразу: simplify...
17153. Розв’язання рівнянь, нерівностей і їх систем 63.34 KB
  Лекція №24 Тема: Розв’язання рівнянь нерівностей і їх систем. План Команда solve Maple. Функція RootOf. Використання функції eval. Команда fsolve. Інші команди рішення рівнянь. Рішення нерівностей. Практично жодна задача не обходиться без рішення ...