Salve ragazzi , il testo del problema mi chiede di generare la successione x(k) = ?Ax(k-1) + (1 - ?)x(k-1) dove A è una matrice , x un vettore e ? una costante (che nel mio codice ho chiamato c) e di fermarmi se k(iterazioni)>100 o se la norma infinito è > di una certa tolleranza. Potete per favore controllare se la mia funzione è giusta?
int k=0;
do
{
creazione_vettore(n,c,A,x0,xk);
copiavet(x0,xk,n);
k++;
}while (k<100 && norma_infinito(xk,n)>toll);
printf("le iterazioni sono %d",k);
stampa_vettore(xk,n);
return 0;
}
questo è cio che accade nel main il resto sono dichiarazioni
void creazione_vettore(int n,double c,matrice A,vettore x,vettore b)
{
for(int i=0;i<n;i++)
{
b[i]=0;
for(int j=0;j<n;j++)
{
b[i]+=(c*(A[i][j]*x[j])+(1-c)*x[j]);
}
}
return;
}