Guest User

Untitled

a guest
Jan 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #include "../src/nrutil.c"
  5. #include "../src/nrutil.h"
  6. #include "../src/gaussj.c"
  7.  
  8. int main(void)
  9. {
  10.     int i, j, k, n=200;
  11.     float q, q1=0.2, q2=5.0, o;
  12.     float **a, **b, **c, **tmpa, **tmpb;
  13.     a=matrix(1,5,1,5);
  14.     tmpa=matrix(1,5,1,5);
  15.     b=matrix(1,5,1,1);
  16.     tmpb=matrix(1,5,1,1);
  17.     c=matrix(1,5,1,1);
  18.  
  19.  
  20.     FILE *file;
  21.     file=fopen("dane.dat","w");
  22.  
  23.     if(!file)
  24.         printf("\nNie mozna otworzyc pliku!");
  25.  
  26.     for(i=1;i<=n;++i)
  27.     {
  28.         q=q1+((q2-q1)/n*(i-1));
  29.  
  30.         a[1][1]=q*0.002;
  31.         a[1][2]=1;
  32.         a[1][3]=6;
  33.         a[1][4]=9;
  34.         a[1][5]=10;
  35.         a[2][1]=0.002;
  36.         a[2][2]=1;
  37.         a[2][3]=6;
  38.         a[2][4]=9;
  39.         a[2][5]=10;
  40.         a[3][1]=1;
  41.         a[3][2]=6;
  42.         a[3][3]=6;
  43.         a[3][4]=8;
  44.         a[3][5]=6;
  45.         a[4][1]=5;
  46.         a[4][2]=9;
  47.         a[4][3]=10;
  48.         a[4][4]=7;
  49.         a[4][5]=10;
  50.         a[5][1]=3;
  51.         a[5][2]=4;
  52.         a[5][3]=9;
  53.         a[5][4]=7;
  54.         a[5][5]=9;
  55.  
  56.         for(j=1;j<=5;++j)
  57.             for(k=1;k<=5;++k)
  58.                 tmpa[j][k]=a[j][k];
  59.  
  60.         b[1][1]=10;
  61.         b[2][1]=2;
  62.         b[3][1]=9;
  63.         b[4][1]=9;
  64.         b[5][1]=3;
  65.  
  66.         for(j=1;j<=5;++j)
  67.             for(k=1;k<=1;++k)
  68.                 tmpb[j][k]=b[j][k];
  69.  
  70.         gaussj(a,5,b,1);
  71.  
  72.         for(j=1;j<=5;++j)
  73.         {
  74.             c[j][1]=0.0;
  75.             for(k=1;k<=5;++k)
  76.                 c[j][1]+=tmpa[j][k]*b[k][1];
  77.         }
  78.  
  79.         float tmpo=0;
  80.         for(j=1;j<=5;++j)
  81.             tmpo+=pow((c[j][1]-tmpb[j][1]),2);
  82.  
  83.         o=0.2*sqrt(tmpo);
  84.         fprintf(file,"q=%f o=%f\n",q, o);
  85.     }
  86.  
  87.     free_matrix(a,1,5,1,5);
  88.     free_matrix(b,1,5,1,1);
  89.     free_matrix(c,1,5,1,1);
  90.     free_matrix(tmpa,1,5,1,5);
  91.     free_matrix(tmpb,1,5,1,1);
  92.     fclose(file);
  93.  
  94.     return 0;
  95. }
Add Comment
Please, Sign In to add comment