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

Mathématiques Discussion :

Recherche de minimum


Sujet :

Mathématiques

  1. #1
    Membre habitué Avatar de ABN84
    Inscrit en
    Octobre 2007
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2007
    Messages : 410
    Points : 149
    Points
    149
    Par défaut Recherche de minimum
    bonjour,
    je cherche à inverser "un systeme d'equations" par iterations.
    ce sont des equations sinusoidales à deux variables donc voici ma demarche:
    je fais varier ces deux variables i1 et i2 de -pi à +pi. et calcule pour chauqe valeur le resultat du systeme. et je cherche donc les valeurs de i1 et i2 qui minimisent l'ecart de la sortie par rapport aux valeurs que je cible. je peux donc idetifier les i1,i2 les plus proches de la solution exacte. mon probleme est pour certaines valeurs l'algo marche mais parfois non (ex: pour [300 0 -200 0]) si qqun a une petite idée sur comment corriger cet algo ça m'aiderait. merci.
    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
    function Q=MGI_SCARA(coord)
     
    l1=200;
    l2=200;
     
    x=coord(1);
    y=coord(2);
    z=coord(3);
    psy=coord(4);
     
    % seul Q4 donne la valeur de Z donc Q4=Z
    q4=-z;                                    
    % pour une position xy donnée deux coordonnées articulaires donne le bon
    % resultat. on choisira l'une des deux.
    beta=acos((l1^2+(sqrt(x^2+y^2))^2-l2^2)/(2*l1*sqrt(x^2+y^2)));
    % methode incrementale:
     
    for i1=-pi:0.01:pi
        for i2=-pi:0.01:pi
            xeval(round((pi+i1)*100+1),round((pi+i2)*100+1))=200*cos(i1)*cos(i2)-200*sin(i1)*sin(i2)+200*cos(i1);
            yeval(round((pi+i1)*100+1),round((pi+i2)*100+1))=200*sin(i1)*cos(i2)+200*cos(i1)*sin(i2)+200*sin(i1);
        end
    end
     
    Dx=abs(x-xeval);
    Dy=abs(y-yeval);
    m=Dx.*Dy;
    [a,b]=find(m==min(min(m)));
    q1=(a-1)/100-pi;
    q2=(b-1)/100-pi;
     
    q3=q1+q2-psy;
     
    Q=[q1;q2;q3;q4];
     
    end
    PS: les probleme ne se pose que pour q1,q2 respectivement x,y.
    "Celui qui n'a jamais fait d'erreurs n'a jamais rien essayé"A. Einstein
    "La différence entre la stupidité et le génie est que le génie a ses limites"A. Einstein
    "c'est en forgeant qu'on devient forgeron"

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    je cherche à inverser "un systeme d'equations" par iterations.
    Cette question ne concerne pas spécifiquement Matlab. Je la transfère donc dans le forum algo/maths.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  3. #3
    Membre habitué Avatar de ABN84
    Inscrit en
    Octobre 2007
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2007
    Messages : 410
    Points : 149
    Points
    149
    Par défaut
    Cette question ne concerne pas spécifiquement Matlab. Je la transfère donc dans le forum algo/maths.
    bien au contraire, ça n'a rien à voir avec les math, cette phrase ne servait qu'à remettre mon probleme dans son contexte.
    mon probleme est purement de programmation.
    en gros ce que je cherche c'est identifier la position (la meme) des cases dans les matrices xeval et yeval qui minimise au plus xeval-"une certaine valeur" et yeval-"une autre certaine valeur"
    "Celui qui n'a jamais fait d'erreurs n'a jamais rien essayé"A. Einstein
    "La différence entre la stupidité et le génie est que le génie a ses limites"A. Einstein
    "c'est en forgeant qu'on devient forgeron"

Discussions similaires

  1. pbk de requete sur 2 tables : recherche de minimum
    Par juzii dans le forum Langage SQL
    Réponses: 30
    Dernier message: 27/08/2008, 14h54
  2. Recherche de minimum global
    Par nini94 dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/08/2008, 12h10
  3. Recherche du minimum d'une fonction sur un intervalle
    Par jschutz dans le forum Mathématiques
    Réponses: 6
    Dernier message: 18/03/2008, 14h25
  4. [Débutant] Recherche de minimum non nul dans une matrice
    Par sebastien69 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/06/2007, 16h00
  5. recherche du minimum dans un vector
    Par javamax dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 22/10/2006, 09h43

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