Merci d'avance
![]()
Merci d'avance
![]()
Bonjour,
As-tu essayé de coder quelquechose? Quels sont les problèmes que tu rencontres pour implémenter cette formule?
Duf
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 :
et Merci d'avance
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![]()
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
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)));
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 .
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
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);
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
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part [B,IX] = sort(pi,'descend')
Pour une bonne utilisation des balises codec'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.
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.![]()
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) ;
Merci beaucoup ,c'est ce que je voulais exactement
En exécutant ce code, je vais ordonner la liste les éléments du vecteur p donc je vais trouve:
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);
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?![]()
Partager