01.05.2013 Views

C++ et éléments finis Note de cours de DEA (version provisoire)

C++ et éléments finis Note de cours de DEA (version provisoire)

C++ et éléments finis Note de cours de DEA (version provisoire)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

34 CHAPITRE 5. MODÉLISATION DES VECTEURS, MATRICES, TENSEURS<br />

B(SubArray(n,0,n+1)) // le vecteur diagonal <strong>de</strong> B ;<br />

KNM_ Bt(B.t()) ; // la matrice transpose sans copie<br />

Pour l’utilisation, utiliser l’ordre #inclu<strong>de</strong> "RNM.hpp", <strong>et</strong> les flags <strong>de</strong> compilation -DCHECK KN ou en dé<strong>finis</strong>ant<br />

la variable du preprocesseur cpp du <strong>C++</strong> avec l’ordre #<strong>de</strong>fined CHECK KN, avant la ligne inclu<strong>de</strong>.<br />

Les définitions <strong>de</strong>s classes sont faites dans 4 fichiers RNM.hpp, RNM tpl.hpp, RNM op.hpp, RNM op.hpp.<br />

Pour plus <strong>de</strong> détails voici un exemple d’utilisation assez compl<strong>et</strong>.<br />

5.3 Exemple d’utilisation<br />

namespace std<br />

#<strong>de</strong>fine CHECK_KN<br />

#inclu<strong>de</strong> "RNM.hpp"<br />

#inclu<strong>de</strong> "assert.h"<br />

using namespace std ;<br />

type<strong>de</strong>f double R ;<br />

type<strong>de</strong>f KN Rn ;<br />

type<strong>de</strong>f KN_ Rn_ ;<br />

type<strong>de</strong>f KNM Rnm ;<br />

type<strong>de</strong>f KNM_ Rnm_ ;<br />

type<strong>de</strong>f KNMK Rnmk ;<br />

type<strong>de</strong>f KNMK_ Rnmk_ ;<br />

R f(int i){r<strong>et</strong>urn i ;}<br />

R g(int i){r<strong>et</strong>urn -i ;}<br />

int main()<br />

{<br />

// <strong>de</strong>finition <strong>de</strong>s 6 types <strong>de</strong> base <strong>de</strong>s tableaux a 1,2 <strong>et</strong> 3 param<strong>et</strong>res<br />

const int n= 8 ;<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!