Advertisement
tampurus

Unit 2.4 Non linear curve fitting Geometry curve y = a * x^b

Jun 7th, 2022 (edited)
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.20 KB | None | 0 0
  1. // Alogorithm  y = a * x^b
  2. start
  3. Read number of data(n)
  4. for i=1 to n:
  5.     1. read xi and yi
  6.     2. Next I
  7. Initializ
  8.     1. sumx=0
  9.     2. sumx2 = 0
  10.     3. sumy = 0
  11.     4. sum xy =0
  12.    
  13. calculate required sum
  14. for i =1 to n:
  15.     1. sumx= sumx + log(xi)
  16.     2. sumx2 = sumx2 + log(xi)*log(xi)
  17.     3. sumy = sumy + log(yi)
  18.     4. sum xy =sumxy + log(xi) * log(yi)
  19.  
  20. Next i
  21. calculate required constant A and b of Y = A + bx
  22. b = (n*sumxy - sumx * sumy)/(n*sumx2 - sumx * sumx)
  23. A = (sumy - b*sumx)/n
  24.  
  25. display the value of and b
  26. stop
  27.  
  28. //program mam wala
  29. #include <stdio.h>
  30. #include<math.h>
  31. #include<conio.h>
  32. void main()
  33. {
  34.     int i,n;
  35.     float A,B,a,b,x[10],y[10],sumx=0,sumy=0,sumx2=0,sumxy=0;
  36.     printf("Enter the value of n\n");
  37.     scanf("%d",&n);
  38.     printf("Enter the value of x and y\n");
  39.     for(i=1 ; i<=n ; i++){
  40.     scanf("%f",&x[i]);
  41.     }
  42.     for(i=1 ; i<=n ; i++){
  43.     scanf("%f",&y[i]);
  44.     }
  45.     for(i=1 ; i<=n ; i++){
  46.     sumx = sumx + x[i];
  47.     sumx2 = sumx2 + (x[i]*x[i]);
  48.     sumy = sumy + log(y[i]);
  49.     sumxy = sumxy + (x[i] * log(y[i]));
  50.     }
  51.  
  52.      printf("\nsumx = %f , sumx2 = %f , sumy = %f , sumxy = %f",sumx,sumx2,sumy,sumxy);
  53.      B =  ((n*sumxy) - (sumx * sumy))/((n*sumx2) - (sumx * sumx));
  54.      A = (sumy - (B*sumx))/n;
  55.  // a=exp(A);
  56.    a = exp(A);
  57.    b = exp(B);
  58.     printf("\n y= %.2f*x^%.2f",a,b);
  59.     getch();
  60. }
  61. // program
  62. #include <stdio.h>
  63. #include<math.h>
  64. int main()
  65. {
  66.     int n;
  67.     float a,x[10],y[10],sumx=0,sumy=0,sumx2=0,sumxy=0;
  68.     printf("Enter the value of n\n");
  69.     scanf("%d",&n);
  70.     printf("Enter the value of x and y\n");
  71.     for(int i=1 ; i<=n ; i++){
  72.         scanf("%f",&x[i]);
  73.     }
  74.     for(int i=1 ; i<=n ; i++){
  75.         scanf("%f",&y[i]);
  76.     }
  77.     for(int i=1 ; i<=n ; i++){
  78.         sumx = sumx + log(x[i]);
  79.         sumx2 = sumx2 + (log(x[i])*log(x[i]));
  80.         sumy = sumy + log(y[i]);
  81.         sumxy = sumxy + (log(x[i]) * log(y[i]) );
  82.     }
  83.    
  84.     // printf("\nsumx = %f , sumx2 = %f , sumy = %f , sumxy = %f",sumx,sumx2,sumy,sumxy);
  85.     float b =  ((n*sumxy) - (sumx * sumy))/((n*sumx2) - (sumx * sumx));
  86.     float A = (sumy - (b*sumx))/n;
  87.    
  88.     a = exp(A);
  89.     printf("\n y= %.2fx + %.2f",a,b);
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement