⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main1.cpp

📁 用QR法求矩阵全部特征值,qr算法是幕法的推广和变形
💻 CPP
字号:
#include <stdio.h>
#include <malloc.h>
#define num 100
void inarry(float x[], int *n);
void findr(float x[],int n,float r[]);
void outx(float x[],int n);
void main()
{
 r:   float *x;
   
   int n, m;
   x=(float*)calloc(n*n,4);
   float f;
   float eps=0.001;
   int i,j,k;
   inarry(x, &n);
   float *r0;
   r0=(float*)calloc(n,4);
  
   printf("是否用QR法求全部特征值?输入1,是;输入0,不是 \n");
      scanf("%d",&m);
   if(m==1)
   findr(x,n,r0);
   outx(r0,n);
for(k=0;k<n;k++)
 {
 for(i=0;i<n;i++)
  {for(j=0;j<n;j++)
   {
    if(i==j)
    x[i*4+j]=x[i*4+j]-r0[k];
    else
    x[i*4+j]=x[i*4+j];
   }
  }
 
 f=x[0]*x[5]*x[10]*x[15]+x[1]*x[6]*x[11]*x[12]+x[2]*x[7]*x[8]*x[13]+x[3]*x[4]*x[9]*x[14]-x[3]*x[6]*x[9]*x[12]-x[2]*x[5]*x[8]*x[15]-x[1]*x[4]*x[11]*x[14]-x[0]*x[7]*x[10]*x[13];
 printf("验证求的的R是否为真解%f\n",f);
 if(f<eps)
 printf("true");
 else 
 printf("false");
 

} 
   for(i=0;i<16;i++)
   printf("%d\n",x[i]);
   printf("是否继续?输入1,是;输入0,不是 \n");
      scanf("%d",&m);
   if(m==1)
    goto r;
  }


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -