Advertisement
Guest User

Untitled

a guest
Apr 21st, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include "f.h"
  5. void matr_vect(double *a,double *x,double*b,int n)
  6. {
  7. double s,sum=0;
  8. double *p=a;
  9. int i,j;
  10. for(i=0;i<n;i++)
  11. {
  12. s=0;
  13. for(j=0;j<n;j++)
  14. {
  15. s+=p[j]*x[j];
  16. }
  17. b[i]=s;
  18. p+=n;
  19. }
  20. }
  21.  
  22. double s_vect(double *x,double *y,int n)
  23. {
  24. double s=0;
  25. int i;
  26. for(i=0;i<n;i++)
  27. {
  28. s+=x[i]*y[i];
  29. }
  30. return s;
  31. }
  32. void f(double *a,double *x0,double *b,double *x,int n,int m)
  33. {
  34. double s,l,t;
  35. double r[n];
  36. int i,j,k;
  37. for(k=1;k<=m;k++)
  38. {
  39. matr_vect(a,x0,x,n);
  40. for(i=0;i<n;i++)
  41. {
  42. r[i]=x[i]-b[i];
  43. printf("r[i]=%lf\n",r[i]);
  44. }
  45. l=s_vect(r,r,n);
  46. matr_vect(a,r,r,n);
  47. t=l/s_vect(r,r,n);
  48. for(i=0;i<n;i++)
  49. {
  50. s=t*b[i]-t*x[i]+x0[i];
  51. x[i]=s;
  52. x0[i]=x[i];
  53. }
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement