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;}

Відповідь:

Приклад:

Відповідь:

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


 

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

78559. Вогонь: друг чи ворог? 125.5 KB
  Мета: привчати учнів обережно і цивілізовано відноситися до вогню, нагадати про причини виникнення пожеж та правила безпечної поведінки в разі виникнення пожежі; покращити обізнаність учнів із зовнішнім виглядом та інформаційним навантаженням деяких попереджувальних знаків та знаків заборони.
78560. Практикум по формированию поликультурной компетентности 85 KB
  Цель: оказывать содействие установлению контакта между участниками группы и настрой на работу в группе. Цель: наглядно продемонстрировать участникам тренинга уровень взаимодоверия склонности к территоризму в группе. Когда все звезды готовы группе предлагается разместить все звезды на небосклоне.
78561. Правознавчий брейн-ринг «Я знаю свої права» 5.45 MB
  Мета: формувати зацікавленість учнів у вивченні Конвенції ООН про права дитини; вміння використовувати свої знання на практиці; виховувати в учнів почуття патріотизму, свідомої громадської позиції.
78562. Права дитини 48.5 KB
  Ознайомити учнів з правами дітей, розкрити поняття «Декларація», «Конвенція». Дати уявлення про моральні норми поведінки. Виховувати пошану до законів суспільства, шанобливе ставлення до оточуючих.
78563. Права дитини. Право дитини на здоров’я в сім’ї і суспільстві 73.5 KB
  Мета: «Продовжувати формувати уявлення про права дитини. Ознайомити учнів з поняттям «право», «Конституція», «Декларація», «Конвенція». Акцентувати увагу на правах дитини, які порушуються в родині, у школі. Розвивати увагу, старанність.
78564. Я – дитина. Я теж маю права! 7.14 MB
  Мета: сформувати в учнів уявлення про те що школа це осередок розвитку громади в якій діти можуть відчути свою значущість взявши участь у розробці та реалізації правових та соціальних проектів; сформувати уявлення про права і свободи громадян...
78565. Правила життя в суспільстві 39 KB
  Мета. Ознайомити учнів із правилами життя в суспільстві, підвищувати рівень правової освіти учнів; розвивати вміння аналізувати, узагальнювати; виховувати повагу до людини, її прав, доброзичливість, миролюбність.
78566. Правила для учнів 128.5 KB
  Обговорення відомих правил для учнів Заходить вчитель треба встать Коли тобі дозволять сядь Сказати хочеш не гукай А тільки руку піднімай. Сьогодні ми продовжимо складати нові правила для учнів запамятовувати їх і виконувати. Друге правило для учнів Вчасно йди завжди до школи Та не спізнюйся ніколи.
78567. Вчимо правила безпечної поведінки, граючи 94.5 KB
  Мета: Навчити учнів дотримуватися правил безпечного переходу вулиць і доріг повторити правила дорожнього руху розглянути причини ДТП вчити запобігати їх виникнення. Я допомагаю машинам і пішоходам виконувати правила дорожнього руху.