Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

多項式回帰アルゴリズムを計算するCプログラム


回帰は、従属変数と非従属変数の関係を調査する予測モデリング手法です。

多項式回帰

これは、独立変数xと従属変数yの関係を示す回帰分析の形式であり、xのn次多項式でモデル化されます。

以下は、多項式回帰アルゴリズムを計算するためのCプログラムです。 −

#include<math.h>
#include<stdio.h>
#include<conio.h>
main(){
   int i,j,k,m,n;
   float x[20],y[20],u,a[10],c[20][20],power,r;
   printf("enter m,n:");
   scanf("%d%d",&m,&n);
   for(i=1;i<=n;i++){
      printf("enter values of x and y");
      scanf("%f%f",&x[i],&y[i]);
   }
   for(j=1;j<=m+1;j++)
   for(k=1;k<=m+1;k++){
      c[j][k]=0;
      for(i=1;i<=n;i++){
         power=pow(x[i],j+k-2);
         c[j][k]=c[j][k]+power;
      }
   }
   for(j=1;j<=m+1;j++){
      c[j][m+2]=0;
      for(i=1;i<=n;i++){
         r=pow(x[i],j-1);
         c[j][m+2]=c[j][m+2]+y[i]*r;
      }
   }
   for(i=1;i<=m+1;i++){
      for(j=1;j<=m+2;j++){
         printf("%.2f\t",c[i][j]);
      }
      printf("\n");
   }
   for(k=1;k<=m+1;k++)
      for(i=1;i<=m+1;i++){
         if(i!=k){
            u=c[i][k]/c[k][k];
            for(j=k;j<=m+2;j++){
               c[i][j]=c[i][j]-u*c[k][j];
         }
      }
   }
   for(i=1;i<=m+1;i++){
      a[i]=c[i][m+2]/c[i][i];
      printf("a[%d]=%f\n",i,a[i]);
   }
   getch();
}

出力

上記のプログラムを実行すると、次の結果が得られます-

enter m,n:4 5
enter values of x and y1 1
enter values of x and y2 3
enter values of x and y1 2
enter values of x and y1 2
enter values of x and y1 1
5.00  6.00  8.00  12.00  20.00  9.00
6.00  8.00  12.00 20.00  36.00  12.00
8.00  12.00 20.00 36.00  68.00  18.00
12.00 20.00 36.00 68.00  132.00 30.00
20.00 36.00 68.00 132.00 260.00 54.00
a[1]=1.750000
a[2]=-2.375000
a[3]=2.000000
a[4]=0.500000
a[5]=-0.375000

  1. 等比数列を計算するCプログラム

    問題 xとnの2つの数値を読み取り、等比数列の合計を計算するプログラムを作成します。 1+x+x2+x3+x4+……….+xn 次に、x、nと合計を出力します。 解決策 Cプログラミング言語で等比数列を計算するためのソリューションを以下に示します- アルゴリズム 等比数列を計算するアルゴリズムを参照してください。 ステップ1-開始 ステップ2-繰り返し ステップ3-実行時にxとnの値を読み取る 0の場合 ステップ4.1:i=0からnまで ステップ4.1.1:合計=合計+ pow(x、i) ステップ4.1.2:i =i + 1 ス

  2. Cプログラムで十角形の周囲長を計算するプログラム

    デカゴンとは何ですか? サイドで与えられたタスクは、十角形の周囲長を計算することです。十角形は10辺のポリゴンの一種であるため、10角形ポリゴンとも呼ばれます。 10個の頂点とエッジがあります。正十角形の辺の長さは等しく、内角はそれぞれ144度です。 以下はデカゴンの図です 円錐台の体積と表面積を計算するには、次の式があります Perimeter = 10 * Side 例 Input-: side=10 Output-: perimeter of Decagon is : 100 Input -: side = 20 Output -: perimeter of Decagon