Télécharger puchamevol.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : puchamevol.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *---------------------------------------------------------------------*
  5. * Cas-test de l'operateur '**' *
  6. * *
  7. * Ce cas-test verifie l'elevation a la puissance de MCHAMLs dont *
  8. * les composantes sont de type EVOLUTION. *
  9. * 1. Elevation a la puissance ENTIERE POSITIVE ; *
  10. * 2. Elevation a la puissance ENTIERE NEGATIVE ; *
  11. * 3. Elevation a la puissance REELLE POSITIVE ; *
  12. * 4. Elevation a la puissance REELLE NEGATIVE ; *
  13. * 5. Elevation a la puissance REELLE POSITIVE d'un MCHAML a deux *
  14. * composantes. *
  15. * *
  16. *---------------------------------------------------------------------*
  17. * *
  18. * Pour avoir les messages, mettre IMES1 a VRAI : *
  19. IMES1 = FAUX ;
  20. *
  21. 'OPTI' 'ECHO' 0 ;
  22. 'OPTI' 'DIME' 2 'ELEM' QUA4 ;
  23. * *
  24. * Maille support des MCHAMLs : *
  25. P1 = 0. 0. ;
  26. P2 = 2. 0. ;
  27. D1 = P1 'DROI' 2 P2 ;
  28. S1 = D1 'TRAN' 1 (0. 1.) ;
  29. * *
  30. *------------------- 1. PUISSANCE ENTIERE POSITIVE -------------------*
  31. * *
  32. * Un 1e MCHAML : *
  33. LX1 = 'PROG' 0. 1. 2. ;
  34. LY1 = 'PROG' 2. 3. 5. ;
  35. EVK1 = 'EVOL' 'MANU' 'T' LX1 'K' LY1 ;
  36. MOD1 = 'MODE' S1 'THERMIQUE' ;
  37. MAT1 = 'MATE' MOD1 'K' EVK1 ;
  38. * *
  39. * Elevation a la puissance : *
  40. N1 = 2 ;
  41. MAT2 = MAT1 ** N1 ;
  42. * *
  43. * Verification du resultat : *
  44. ERR1 = 0. ;
  45. 'SI' ('NEG' ('TYPE' MAT2) 'MCHAML') ;
  46. ERR1 = 1. ;
  47. 'FINS' ;
  48. 'SI' ('NEG' ('DIME' ('EXTR' MAT2 'COMP')) 1) ;
  49. ERR1 = ERR1 + 1. ;
  50. 'FINS' ;
  51. 'SI' ('NEG' ('EXTR' ('EXTR' MAT2 'COMP') 1) 'K') ;
  52. ERR1 = ERR1 + 1. ;
  53. 'FINS' ;
  54. EVK2 = 'EXTR' MAT2 'K' 1 1 1 ;
  55. LX2 = 'EXTR' EVK2 'ABSC' ;
  56. LY2 = 'EXTR' EVK2 'ORDO' ;
  57. ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** N1) - LY2)) ;
  58. * *
  59. * Message de sortie : *
  60. IERR1 = 'NEG' ERR1 0. ;
  61. VECH1 = 'VALE' 'ECHO' ;
  62. 'OPTI' 'ECHO' 0 ;
  63. 'SI' IMES1 ;
  64. 'SI' IERR1 ;
  65. 'SAUT' 1 'LIGN' ;
  66. 'MESS'
  67. '*** Erreur dans l"elevation a la puissance entiere positive' ;
  68. 'MESS'
  69. ' d"un MCHAML dont la composante est de type EVOLUTIOn.' ;
  70. 'FINS' ;
  71. 'FINS' ;
  72. 'OPTI' 'ECHO' VECH1 ;
  73. * *
  74. * Gestion de l'erreur : *
  75. 'SI' IERR1 ;
  76. 'SAUT' 1 'LIGN' ;
  77. 'ERRE' 5 ;
  78. 'FINS' ;
  79. * *
  80. *------------------- 2. PUISSANCE ENTIERE NEGATIVE -------------------*
  81. * *
  82. * Elevation a la puissance : *
  83. N1 = -1 ;
  84. MAT2 = MAT1 ** N1 ;
  85. * *
  86. * Verification du resultat : *
  87. 'SI' ('NEG' ('TYPE' MAT2) 'MCHAML') ;
  88. ERR1 = 1. ;
  89. 'FINS' ;
  90. 'SI' ('NEG' ('DIME' ('EXTR' MAT2 'COMP')) 1) ;
  91. ERR1 = ERR1 + 1. ;
  92. 'FINS' ;
  93. 'SI' ('NEG' ('EXTR' ('EXTR' MAT2 'COMP') 1) 'K') ;
  94. ERR1 = ERR1 + 1. ;
  95. 'FINS' ;
  96. EVK2 = 'EXTR' MAT2 'K' 1 1 1 ;
  97. LX2 = 'EXTR' EVK2 'ABSC' ;
  98. LY2 = 'EXTR' EVK2 'ORDO' ;
  99. ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** N1) - LY2)) ;
  100. * *
  101. * Message de sortie : *
  102. IERR1 = 'NEG' ERR1 0. ;
  103. VECH1 = 'VALE' 'ECHO' ;
  104. 'OPTI' 'ECHO' 0 ;
  105. 'SI' IMES1 ;
  106. 'SI' IERR1 ;
  107. 'SAUT' 1 'LIGN' ;
  108. 'MESS'
  109. '*** Erreur dans l"elevation a la puissance entiere negative' ;
  110. 'MESS'
  111. ' d"un MCHAML dont la composante est de type EVOLUTIOn.' ;
  112. 'FINS' ;
  113. 'FINS' ;
  114. 'OPTI' 'ECHO' VECH1 ;
  115. * *
  116. * Gestion de l'erreur : *
  117. 'SI' IERR1 ;
  118. 'SAUT' 1 'LIGN' ;
  119. 'ERRE' 5 ;
  120. 'FINS' ;
  121. * *
  122. *------------------- 3. PUISSANCE REELLE POSITIVE --------------------*
  123. * *
  124. * Elevation a la puissance : *
  125. X1 = 2.5 ;
  126. MAT2 = MAT1 ** X1 ;
  127. * *
  128. * Verification du resultat : *
  129. 'SI' ('NEG' ('TYPE' MAT2) 'MCHAML') ;
  130. ERR1 = 1. ;
  131. 'FINS' ;
  132. 'SI' ('NEG' ('DIME' ('EXTR' MAT2 'COMP')) 1) ;
  133. ERR1 = ERR1 + 1. ;
  134. 'FINS' ;
  135. 'SI' ('NEG' ('EXTR' ('EXTR' MAT2 'COMP') 1) 'K') ;
  136. ERR1 = ERR1 + 1. ;
  137. 'FINS' ;
  138. EVK2 = 'EXTR' MAT2 'K' 1 1 1 ;
  139. LX2 = 'EXTR' EVK2 'ABSC' ;
  140. LY2 = 'EXTR' EVK2 'ORDO' ;
  141. ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** X1) - LY2)) ;
  142. * *
  143. * Message de sortie : *
  144. IERR1 = 'NEG' ERR1 0. ;
  145. VECH1 = 'VALE' 'ECHO' ;
  146. 'OPTI' 'ECHO' 0 ;
  147. 'SI' IMES1 ;
  148. 'SI' IERR1 ;
  149. 'SAUT' 1 'LIGN' ;
  150. 'MESS'
  151. '*** Erreur dans l"elevation a la puissance reelle positive' ;
  152. 'MESS'
  153. ' d"un MCHAML dont la composante est de type EVOLUTIOn.' ;
  154. 'FINS' ;
  155. 'FINS' ;
  156. 'OPTI' 'ECHO' VECH1 ;
  157. * *
  158. * Gestion de l'erreur : *
  159. 'SI' IERR1 ;
  160. 'SAUT' 1 'LIGN' ;
  161. 'ERRE' 5 ;
  162. 'FINS' ;
  163. * *
  164. *------------------- 4. PUISSANCE REELLE NEGATIVE --------------------*
  165. * *
  166. * Elevation a la puissance : *
  167. X1 = -1.2 ;
  168. MAT2 = MAT1 ** X1 ;
  169. * *
  170. * Verification du resultat : *
  171. 'SI' ('NEG' ('TYPE' MAT2) 'MCHAML') ;
  172. ERR1 = 1. ;
  173. 'FINS' ;
  174. 'SI' ('NEG' ('DIME' ('EXTR' MAT2 'COMP')) 1) ;
  175. ERR1 = ERR1 + 1. ;
  176. 'FINS' ;
  177. 'SI' ('NEG' ('EXTR' ('EXTR' MAT2 'COMP') 1) 'K') ;
  178. ERR1 = ERR1 + 1. ;
  179. 'FINS' ;
  180. EVK2 = 'EXTR' MAT2 'K' 1 1 1 ;
  181. LX2 = 'EXTR' EVK2 'ABSC' ;
  182. LY2 = 'EXTR' EVK2 'ORDO' ;
  183. ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** X1) - LY2)) ;
  184. * *
  185. * Message de sortie : *
  186. IERR1 = 'NEG' ERR1 0. ;
  187. VECH1 = 'VALE' 'ECHO' ;
  188. 'OPTI' 'ECHO' 0 ;
  189. 'SI' IMES1 ;
  190. 'SI' IERR1 ;
  191. 'SAUT' 1 'LIGN' ;
  192. 'MESS'
  193. '*** Erreur dans l"elevation a la puissance reelle negative' ;
  194. 'MESS'
  195. ' d"un MCHAML dont la composante est de type EVOLUTIOn.' ;
  196. 'FINS' ;
  197. 'FINS' ;
  198. 'OPTI' 'ECHO' VECH1 ;
  199. * *
  200. * Gestion de l'erreur : *
  201. 'SI' IERR1 ;
  202. 'SAUT' 1 'LIGN' ;
  203. 'ERRE' 5 ;
  204. 'FINS' ;
  205. * *
  206. *------------------- 5. PUISSANCE REELLE POSITIVE --------------------*
  207. * *
  208. * Creation d'un 2e MCHAML :
  209. LC1 = 'PROG' 1. 2. 3. ;
  210. EVC1 = 'EVOL' 'MANU' 'X' LX1 'C' LC1 ;
  211. MOD1 = 'MODE' S1 'THERMIQUE' ;
  212. MAT1 = 'MATE' MOD1 'C' EVC1 'K' EVK1 ;
  213. * *
  214. * Elevation a la puissance : *
  215. X1 = PI ;
  216. MAT2 = MAT1 ** X1 ;
  217. * *
  218. * Verification du resultat : *
  219. 'SI' ('NEG' ('TYPE' MAT2) 'MCHAML') ;
  220. ERR1 = 1. ;
  221. 'FINS' ;
  222. 'SI' ('NEG' ('DIME' ('EXTR' MAT2 'COMP')) 2) ;
  223. ERR1 = ERR1 + 1. ;
  224. 'FINS' ;
  225. 'SI' ('NEG' ('EXTR' ('EXTR' MAT2 'COMP') 1) 'C') ;
  226. ERR1 = ERR1 + 1. ;
  227. 'FINS' ;
  228. 'SI' ('NEG' ('EXTR' ('EXTR' MAT2 'COMP') 2) 'K') ;
  229. ERR1 = ERR1 + 1. ;
  230. 'FINS' ;
  231. EVC2 = 'EXTR' MAT2 'C' 1 1 1 ;
  232. LX2 = 'EXTR' EVC2 'ABSC' ;
  233. LC2 = 'EXTR' EVC2 'ORDO' ;
  234. ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LC1 ** X1) - LC2)) ;
  235. EVK2 = 'EXTR' MAT2 'K' 1 1 1 ;
  236. LX2 = 'EXTR' EVK2 'ABSC' ;
  237. LK2 = 'EXTR' EVK2 'ORDO' ;
  238. ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** X1) - LK2)) ;
  239. * *
  240. * Message de sortie : *
  241. IERR1 = 'NEG' ERR1 0. ;
  242. VECH1 = 'VALE' 'ECHO' ;
  243. 'OPTI' 'ECHO' 0 ;
  244. 'SI' IMES1 ;
  245. 'SI' IERR1 ;
  246. 'SAUT' 1 'LIGN' ;
  247. 'MESS'
  248. '*** Erreur dans l"elevation a la puissance reelle positive' ;
  249. 'MESS'
  250. ' d"un MCHAML dont les 2 composantes sont de type EVOLUTIOn.' ;
  251. 'FINS' ;
  252. 'FINS' ;
  253. 'OPTI' 'ECHO' VECH1 ;
  254. * *
  255. * Gestion de l'erreur : *
  256. 'SI' IERR1 ;
  257. 'SAUT' 1 'LIGN' ;
  258. 'ERRE' 5 ;
  259. 'FINS' ;
  260. * *
  261. *---------------------------------------------------------------------*
  262. * *
  263. * Message de sortie si test reussi : *
  264. VECH1 = 'VALE' 'ECHO' ;
  265. 'OPTI' 'ECHO' 0 ;
  266. 'SI' IMES1 ;
  267. 'SAUT' 1 'LIGN' ;
  268. 'MESS'
  269. '*** TEST REUSSI ***'
  270. ;
  271. 'FINS' ;
  272. 'OPTI' 'ECHO' VECH1 ;
  273. * *
  274. 'FIN' ;
  275. 'OPTI' 'ECHO' 1 ;
  276.  
  277.  
  278.  
  279.  
  280.  

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