Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include "f.h"
- void matr_vect(double *a,double *x,double*b,int n)
- {
- double s,sum=0;
- double *p=a;
- int i,j;
- for(i=0;i<n;i++)
- {
- s=0;
- for(j=0;j<n;j++)
- {
- s+=p[j]*x[j];
- }
- b[i]=s;
- p+=n;
- }
- }
- double s_vect(double *x,double *y,int n)
- {
- double s=0;
- int i;
- for(i=0;i<n;i++)
- {
- s+=x[i]*y[i];
- }
- return s;
- }
- void f(double *a,double *x0,double *b,double *x,int n,int m)
- {
- double s,l,t;
- double r[n];
- int i,j,k;
- for(k=1;k<=m;k++)
- {
- matr_vect(a,x0,x,n);
- for(i=0;i<n;i++)
- {
- r[i]=x[i]-b[i];
- printf("r[i]=%lf\n",r[i]);
- }
- l=s_vect(r,r,n);
- matr_vect(a,r,r,n);
- t=l/s_vect(r,r,n);
- for(i=0;i<n;i++)
- {
- s=t*b[i]-t*x[i]+x0[i];
- x[i]=s;
- x0[i]=x[i];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement