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

Відповідь:

Приклад:

Відповідь:

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


 

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

786. Створення програмного комплексу для автоматичного аудиту розрахункової техніки комп’ютерної мережі підприємства 411.5 KB
  Впровадження локальних мереж. Індустрія глобальних мереж. Класифікація засобів моніторингу і аналізу. Розподіл використовуваних мережевих протоколів. Основні генератори широкомовного трафіку (Top Broadcasters). Протокол SNMP.
787. Составление графиков погашение долга 254.5 KB
  Используя средства Microsoft Excel, научиться составлять графики погашения долга и оценивать привлекательность условий кредитования для заемщика. На основе информации коммерческих банков об условиях кредитования составить графики погашения долга различными способами.
788. Использование Windows Forms и шаблонов классов 217.5 KB
  Разработать в MS Visual Studio программное решение на языке C#, которое реализует для контейнера типа линейный односвязный список оконный пользовательский интерфейс. Использовать методы визуального программирования и классы библиотеки Windows Forms.
789. Исследование асинхронного двигателя с фазным ротором 282.5 KB
  Получение практических навыков по эксплуатации, опытному и расчетному методам определения рабочих и механических характеристик асинхронного двигателя с фазным ротором, а также по оценке его эксплуатационных свойств.
790. Информационная и методическая база финансового менеджмента 207.5 KB
  Информационное обеспечение финансового менеджмента. Методическая база финансового менеджмента. Содержание системы информационного обеспечения финансового менеджмента, ее широта и глубина.
791. Машиностроительный комплекс России 247.5 KB
  Структура машиностроения и его основные особенности в РФ. Особенности размещения машиностроения в РФ. Современное состояние машиностроения РФ и перспективы развития. Место РФ в мировом производстве машиностроения.
792. Численное решение задачи Коши 522.5 KB
  Приближенное численное решение задачи Коши для обыкновенного дифференциального уравнения первого порядка. Решение осуществлено как с помощью встроенных функций пакета MATHCAD, так и с помощью пользовательских функций.
793. Обработка одномерных массивов 201 KB
  Типовые алгоритмы обработки одномерных массивов. Вычисление суммы и произведения элементов, находящихся на разных местах в массиве. Вычисление суммы, произведения и количества элементов, удовлетворяющих заданному условию и находящихся на разных местах в массиве.
794. Инфляция и её последствия. Антиинфляционная политика Государства 217.5 KB
  Инфляция как форма проявления макроэкономической нестабильности. Особенности инфляции РФ и антиинфляционная политика государства. Анализ уровня инфляции на 2010-2011 гг. Социально-экономические последствия инфляции.