approximation du facteur de friction sous matlab
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

approximation du facteur de friction sous matlab



  1. #1
    helycopter

    approximation du facteur de friction sous matlab


    ------

    Bonjour à tous,
    j'essaie d'approcher le facteur de friction f avec un petit script que j'ai écrit, la première chose qui frappe à l'oeil est que y'a des colonnes vides.Quelqu'un peut me donner un coup de main?!
    voici le script:

    function T=factfrict(v1)
    clear T; T = zeros(25,4);
    for i=1:25,
    T(i,1)=v1+0.5.*i; %vitesse qu'on propose (et actualise)
    T(i,2)=1.25.*(10.^5).*T(i,1); %nombre de Reynolds
    T(i,3)=0.079.*T(i,2).^(-0.25);% facteur de friction
    T(i,4)=sqrt(155.979/(1.325+249.6.*T(i,3)));% vitesse qu'on récupère (elle doit être le plus proche possible de la vitesse proposée pour qu'on puisse accepter la valeur du facteur de friction)
    end

    Toute proposition est la bienvenue

    -----

  2. #2
    narakphysics

    Re : approximation du facteur de friction sous matlab

    Bonjour
    il n'y a pas des colonnes vides.
    Le résultat est une matrice de 25 lignes et de 4 colonnes.
    j'ai essayé de faire un test par vi=2 (je sais pas est ce que la valeur 2 a un sens mais il reste un test)
    voici le résultat:
    T =
    2.5, 312500., 0.0033413 , 8.4997876
    3. , 375000., 0.0031924 , 8.5738941
    3.5, 437500., 0.0030717, 8.6354119
    4. , 500000. , 0.0029709, 8.6878463
    4.5 , 562500., 0.0028847, 8.7334312
    5., 625000. , 0.0028097 , 8.7736755
    5.5, 687500., 0.0027435, 8.8096447
    6., 750000. , 0.0026845 , 8.8421182
    6.5 , 812500. , 0.0026313 , 8.8716832
    7. 875000. 0.0025830 8.8987921
    7.5 937500. 0.0025388 8.9238013
    8. 1000000. 0.0024982 8.9469957
    8.5 1062500. 0.0024606 8.9686069
    9. 1125000. 0.0024257 8.9888258
    9.5 1187500. 0.0023931 9.0078109
    10. 1250000. 0.0023627 9.0256957
    10.5 1312500. 0.0023340 9.0425937
    11. 1375000. 0.0023070 9.0586018
    11.5 1437500. 0.0022815 9.0738035
    12. 1500000. 0.0022574 9.0882715
    12.5 1562500. 0.0022345 9.1020692
    13. 1625000. 0.0022127 9.1152521
    13.5 1687500. 0.0021919 9.1278694
    14. 1750000. 0.0021720 9.1399648
    14.5 1812500. 0.0021531 9.1515769
    A+

  3. #3
    helycopter

    Re : approximation du facteur de friction sous matlab

    salut;
    tout d'abord merci pour la compile la valeur que tu as prises est bien logique pour une vitesse
    Cependant en compilant voici ce que je récupère:
    ans =

    1.0e+006 *

    0.0000 0.3125 0.0000 0.0000
    0.0000 0.3750 0.0000 0.0000
    0.0000 0.4375 0.0000 0.0000
    0.0000 0.5000 0.0000 0.0000
    0.0000 0.5625 0.0000 0.0000
    0.0000 0.6250 0.0000 0.0000
    0.0000 0.6875 0.0000 0.0000
    0.0000 0.7500 0.0000 0.0000
    0.0000 0.8125 0.0000 0.0000
    0.0000 0.8750 0.0000 0.0000
    0.0000 0.9375 0.0000 0.0000
    0.0000 1.0000 0.0000 0.0000
    0.0000 1.0625 0.0000 0.0000
    0.0000 1.1250 0.0000 0.0000
    0.0000 1.1875 0.0000 0.0000
    0.0000 1.2500 0.0000 0.0000
    0.0000 1.3125 0.0000 0.0000
    0.0000 1.3750 0.0000 0.0000
    0.0000 1.4375 0.0000 0.0000
    0.0000 1.5000 0.0000 0.0000
    0.0000 1.5625 0.0000 0.0000
    0.0000 1.6250 0.0000 0.0000
    0.0000 1.6875 0.0000 0.0000
    0.0000 1.7500 0.0000 0.0000
    0.0000 1.8125 0.0000 0.0000


    Je ne sais pas si t'a une idée sur la raison de cette différence, ton résultat est bien logique.

  4. #4
    narakphysics

    Re : approximation du facteur de friction sous matlab

    Re
    Peut être le problème au niveau du format,
    essayez de taper cette commande dans le workspace:
    Code:
    format longE
    puis exécutez le programme
    A+

  5. A voir en vidéo sur Futura
  6. #5
    helycopter

    Re : approximation du facteur de friction sous matlab

    Où devrais-je l'ajouter? je l'ai ajouté dans le script mais ça ne marche pas..

  7. #6
    Theophane

    Re : approximation du facteur de friction sous matlab

    Bonjour,

    Une remarque générale. Matlab n'aime pas trop les boucles en général (c'est lent) et c'est un langage optimisé pour manipuler des matrices. Remplir une matrice comme tu le fais est peu clair et peu efficace. De plus, tu n'as pas besoin de faire un clear T à l'intérieur de la définition d'une fonction.

    Pour faire un truc dans ce genre, il serait mieux (même si ton code marche très bien) de faire un truc du genre :

    i=linspace(1,25,25)';
    T1=v1+0.5*i;
    T2=1.25*(10^5)*T1;
    T3=0.079*T2.^(-0.25);
    T4=sqrt(155.979./(1.325+249.6*T3));
    T=[T1 T2 T3 T4];

    Dans ton cas, ça ne changera rien du tout (genre un gain de 0.1s pour 10 000 exécutions....) mais c'est une question de réflexe

    Sinon, c'est bien un problème de format.
    Je te conseille plutôt "format short G" pour ma part. Il faut écrire ça dans la commande windows principal de Matlab.

    A+

  8. #7
    helycopter

    Re : approximation du facteur de friction sous matlab

    salut Theophane,
    Merci pour l'aide ça a marché à merveille, je t'en suis reconnaissante.
    Je suis peu expérimenté dans matlab, en fait j'écrit en language C pour j'essay de transcrire Comment pourait-je identifier ou choisir le format le plus adapté à ce sur quoi je travail?! (Par exemple ici tu m'a recoomandé short G au lieu de long E)

  9. #8
    Theophane

    Re : approximation du facteur de friction sous matlab

    De rien,

    pour le choix, tu peux taper "help format" pour avoir des détails.

    En gros, tu as la famille de "short" où tu auras 5 chiffres et la famille des "long" où tu aurais 15 ou 7 chiffres (selon que tu as un entier ou non).
    Ensuite, la lettre, c'est pour définir la façon d'écrire.
    Sans rien, ça globalise le format en prenant le plus grand nombre et en l'écrivant sous la forme X.XXXXX * 10^qqch
    Avec E, chaque nombre est écrit de façon individuel avec l'écriture scientifique
    Avec G, chaque nombre est écrit de façon individuel avec le choix de l'écritude automatique : scientifique ou de la forme X.XX si il est petit
    Avec ENG, chaque nombre est écrit de façon individuel avec l'écriture ingénieur.

    Ici, je t'ai recommandé short G car je trouve que ça sert à rien d'avoir 15 chiffres, et tu as 3 colonnes avec des petits chiffres et une colonne avec des grands chiffres.

    A+

  10. #9
    helycopter

    Re : approximation du facteur de friction sous matlab

    Pigé, merci Théophane

Discussions similaires

  1. Approximation du facteur de qualité
    Par megaflop dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 19/04/2012, 11h44
  2. approximation matlab
    Par invite49b54ac2 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 17/10/2010, 19h47
  3. facteur de lorentz et approximation
    Par Martth dans le forum Physique
    Réponses: 2
    Dernier message: 17/03/2010, 02h38
  4. facteur d'anisotropie sur des ellipsoides sous matlab
    Par invite25c9b3f8 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 05/03/2010, 13h08
  5. Approximation (Moindre carrés) sous Matlab
    Par invite4f164cf2 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 24/03/2004, 11h38