Télécharger nfil.dgibi

Retour à la liste

Numérotation des lignes :

  1. ** Test de l'operateur NFIL : normalisation d'une matrice par un vecteur
  2.  
  3.  
  4. * Matrice simple, definie a la main
  5. OPTI 'DIME' 1 ;
  6. p1 = POIN 0. ;
  7. lk = PROG 4. -4. -1.
  8. -2. 3. 2.
  9. -8. 6. 4. ;
  10. k = MANU 'RIGIDITE' p1 (MOTS 'A' 'B' 'C')
  11. 'DUAL' (MOTS 'FA' 'FB' 'FC')
  12. 'QUEL' lk ;
  13.  
  14.  
  15. * Vecteur de la somme des lignes
  16. un = MANU 'CHPO' p1 3 'A' 1. 'B' 1. 'C' 1. ;
  17. ks = k * un ;
  18.  
  19.  
  20. * Normalisation des lignes
  21. kn = NFIL k ks ;
  22.  
  23. * Verification, on doit avoir la matrice
  24. * -4 4 1
  25. * -2/3 1 2/3
  26. * -4 3 2
  27. lv = PROG -4. 4. 1. (-2./3.) 1. (2./3.) -4. 3. 2. ;
  28. x1 = MANU 'CHPO' p1 1 'A' 1. ;
  29. x2 = MANU 'CHPO' p1 1 'B' 1. ;
  30. x3 = MANU 'CHPO' p1 1 'C' 1. ;
  31. f1 = kn * x1 ;
  32. f2 = kn * x2 ;
  33. f3 = kn * x3 ;
  34. n11 = EXTR f1 'FA' p1 ;
  35. n21 = EXTR f1 'FB' p1 ;
  36. n31 = EXTR f1 'FC' p1 ;
  37. n12 = EXTR f2 'FA' p1 ;
  38. n22 = EXTR f2 'FB' p1 ;
  39. n32 = EXTR f2 'FC' p1 ;
  40. n13 = EXTR f3 'FA' p1 ;
  41. n23 = EXTR f3 'FB' p1 ;
  42. n33 = EXTR f3 'FC' p1 ;
  43. lkn = PROG n11 n12 n13 n21 n22 n23 n31 n32 n33 ;
  44. dif = lv - lkn ;
  45. er1 = MAXI 'ABS' dif ;
  46.  
  47.  
  48. * Normalisation des colonnes
  49. ks = NOMC (MOTS 'FA' 'FB' 'FC') (MOTS 'A' 'B' 'C') ks ;
  50. km = NFIL k ks 'MODI' ;
  51.  
  52. * Verification, on doit avoir la matrice
  53. * -4 -4/3 -1/2
  54. * 2 1 1
  55. * 8 2 2
  56. lv = PROG -4. (-4./3.) -0.5 2. 1. 1. 8. 2. 2. ;
  57. x1 = MANU 'CHPO' p1 1 'A' 1. ;
  58. x2 = MANU 'CHPO' p1 1 'B' 1. ;
  59. x3 = MANU 'CHPO' p1 1 'C' 1. ;
  60. f1 = km * x1 ;
  61. f2 = km * x2 ;
  62. f3 = km * x3 ;
  63. n11 = EXTR f1 'FA' p1 ;
  64. n21 = EXTR f1 'FB' p1 ;
  65. n31 = EXTR f1 'FC' p1 ;
  66. n12 = EXTR f2 'FA' p1 ;
  67. n22 = EXTR f2 'FB' p1 ;
  68. n32 = EXTR f2 'FC' p1 ;
  69. n13 = EXTR f3 'FA' p1 ;
  70. n23 = EXTR f3 'FB' p1 ;
  71. n33 = EXTR f3 'FC' p1 ;
  72. lkn = PROG n11 n12 n13 n21 n22 n23 n31 n32 n33 ;
  73. dif = lv - lkn ;
  74. er2 = MAXI 'ABS' dif ;
  75.  
  76.  
  77. ** Erreur si mauvais resultat
  78. err = MAXI er1 er2 ;
  79. SI (err > 1.E-10) ;
  80. ERRE 5 ;
  81. FINSI ;
  82.  
  83. FIN ;
  84.  
  85.  
  86.  

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