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ésoudre une équation dans un intervalle avec MATLAB 2013


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut Résoudre une équation dans un intervalle avec MATLAB 2013
    Bonjour
    Je suis bloqué dans ma programmation MATLAB car je n'arrive pas à lui faire résoudre une équation dans un intervalle donné.
    Je m'explique quand j'utilise cette ligne de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vpasolve(x^2-2==0,x,[-10 10])
    J'obtiens les solutions mais si je tape:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vpasolve(sin(x)==0,x,[-10 10])
    J'obtiens la seul solution "0"

    Avez vous une idée de comment trouvé les solutions de l'équation sin(x)==0 entre -10 et 10

    merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Par défaut
    En fait, le vpasolve te renvoie toutes les solutions à condition que ce soit une équation polynomiale. Si c'est non-polynomiale, alors il ne retourne que la première solution qu'il trouve. Ce qui explique que tu ne trouves que 0.

    Cf http://www.mathworks.nl/help/symbolic/vpasolve.html

    Par contre, n'ayant fait que très peu de résolution d'équation avec cet outil, je ne peux pas te guider vers une fonction te permettant de tout obtenir.

    Après une recherche un peu rapide, tu as la fonction solve qui retourne au moins trois valeurs :
    http://www.mathworks.nl/help/symbolic/dsolve.html

  3. #3
    Candidat au Club
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut
    Merci pour la réponse ur vpasolve. La fonction "solve" peut faire ce que je veux, d’ailleurs dans l'aide il me donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    solve(sin(x*PI/7) = 0, x = -22..22)
    Pour calculer la solution de l'équation "sin(x*PI/7) = 0" entre -22 et 22.

    Le problème c'est que cette fonction ne marche absolument pas sur matlab 2013 pourtant j'ai copier-coller...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Par défaut
    Même en mettant devant ton equation ceci ?
    N'hésites pas à poster ton code corrigé et à mettre également l'erreur renvoyé.

  5. #5
    Candidat au Club
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut
    Je pense avoir trouvé une technique donc je la mets:

    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
    syms a
    normMZ=1;
    LengthdiffMZ=400000; %(nanometer)
    coeffiberMZ=1;
    MZ(a)=2*normMZ*(1+cos((2*pi*LengthdiffMZ)./a)*coeffiberMZ);
    outputMZ=2.5;
     
    s=1;
    for i=1530:1559
    [sol]=vpasolve(MZ(a)==outputMZ,a,[i i+1]);
    if and(sol<=1560,sol>=1530)
        wavelengthMZ(s)=sol;
        s=s+1;
    else
    s=s;
    end
     
     
    end
    Je crois qu'elle fonctionne. En gros je fais faire la résolution sur plein de petits intervalles et si il y a une solution je la note dans un vecteur.

    Si vous avez une meilleur méthode je suis ouvert...

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/04/2015, 12h46
  2. Réponses: 3
    Dernier message: 08/12/2014, 14h45
  3. Passer une URL dans un form avec POST
    Par dldstyle dans le forum Langage
    Réponses: 5
    Dernier message: 30/04/2006, 20h09
  4. [EJBQL] Récupérer une donnée dans un EJB avec EJB/QL
    Par pblb62 dans le forum Java EE
    Réponses: 3
    Dernier message: 28/03/2006, 11h53
  5. Renvoi d'une valeur dans un champ avec un style
    Par m@thieu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/11/2005, 18h09

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