Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
0.01.09 Мишура Денис, гр. 1ПМ-06
Вариант 11
Лабораторна робота №18
Тема: Метод Крилова побудови власного багаточлена матриці.
Мета: Навчитися знаходити власний багаточлен матриці методом Крилова.
Устаткування: лист формату А4, ручка, програмне забезпечення Borland C++.
Знайти власний багаточлен матриці А по методу Крилова, використовуючи метод Гаусса.
№11 |
Текст програми:
#include <iostream.h>
void main()
{
int k,l,j;
double a[3][3],b[3][3],y0[3],y1[3],y2[3],y3[3],y4[3],yn1,yn2,yn3,yn4,Sum1,Sum2,Sum3,Sum4;
double x1,x2,x3,x4,d0,d1,d2,d3,a10,a20,a30,a21,a31,a32;
cout<<"Vvedite matritsy A"<<endl;
for(k=0;k<=3;k++)
{
for(l=0;l<=3;l++)
cin>>b[k][l];
}
cout<<"Vvedite nylevou vektor"<<endl;
for(k=0;k<=3;k++)
cin>>y0[k];
for(k=0;k<=3;k++)
{
for(l=0;l<=3;l++)
{
yn1=b[k][l]*y0[l];
Sum1=Sum1+yn1;
}
y1[k]=Sum1;
}
for(k=0;k<=3;k++)
{
for(l=0;l<=3;l++)
{
yn2=b[k][l]*y1[l];
Sum2=Sum2+yn2;
}
y2[k]=Sum2;
}
for(k=0;k<=3;k++)
{
for(l=0;l<=3;l++)
{
yn3=b[k][l]*y2[l];
Sum3=Sum3+yn3;
}
y3[k]=Sum3;
}
for(k=0;k<=3;k++)
{
for(l=0;l<=3;l++)
{
yn4=b[k][l]*y3[l];
Sum4=Sum4+yn4;
}
y4[k]=Sum4;
}
cout<<"Koordinati vektora y1:"<<endl;
for(k=0;k<=3;k++)
cout<<" "<<y1[k];
cout<<endl;
cout<<"Koordinati vektora y2:"<<endl;
for(k=0;k<=3;k++)
cout<<" "<<y2[k];
cout<<endl;
cout<<"Koordinati vektora y3:"<<endl;
for(k=0;k<=3;k++)
cout<<" "<<y3[k];
cout<<endl;
cout<<"Koordinati vektora y4:"<<endl;
for(k=0;k<=3;k++)
cout<<" "<<y4[k];
a[0][0]=y3[0];a[0][1]=y2[0];a[0][2]=y1[0];a[0][3]=y0[0];a[0][4]=-y4[0];
a[1][0]=y3[1];a[1][1]=y2[1];a[1][2]=y1[1];a[1][3]=y0[1];a[1][4]=-y4[1];
a[2][0]=y3[2];a[2][1]=y2[2];a[2][2]=y1[2];a[2][3]=y0[2];a[2][4]=-y4[2];
a[3][0]=y3[3];a[3][1]=y2[3];a[3][2]=y1[3];a[3][3]=y0[3];a[3][4]=-y4[3];
d0=a[0][0];
if(d0==0)cout<<"Metod Gayssa ne premenim"<<endl;return;
for(j=0;j<5;j++)
{a[0][j]=a[0][j]/d0;
}
a10=a[1][0];
a20=a[2][0];
a30=a[3][0];
for(j=0;j<5;j++)
{a[1][j]=a[1][j]-a[0][j]*a10;
a[2][j]=a[2][j]-a[0][j]*a20;
a[3][j]=a[3][j]-a[0][j]*a30;
}
d1=a[1][1];
if(d1==0)cout<<"Metod Gayssa ne premenim"<<endl;return;
for(j=0;j<5;j++)
{a[1][j]=a[1][j]/d1;
}
a21=a[2][1];
a31=a[3][1];
for(j=0;j<5;j++)
{a[2][j]=a[2][j]-a[1][j]*a21;
a[3][j]=a[3][j]-a[1][j]*a31;
}
d2=a[2][2];
if(d2==0)cout<<"Metod Gayssa ne premenim"<<endl;return;
for(j=0;j<5;j++)
{a[2][j]=a[2][j]/d2;
}
a32=a[3][2];
for(j=0;j<5;j++)
{a[3][j]=a[3][j]-a[2][j]*a32;
}
d3=a[3][3];
if(d3==0)cout<<"Metod Gayssa ne premenim"<<endl;return;
for(j=0;j<5;j++)
{a[3][j]=a[3][j]/d3;
}
x4=a[3][4];
x3=a[2][4]-a[2][3]*x4;
x2=a[1][4]-a[1][2]*x3-a[1][3]*x4;
x1=a[0][4]-a[0][1]*x2-a[0][2]*x3-a[0][3]*x4;
cout<<"p1="<<x1;
cout<<"p2="<<x2;
cout<<"p3="<<x3;
cout<<"p4="<<x4;
}
PAGE 4