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 :

Comment écrire en MATLAB cette formule?


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut Comment écrire en MATLAB cette formule?
    Merci d'avance

    Nom : formule.png
Affichages : 352
Taille : 3,6 Ko

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    As-tu essayé de coder quelquechose? Quels sont les problèmes que tu rencontres pour implémenter cette formule?

    Duf

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Bonjour,

    Je voudrai transformé une distribution de probabilité en une distribution de possibilité par la formule déjà citée.Je n'arrive pas à l' implémenter.

    Je commence à la programmer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    p=[0.2 0.35 0.4 0.05 ];
    nX = numel(p);
    [B,IX] = sort(p);
    for i=1:4
    s=max(sum(pi),sum(pi+1));
    end
    et Merci d'avance

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur électronique et télécom
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur électronique et télécom
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut indication
    pour calculer une somme , il faut initialiser une var à 0 ensuite il faut ouvrir une boucle dont les extrémités sont celle de la somme, et on place la formule à l'intérieur, à toi de jouer

  5. #5
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Je pense qu'il manque surtout des parenthèses dans ta ligne de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    s(i)=max(sum(p(i:end)),sum(p((i+1):end)));

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Merci beaucoup,
    Il y a t'il une fonction qui permet d'inverser le vecteur IX pour donner le rang de chaque pi triés dans l'ordre croissant .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pi=[0.2 0.35 0.4 0.05];
    v=[];
    [B,IX] = sort(pi);
    v(1)=IX(3);
    v(2)=IX(4);
    v(3)=IX(1);
    v(4)=IX(2);
    Par exemple dans cet exemple l’exécution jusqu'à la ligne 3 me donne un vecteur B [0.05,0.2,0.35,0.4] et dans le vecteur IX [4,1,2,3] j'ai l'ordre de chaque Pi cad
    IX(1)=4
    IX(2)=1
    IX(3)=2
    IX(4)=3
    maintenant je veux inverser cad
    je veux :
    v(1)=2
    v(2)=3
    v(3)=4
    v(4)=1

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    tu veux réellement inverser IX ou bien cherches-tu à classer pi du plus grand au plus petit? (par défaut la fonction sort classe du plus petit au plus grand)

    si c'est le deuxième cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [B,IX] = sort(pi,'descend')
    Autre chose : évite d'utiliser pi comme nom de variable, pi est déjà le nom de la variable matlab qui représente le nombre pi.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Bonjour,
    Merci pour votre rapide réponce à ma question

    Je veux veux réellement inverser IX et non de classer pi du plus grand au plus petit? (je sais que la fonction sort classe du plus petit au plus grand).

    j' éviterai d'utiliser pi comme nom de variable.

  9. #9
    Membre émérite
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mjoudaboss Voir le message
    Merci beaucoup,
    Il y a t'il une fonction qui permet d'inverser le vecteur IX pour donner le rang de chaque pi triés dans l'ordre croissant .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pi=[0.2 0.35 0.4 0.05];
    v=[];
    [B,IX] = sort(pi);
    v(1)=IX(3);
    v(2)=IX(4);
    v(3)=IX(1);
    v(4)=IX(2);
    Par exemple dans cet exemple l’exécution jusqu'à la ligne 3 me donne un vecteur B [0.05,0.2,0.35,0.4] et dans le vecteur IX [4,1,2,3] j'ai l'ordre de chaque Pi cad
    IX(1)=4
    IX(2)=1
    IX(3)=2
    IX(4)=3
    maintenant je veux inverser cad
    je veux :
    v(1)=2
    v(2)=3
    v(3)=4
    v(4)=1
    Inversion d'un tri pour revenir à l'ordre d'origine.
    C'est très puissant. j’utilise ça "tous les jours"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [~, IXinverse] = sort(IX) ;

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut Ordre linéaires possibles(permutations possibles)
    Merci beaucoup ,c'est ce que je voulais exactement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    p=[0.2 0.5 0.2 0.1];
    [B,IX] = sort(p);
    En exécutant ce code, je vais ordonner la liste les éléments du vecteur p donc je vais trouve:
    B=[0.1,0.2,0.2,0.5] qui est le vecteur ordonné
    et IX=[4,1,3,2] les positions des éléments dans p dans le vecteur ordonnés B.

    Mais comme vous voyons ici je peut avoir deux permutations de IX et non une seul cad je peut avoir IX aussi IX=[4,3,1,2] puissque dans p j'ai deux éléments égaux "0,2".

    Il y a t'il une fonction qui peut me donner les permutations possibles lorsqu'il y a des valeurs égales dans un même vecteur?

Discussions similaires

  1. Comment écrire cette requête ?
    Par Taxan dans le forum SQL
    Réponses: 15
    Dernier message: 10/11/2012, 09h43
  2. Comment écrire cette relation
    Par Big-cd dans le forum MATLAB
    Réponses: 9
    Dernier message: 08/10/2012, 23h29
  3. [XL-2010] comment écrire la formule pour
    Par bzh56 dans le forum Excel
    Réponses: 2
    Dernier message: 26/11/2011, 18h41
  4. [AC-2003] comment écrire cette requête sous sql?
    Par NANOUSUN dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 27/10/2009, 21h13

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