Télécharger levma3.eso

Retour à la liste

Numérotation des lignes :

levma3
  1. C LEVMA3 SOURCE CHAT 05/01/13 01:15:28 5004
  2. subroutine levma3(x,y,sig,ndata,a,ma,alpha,beta,nalp,
  3. & ytest,dyda,chisq)
  4. c
  5. c appele par mrqmin pour evaluer la matrice alpha et le vecteur beta
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8 (A-H,O-Z)
  8. parameter (mmax=20)
  9. real*8 x(ndata),y(ndata),sig(ndata),alpha(nalp,nalp),beta(ma),
  10. & dyda(ma*ndata),a(ma),ytest(ndata)
  11.  
  12. * initialise alpha et beta (symetriques)
  13. do 12 j=1,ma
  14. do 11 k=1,j
  15. alpha(j,k) = 0.
  16. 11 continue
  17. beta(j) = 0.
  18. 12 continue
  19.  
  20. chisq = 0.
  21. * somme sur les donnees
  22. do 15 i=1,ndata
  23. co call funcs(x(i),a,ymod,dyda,ma)
  24. sig2i = 1./sig(i)/sig(i)
  25. co dy = y(i) - ymod
  26. dy = y(i) - ytest(i)
  27. do 14 j=1,ma
  28. co wt = dyda(lista(j))*sig2i
  29. wt = dyda(ma*(i-1)+j) * sig2i
  30. cc write(6,*) i,lista(j), wt
  31. do 13 k=1,j
  32. co alpha(j, k) = alpha(j, k) + (wt * dyda(lista(k)))
  33. alpha(j,k) = alpha(j,k) + ( wt*dyda(ma*(i-1)+k) )
  34. 13 continue
  35. beta(j) = beta(j) + (dy * wt)
  36. 14 continue
  37. * valeur de chi²
  38. chisq = chisq + (dy*dy*sig2i)
  39. 15 continue
  40.  
  41. do 17 j=2,ma
  42. do 16 k=1,j-1
  43. alpha(k,j) = alpha(j,k)
  44. 16 continue
  45. 17 continue
  46. return
  47. end
  48.  
  49.  
  50.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales