A voir également:
- Algorithme sous MATLAB
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Code ascii algorithme - Guide
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 pdf - Forum Programmation
- Algorithme euromillion excel gratuit ✓ - Forum Excel
5 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
8 juil. 2010 à 11:08
8 juil. 2010 à 11:08
le maximum d'une fonction, c'est une dérivée qui s'annule.
Je me suis mal exprimé. Je vais essayer de faire plus clair.
J'ai 2 entrées, a,b et deux matrices M1, M2.
a et b correspondent respectivement aux lignes et colonnes de chaque matrice M1 et M2.
Maintenant je veux déterminer le couple (a,b) qui me permet de trouver le max de la matrice M1 et de la matrice M2 sachant que les valeurs dans la matrice M1 sont différentes de celle dans la matrice M2.
Je pense que les algo d'optimisation peuvent être la solution mais j'ai aucunes connaissances.
Merci de vos suggestions.
J'ai 2 entrées, a,b et deux matrices M1, M2.
a et b correspondent respectivement aux lignes et colonnes de chaque matrice M1 et M2.
Maintenant je veux déterminer le couple (a,b) qui me permet de trouver le max de la matrice M1 et de la matrice M2 sachant que les valeurs dans la matrice M1 sont différentes de celle dans la matrice M2.
Je pense que les algo d'optimisation peuvent être la solution mais j'ai aucunes connaissances.
Merci de vos suggestions.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
9 juil. 2010 à 08:10
9 juil. 2010 à 08:10
décidément, je ne comprends pas... Pourrais tu donner un exemple ?
en fait, ce que je ne comprends pas, c'est "a correspond aux lignes de M1".
en fait, ce que je ne comprends pas, c'est "a correspond aux lignes de M1".
ok pennons l'exemple suivant :
M1 =[0 1 2 3; 4 5 6 7; 10 11 12 13]
M2 = [20 21 22 23; 25 26 27 28; 29 30 31 32]
a=[2; 3; 4]
b= [0.1, 0.2, 0.3, 0.4]
a=3 => 2eme ligne des matrices M1 et M2
b= 0.3 => 3eme colonne des matrices M1 et M2
on obtient alors la valeur 6 contenu dans M1 et la valeur 27 contenu dans M2
maintenant je cherche à optimiser le couple de valeur (a,b) qui me permettrai d'obtenir le rapport des valeurs le plus grand soit ici 6/27 = valeurs à optimiser
j'espère que ça t'aidera à comprendre.
Merci
M1 =[0 1 2 3; 4 5 6 7; 10 11 12 13]
M2 = [20 21 22 23; 25 26 27 28; 29 30 31 32]
a=[2; 3; 4]
b= [0.1, 0.2, 0.3, 0.4]
a=3 => 2eme ligne des matrices M1 et M2
b= 0.3 => 3eme colonne des matrices M1 et M2
on obtient alors la valeur 6 contenu dans M1 et la valeur 27 contenu dans M2
maintenant je cherche à optimiser le couple de valeur (a,b) qui me permettrai d'obtenir le rapport des valeurs le plus grand soit ici 6/27 = valeurs à optimiser
j'espère que ça t'aidera à comprendre.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
9 juil. 2010 à 11:59
9 juil. 2010 à 11:59
Si je comprends bien, M1 et M2 sont indépendante de a et b (du moins de leur valeur).
le rapport des valeurs le plus grand, donc la maximum de l'un divisé par l'autre.
Si c'est ça :
M3=M1./M2;
[maxi,i]=max(M3);
[maxi,j]=max(max(M3));
et donc, ton couple est : (a(i),b(j)) pour la valeur "maxi".
Si ce n'est pas ça, c'est que ce n'est pas encore assez clair (on va y arriver à force).
le rapport des valeurs le plus grand, donc la maximum de l'un divisé par l'autre.
Si c'est ça :
M3=M1./M2;
[maxi,i]=max(M3);
[maxi,j]=max(max(M3));
et donc, ton couple est : (a(i),b(j)) pour la valeur "maxi".
Si ce n'est pas ça, c'est que ce n'est pas encore assez clair (on va y arriver à force).
je pense que l'on est sur le bon chemin. Pour trouver la max c'est parfait merci.
Maintenant je veux que mon rapport des valeurs soit égal à un nombre x.
Comment je peux itérer sur mes valeurs de M1 et M2 afin de trouver le/ les couple de valeur (a,b) respectant ma condition x?
j'essaie avec la Toolbox optimization de MATLAB mais je patauge un peu.
Maintenant je veux que mon rapport des valeurs soit égal à un nombre x.
Comment je peux itérer sur mes valeurs de M1 et M2 afin de trouver le/ les couple de valeur (a,b) respectant ma condition x?
j'essaie avec la Toolbox optimization de MATLAB mais je patauge un peu.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
9 juil. 2010 à 14:55
9 juil. 2010 à 14:55
je dirai :
M3=M1./M2 -x;
M3=abs(M3);
Et ensuite, à la place de max tu fait min. En faisant "-x" tu centre M3 sur la valeur que tu veux (c'est à dire que tu met à 0) ensuite, abs prend la valeur absolue, c'est à dire que tout ce qui est négatif deviens positif. Ainsi, tu sait que la casse que tu cherches est la plus proche de zéro, donc le minimum.
M3=M1./M2 -x;
M3=abs(M3);
Et ensuite, à la place de max tu fait min. En faisant "-x" tu centre M3 sur la valeur que tu veux (c'est à dire que tu met à 0) ensuite, abs prend la valeur absolue, c'est à dire que tout ce qui est négatif deviens positif. Ainsi, tu sait que la casse que tu cherches est la plus proche de zéro, donc le minimum.