Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

problème sur matlab



  1. #1
    lyne

    Question problème sur matlab


    ------

    Bonjour à tous,

    Je débute sur le logiciel matlab et je rencontre de nombreux problèmes
    J' ai des valeurs notées r qui sont comprises entre 0.3 et 1 où 1 est le premier indice et 0.3 le dernier indice.
    Ce que je cherche à faire c'est en prenant une valeur quelconque (notée r0) comprises entre 0.3 et 1, de determiner 2 indices qui correspondent l'un à la valeur qui est immediatement inferieur à la valeur de r0 et l'autres à la valeur qui est immediatement superieur ou egal à la valeur de r0.

    Merci d'avance

    -----

  2. Publicité
  3. #2
    glattering

    Re : problème sur matlab

    Hmm là comme ça, sans vraiment réfléchir, ce qui me vient, c'est d'estimer le différence entre r0 et toutes les valeurs de ton tableau, une à une.
    Parmi les résultats, la valeur négative ayant la plus petite valeur absolue correspondra à la valeur immédiatement supérieure à r0, et la valeur positive la plus petite à la valeur immédiatement inférieure à r0.

    non?

    (mais je n'ai peut être pas bien compris la question, tu as un problème avec matlab ou avec un algo te permettant de faire ce que tu décris? ne pas confondre l'outil et le but )

  4. #3
    lyne

    Re : problème sur matlab

    Merci pour ta reponse.
    Ta méthode à l'air bien mais je ne vois pas comment la faire sur matlab.

    Pourrais tu m'éclairer? ..

  5. #4
    glattering

    Re : problème sur matlab

    Bon.
    Imagine que toutes tes valeurs (comprises entre .3 et 1) sont dans un tableau R (d'ailleurs des conditions sur ces valeurs, sont elles regulierement espacees ou non etc, ça peut rendre l'algo plus simple).
    Disons par ex que
    R= [1, 0.9, 0.6, 0.4, 0.3]

    prenons r0=0.768

    pour toutes les valeurs de R on fait r0-R
    (j'écris du pseudo code, qui ne marchera donc pas dans matlab, mais en apprenant la syntaxe matlab (il existe des tas de tutoriels sur le net) ça devrait pas poser de pbs).

    on initialise les variables qui vont contenir la valeurs immediatement supérieure et la valeure immédiatement inférieure à r0

    borne_sup=1
    borne_inf=0.3

    ensuite la boucle principale

    for i=1 à taille_de_R (ici 5 valeurs)
    temp=r0-R(i)
    if temp<0
    --if valeur_absolue(temp)<borne_sup
    ----borne_sup=R(i)
    --end
    elseif temp>0
    --if valeur_temp>borne_inf
    ----borne_inf=R(i)
    --end
    else (cela veut dire que r0=R(i)
    --borne_inf=R(i)
    --borne_sup=R(i)
    end

    A vérifier, mais ça me semble juste (j'ai pas de logiciels style matlab sous la main désolé)

    Bon, sinon, je n'ai fait que traduire ce que tu as dit, il n'y a rien de spécifique à matlab. Donc a priori, tu devrais pouvoir le faire seul! Après que tu aies des pbs avec matlab, soit, mais ton pb ne semble pas venir de matlab... non?

    Bonne chance.
    /glattering

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

    Re : problème sur matlab

    Merci beaucoup glattering.

    Mes valeurs de r ont un pas de temps d'environ -0.02( trouvé par r(2)-r(1) par exemple où 2 et 1 sont des indices).
    Ta méthode de la boucle m'a l'air correct mais je l'ai modifiée car comme tu me la écrite je ne vois pas comment cela peut resoudre mon problème.

    for i=1:33 où 33 est l'indice de 0.3
    temp=r0-ri
    if temp<0 & temp<=-0.02
    ----a ce niveau il faudrait que cela donne la valeur de ri mais je ne sais pas ce qu'il faut écrire--
    end

    elseif temp>=0 & temp<=0.02
    ---a ce niveau il faudrait que cela donne la valeur de ri aussi--

    end

    else
    --la je ne c po quoi ecrire
    end

    En esperant que tu me dise ce qui ne va pas dans ma boucle et si possible que tu la complète.
    Merci d'avance

    Lyne

  8. #6
    glattering

    Re : problème sur matlab

    heu, tu as réécrit ce que je t'ai donné, ben pour les parties où tu ne sais pas quoi écrire je ne comprends pas, je t'ai tout mis...

    Si tu as une matrice R pour accéder à la valeur située à l'indice i tu tapes R(i)... et si tu veux stocker ça dnas une variable tu fais
    ma_variable=R(i);
    je peux pas faire plus détaillé.

  9. Publicité
  10. #7
    lyne

    Re : problème sur matlab

    daccord, je vais essayer de me debrouiller avec tout ca.

    Merci pour ton aide

    Bonne soirée

Discussions similaires

  1. probleme avec matlab
    Par RBM dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 18/10/2007, 12h52
  2. Problème 3D Matlab
    Par ragondinrom dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 23/06/2006, 14h38
  3. Probléme MATLAB
    Par hamoudasafira dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 17/05/2006, 10h48
  4. probleme matlab
    Par cath1325 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 25/04/2005, 10h39
  5. problème matlab
    Par monk dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 23/02/2005, 09h51
Découvrez nos comparatifs produits sur l'informatique et les technologies.