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 :

Résolution système équations avec de multiples puissances


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Résolution système équations avec de multiples puissances
    Bonjour,

    j'ai trouvé une formule dans un vieux bouquin de colorimétrie (1990) pour convertir des coordonnées colorimétriques xy dans un diagramme de chromaticité "géodésique" réalisé par MacAdam en 1971.

    Le diagramme en question me semble intéressant et je voudrais comparer sa métrique avec celle du CIELAB. Mais pour cela je dois trouver comment convertir les coordonnées du MacAdam en xy, et ce n'est pas dans le bouquin.

    Les formules de (x,y) vers MacAdam (ζ,μ) sont les suivantes :

    xy vers ζμ :

    ζ = 3751*a*a-10*a^4-520*b*b+13295*b^3+32327*a*b-25491*a*a*b-41672*a*b*b+10*a^3*b-5227*a^(1/2)+2952*a^(1/4)

    avec :

    a = 10*x/(2.4*x+34*y+1) et b = 10*y/(2.4*x+34*y+1)

    et :

    μ = 404*b' - 185*b'*b'+52*b'^3+69*a'*(1-b'*b')-3*a'*a'*b'+30*a'*b'^3

    avec :

    a' = 10*x/(4.2*y-x+1) et b' = 10*y/(4.2*y-x+1)


    Je voudrais un calcul qui me donne les coordonnées xy à partir des coordonnées ζμ, est-ce possible de créer cette solution avec Matlab ?

    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Tu peux toujours utiliser fsolve ou fmincon pour résoudre f(a)=b.
    Mais pour une utilisation intensive, il est surement plus judicieux de résoudre le système mathématiquement si possible

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci VV33D

    malheureusement je ne comprends pas bien la marche à suivre.

    Aussi, comment savoir si le problème est solvable mathématiquement ou pas ?

    Merci

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    solvable mathématiquement ou pas
    Question difficile, mais vu la tête du système, je ne pense pas. Par contre, il peut être utile de regarder certaines de ses propriétés (convexité, monotonie etc) pour optimiser le calcul de l'inverse.

    Entre autre, est on assuré de l'unicité de (x,y) pour toute valeur (ζ,μ) donnée ?

    je ne comprends pas bien la marche à suivre
    Pour résoudre f(x)= a ; en x avec a fixé ; on peut:
    - chercher les zeros de f(x)-a (fonction fsolve)
    - minimiser (f(x)-a)^2 (fonction fmincon)

    Il faut f() de classe C2.

    Je te conseille de lire la doc de ces fonctions et de t'entrainer avec des fonction simple genre (x-1)^2 + (y-3)^2 avant de coder ton système.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par VV33D Voir le message
    Question difficile, mais vu la tête du système, je ne pense pas. Par contre, il peut être utile de regarder certaines de ses propriétés (convexité, monotonie etc) pour optimiser le calcul de l'inverse.

    Entre autre, est on assuré de l'unicité de (x,y) pour toute valeur (ζ,μ) donnée ?

    OUI, ça c'est certain, c'est une conversion d'un diagramme linéaire à un autre diagramme pas du tout linéaire


    Pour résoudre f(x)= a ; en x avec a fixé ; on peut:
    - chercher les zeros de f(x)-a (fonction fsolve)
    - minimiser (f(x)-a)^2 (fonction fmincon)

    Il faut f() de classe C2.

    f() de classe C2? c'est à dire?


    Je te conseille de lire la doc de ces fonctions et de t'entrainer avec des fonction simple genre (x-1)^2 + (y-3)^2 avant de coder ton système.
    Merci

  6. #6
    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!
    Même si ce n'est pas la plus rapide, la méthode de la dichotomie est la plus simple à programmer et, dans la plupart des cas, la plus fiable.
    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)

  7. #7
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    f de classe C2 <=> f 2 fois dérivable, et x -> f''(x) continue (par rapport au vecteur de ses arguments)

    OUI, ça c'est certain
    Par exemple, le passage de coordonnées cartésienne en polaires ou cylindrique n'est injectif que si on contraint les angles.

Discussions similaires

  1. Résolution système linéaire avec contraintes
    Par Triton972 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 25/10/2011, 19h32
  2. Résolution d'équation avec les moindres carrés
    Par jerome828 dans le forum Mathématiques
    Réponses: 3
    Dernier message: 13/10/2011, 17h13
  3. Résolution d'équation avec intégrale
    Par kalkuling dans le forum MATLAB
    Réponses: 0
    Dernier message: 26/11/2009, 03h29
  4. [Débutant] Résolution d'équation avec exponentielles complexes
    Par lasoff38 dans le forum MATLAB
    Réponses: 2
    Dernier message: 25/03/2009, 14h36
  5. Résolution d'équation avec contraintes
    Par ZBour dans le forum MATLAB
    Réponses: 4
    Dernier message: 20/02/2008, 11h26

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