IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

boucle for et if imbriqués


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut boucle for et if imbriqués
    bonjour,

    J'ai un souci avec une boucle for et if : je veux faire un code qui permet de trouver la courbe la plus ajuster aux valeurs exp.j'ai utilisée une boucle for et if mais j'ai trouvée des mauvais résultats.est ce que vous pouvez me corriger svp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    clear all
    close all
     
     
    x=     [ 0   0.5      1       1.5      2        2.5      3        3.5     4         4.5      5        5.5      6        6.5      7        7.5      8        8.5     9         9.5      10       10.5       11     11.5       12      12.5      13       13.5      14     14.5       15      15.5     16      16.5     17      17.5      18      18.5       19      19.5       20] ;
    valexp=[0 8.52e-84 1.95e-57 1.82e-39 4.00e-28 2.22e-21 8.27e-18 2.99e-16 1.12e-15 1.97e-15 2.70e-15 3.26e-15 3.68e-15 3.97e-15 4.16e-15 4.28e-15 4.36e-15 4.36e-15 4.40e-15 4.43e-15 4.45e-15 4.45e-15 4.46e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 ];
    Cf1=   [0 5.87e-84 1.20e-57 3.06e-40 2.59e-28 1.10e-21 7.21e-18 2.21e-16 1.00e-15 2.07e-15 2.51e-15 3.17e-15 3.63e-15 4.03e-15 4.18e-15 4.25e-15 4.38e-15 4.38e-15 4.38e-15 4.38e-15 4.40e-15 4.40e-15 4.41e-15 4.42e-15 4.42e-15 4.42e-15 4.42e-15 4.42e-15 4.42e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15];
    Cf2=   [0 6.58e-84 1.42e-57 2.44e-40 3.65e-28 1.36e-21 9.35e-18 1.45e-16 0.89e-15 2.03e-15 2.65e-15 3.28e-15 3.70e-15 3.98e-15 4.14e-15 4.29e-15 4.34e-15 4.34e-15 4.41e-15 4.44e-15 4.46e-15 4.46e-15 4.47e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 ];
    Cf3=   [0 8.52e-84 1.95e-57 1.82e-39 4.00e-28 2.22e-21 8.27e-18 2.99e-16 1.12e-15 1.97e-15 2.70e-15 3.26e-15 4.68e-15 4.70e-15 4.71e-15 4.72e-15 4.75e-15 4.78e-15 4.80e-15 4.82e-15 4.82e-15 4.84e-15 4.85e-15 4.86e-15 4.86e-15 4.87e-15 4.89e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 4.90e-15 ];
    Cf4=   [0 8.52e-84 1.95e-57 1.82e-39 4.00e-28 2.22e-21 8.27e-18 8.27e-18 8.27e-18 8.27e-18 8.27e-18 8.27e-18 8.27e-18 8.27e-18 8.27e-18 2.99e-16 1.12e-15 1.97e-15 2.70e-15 3.26e-15 3.68e-15 3.97e-15 4.16e-15 4.28e-15 4.36e-15 4.36e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15];
    Cf5=   [0 8.52e-84 1.95e-57 1.82e-39 4.00e-28 2.99e-16 1.12e-15 1.97e-15 2.70e-15 3.26e-15 3.68e-15 3.97e-15 4.16e-15 4.28e-15 4.36e-15 4.36e-15 4.40e-15 4.43e-15 4.45e-15 4.45e-15 4.46e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 ];
     
     
     
     
     
     
     
     
     
    plot(x,valexp,'*',x,Cf1,x,Cf2,x,Cf3,x,Cf4,x,Cf5)%,x,e1,x,e2,x,e3,x,e4);
     
    err1 =valexp-Cf1;
    err2 =valexp-Cf2;
    err3 =valexp-Cf3;
    err4 =valexp-Cf4;
    err5 =valexp-Cf5;
    %err6 =valexp-Cf6;
     
     
    SStot=sum(abs(err1).^2);
    SS1tot=sum(abs(err2).^2);
    SS2tot=sum(abs(err3).^2);
    SS3tot=sum(abs(err4).^2);
    SS4tot=sum(abs(err5).^2);
    %SS5tot=sum(abs(err6).^2);
     
     
    valexpmoy=1/41*(sum(valexp));%moyenne de y
     
    %SSerr= sum(abs(valexp-valexpmoy).^2);
     
    R1=1-(sum(abs(valexp-Cf1).^2)/sum(abs(valexp-valexpmoy).^2));
    R2=1-(sum(abs(valexp-Cf2).^2)/sum(abs(valexp-valexpmoy).^2));
    R3=1-(sum(abs(valexp-Cf3).^2)/sum(abs(valexp-valexpmoy).^2));
    R4=1-(sum(abs(valexp-Cf4).^2)/sum(abs(valexp-valexpmoy).^2));
    R5=1-(sum(abs(valexp-Cf5).^2)/sum(abs(valexp-valexpmoy).^2));
    %R6=1-(sum(abs(valexp-Cf6).^2)/sum(abs(valexp-valexpmoy).^2))
     
    nbCf=0;
     
     
    C(1)=R1;
    C(2)=R2;
    C(3)=R3;
    C(4)=R4;
    C(5)=R5;
     
     
    for i=1:4
        if C(i)> C(i+1);
            nbCf=(i);
     
        end  
    end
     
     
    nbCf
    Normalement je dois trouver nbCf=2 parce que c'est elle qui a le Plus gd valeur de R (0.9993) mais je touve chaque fois nbCf=3

  2. #2

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci pour le lien mais je dois utiliser les opérations for et if parce que après le model va être très compliqué .il y aura des fonctions et +eurs courbes du cou il me faut une boucles qui permet de donner le numéro de la courbe qui possède le coeff. R le + élevé.

  4. #4
    Invité
    Invité(e)
    Par défaut
    "compliqué" dans quel sens ?
    Sinon, ce n'est pas les valeurs successives que tu doit comparer, mais chaque valeur par rapport à une variable "Maximum" qui augmente au fur et à mesure que tu trouves une valeur plus grande.
    Dernière modification par Invité ; 23/05/2012 à 16h54.

Discussions similaires

  1. cibler des clips imbriqués et placés avec une boucle for
    Par pierroM dans le forum ActionScript 1 & ActionScript 2
    Réponses: 7
    Dernier message: 01/02/2009, 22h05
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 22h49
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo