📄 2 qr.c
字号:
#include "stdio.h"
#include "math.h"
main()
{ double a[6][6]={0},a1[6][6],a2[6][6]={0},q[6][6]={0},r[6][6]={0},p[6][6]={0},u[6]={0};
double p1[6][6]={0};
double t=0,f2=0,f=1,q1;
int i=0,j=0,k=0,h=0,m,n;
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{if(i==j+1) {a[i][j]=1;a2[i][j]=1;}
else if(i==j-1) {a[i][j]=5-i;a2[i][j]=5-i;}
}
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{if(i==j) p1[i][j]=1;}
}
for(k=0;k<5;k++)
{for(i=k;i<6;i++)
{
f2+=a[i][k]*a[i][k];
}
f2=pow(f2,0.5);
if(a[k][k]<0) t=-f2;
else t=f2;
f=2*f2*(f2+fabs(a[k][k]));
u[k]=a[k][k]+t;
for(i=k+1;i<6;i++)
u[i]=a[i][k];
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{if(i==j) p[i][j]=1-2*u[i]*u[j]/f;
else p[i][j]=-2*u[i]*u[j]/f;
}
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{for(h=0;h<6;h++)
{q[i][j]+=p[i][h]*p1[h][j];}
}
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
p1[i][j]=q[i][j];
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{for(h=0;h<6;h++)
{a1[i][j]+=p[i][h]*a[h][j];}
}
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
a[i][j]=a1[i][j];
}
f2=0;f=0;
for(i=0;i<6;i++)
{u[i]=0;
for(j=0;j<6;j++)
{q[i][j]=0;
a1[i][j]=0;
}
}
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
q[i][j]=p1[i][j];
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{for(h=0;h<6;h++)
{r[i][j]+=p1[i][h]*a2[h][j];}
}
}
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{q1=q[i][j];
q[i][j]=q[j][i];
q[j][i]=q1;
}
}
printf("Q\n");
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
printf("%f ",q[i][j]);
printf("\n");
}getchar();
printf("R\n");
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
printf("%f ",r[i][j]);
printf("\n");
}getchar();
printf("eigenvalues\n");
for(i=0;i<6;i++)
{printf("%f ",r[i][i]);
printf("\n");
}getchar();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -