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

📄 refnew_simple.c

📁 用C语言编的一个求任意矩阵行间相关系数的程序
💻 C
字号:
#include <stdlib.h>
#include <math.h> 
#include <stdio.h> 
#define M 10
#define N 100
main()
{
int end;
printf("This small software is used to calculate \nthe related coefficient of two lines in an array!\n\n");
 do
 {
  int i,j,k,m,n;
  float Num[M][N]={0};
  float SumX[M]={0};
  float SumX2[M]={0};
  float SumXY[M-1][M-1]={0};
  float r[M-1][M-1]={0};
  float DX[M]={0};
  float DX_Y[M-1][M-1]={0};
  float SumX_Y[M-1][M-1]={0};  

 printf("\nPlease input the line m and row n to decide size of array:\n");
  printf("m=");
    scanf("%d",&m);
  printf("n=");
    scanf("%d",&n);
  printf("\n");

  printf("Please input the original numbers of array:\n");
  for(i=0;i<m;i++)
     {printf("input the line %d:\n",i+1);
       for(j=0;j<n;j++)
         {scanf("%f",&Num[i][j]);}
      }
     printf("\n\n");

  for(i=0;i<m;i++)
    for(j=0;j<n;j++)
      SumX[i]=SumX[i]+Num[i][j];  /*sum of EX*/


  for(i=0;i<m;i++)
    for(j=0;j<n;j++)
      SumX2[i]=SumX2[i]+Num[i][j]*Num[i][j];  /*sum of EX2*/


  for(i=0;i<m-1;i++)
    for(j=i+1;j<m;j++)
      for(k=0;k<n;k++)
        SumXY[i][j-1]=SumXY[i][j-1]+Num[i][k]*Num[j][k];  /*sum of EXY*/

  for(i=0;i<m-1;i++)
    for(j=i+1;j<m;j++)
      SumX_Y[i][j-1]=SumX[i]*SumX[j];  /*sum of EX*EY*/

  for(i=0;i<m;i++)
      DX[i]=sqrt(n*SumX2[i]-SumX[i]*SumX[i]);  /*calculate the D(X)*D(Y) */
   for(i=0;i<m-1;i++)
     for(j=i+1;j<m;j++)
      DX_Y[i][j-1]=DX[i]*DX[j];


   for(i=0;i<m-1;i++)
     for(j=0;j<m-1;j++)
       if(DX_Y[i][j]!=0)
         r[i][j]=(n*SumXY[i][j]-SumX_Y[i][j])/DX_Y[i][j];
       else  r[i][j]=0;
  printf("Output of the related coefficients:\n");
   for(i=0;i<m-1;i++)
     for(j=0;j<m-1;j++)
        if(r[i][j]!=0)
          printf("the related coefficient of line %d and line %d is %f.\n",i+1,j+2,r[i][j]);
   printf("\nWould you like to try again?(Y/N):");
   end=getch();
   printf("\n");
 }while(end=='y'||end=='Y');
}

⌨️ 快捷键说明

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