MATLAB : résolution d'une équation avec exponentielle complexe
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

MATLAB : résolution d'une équation avec exponentielle complexe



  1. #1
    invite90708822

    MATLAB : résolution d'une équation avec exponentielle complexe


    ------

    Salut tt le monde !!

    Quelqu'un aurait-il une idée lumineuse pour m'aider à résoudre une équation ac des exponentielles complexes ac MATLAB ?
    Je suis novice et j'ai un peu beaucoup du mal !!
    Merci

    -----

  2. #2
    phryte

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Bonjour.
    Tu devrais mettre ton post dans le forum "www.developpez.net matlab" !
    Les équations se résolvent avec 'solve". Exemple :

    solve('x^2-4*exp(i*pi/3)')
    ans =
    [ -3^(1/2)-i]
    [ 3^(1/2)+i]

    >> solve('x^2-2-2*i*sqrt(3)')
    ans =
    [ -3^(1/2)-i]
    [ 3^(1/2)+i]

  3. #3
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    J'ai déjà essayé plusieurs fois avec solve mais il me renvoie mon équation sans calculer l'inconnue.

    J'ai b= A*exp(i*beta+B)+C pour faire simple
    et je veux trouver les ou le beta tel que b=1
    donc j'ai fait solve('b-1')
    et il me renvoie b=1 puis b=A*exp(i*beta+B)+C, ce qui est logique mais moi je voudrais beta=...

  4. #4
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Maintenant quand j'utilise solve il me met :

    Error using ==> solve
    Unable to find closed form solution.


    Y a-t-il donc un autre moyen de trouver une solution à mon équation ?

  5. A voir en vidéo sur Futura
  6. #5
    phryte

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Bonjour.
    Je fais comme ça :
    solve('A*exp(i*beta+B)+C-1')

    ans =

    i*(B-log(-(C-1)/A))

  7. #6
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Le problème ça doit alors être que moi j'ai des sommes de produits entre des exponentielles et des logarithmes népérien dans lesquels se trouvent encore des exponentielles...
    et il n'arrive pas à trouver une solution approchée on dirait...

  8. #7
    phryte

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    j'ai des sommes de produits entre des exponentielles et des logarithmes népérien dans lesquels se trouvent encore des exponentielles...
    Fais nous voir ton équation.

  9. #8
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    function b=essaisophiebeta(alpha,Hobs,h o)

    beta=sym('beta')

    %on va calculer le beta tel que Hobs/ho=1 et alpha=5
    S=0
    for m=2:1:2
    for r=1:1:m-1
    %Definition de la fonction f(r)
    f=exp(-i*(2*r*alpha + beta))*log(1-exp(i*((1-2*r)*pi/m - pi*beta/(alpha*m)))) + exp(-i*(2*r*alpha - beta))*log(1 - exp(i*((1-2*r)*pi/m + pi*beta/(alpha*m)))) - 2*exp(-i*2*r*alpha)*log(1 - exp(i*(1-2*r)*pi/m));
    S=S+f;
    end
    end

    b=imag(S/pi) %on a b=partie imaginaire de S1

    solve ('imag(S/pi)-1')

    Voilà mon code
    si on le lance on obtient b
    mais pas le beta !!

  10. #9
    phryte

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Tu déclare chaine de caractères ce qui l'est déjà :
    Essaie :
    beta=sym('beta')
    %on va calculer le beta tel que Hobs/ho=1 et alpha=5
    S=0;
    alpha=5;
    for m=2:1:2
    for r=1:1:m-1
    %Definition de la fonction f(r)
    f=exp(-i*(2*r*alpha + beta))*log(1-exp(i*((1-2*r)*pi/m - pi*beta/(alpha*m))));% + exp(-i*(2*r*alpha - beta))*log(1 - exp(i*((1-2*r)*pi/m + pi*beta/(alpha*m)))) - 2*exp(-i*2*r*alpha)*log(1 - exp(i*(1-2*r)*pi/m));
    S=S+f;
    end
    end
    b=imag(S/pi) %on a b=partie imaginaire de S1

    solve (imag(S/pi)-1)
    solve(b-1)

  11. #10
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    J'ai essayé et ça ne change rien à mon problème. Il plante à la première ligne où il y a solve et me renvoie le même message d'erreur !

    ??? Error using ==> solve
    Unable to find closed form solution.

    Error in ==> essaisophiebeta at 18
    solve ('imag(S/pi)-1')


    Tu as essayé de faire tourner mon code et ça a marché avec tes 2 solves ?

  12. #11
    phryte

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Bonjour.
    Ce code marche bien :
    Code:
    beta=sym('beta')
    %on va calculer le beta tel que Hobs/ho=1 et alpha=5
    S=0;
    alpha=5;
    for m=2:1:2
    for r=1:1:m-1
    %Definition de la fonction f(r)
    f=exp(-i*(2*r*alpha + beta))*log(1-exp(i*((1-2*r)*pi/m - pi*beta/(alpha*m))));% + exp(-i*(2*r*alpha - beta))*log(1 - exp(i*((1-2*r)*pi/m + pi*beta/(alpha*m)))) - 2*exp(-i*2*r*alpha)*log(1 - exp(i*(1-2*r)*pi/m));
    S=S+f;
    end
    end
    b=imag(S/pi) %on a b=partie imaginaire de S1
    
    solve (imag(S/pi)-1)
    solve(b-1)
    b =

    -1/2*i*(exp(-i*(10+beta))*log(1-exp(i*(-1/2*pi-1/10*pi*beta)))/pi-1/pi*conj(exp(-i*(10+beta))*log(1-exp(i*(-1/2*pi-1/10*pi*beta)))))


    ans =

    -5.5418191053818922793595940022 748+1.842172594883654148697142 9201097*i


    ans =

    -5.5418191053818922793595940022 748+1.842172594883654148697142 92010

  13. #12
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Merci !!!
    Ca marche !!
    En fait j'avais mis des apostrophes :
    solve ('imag(S/pi)-1')
    solve('b-1')
    comme ils disent dans l'aide de MATLAB(version 7.0)
    Sans les apostrophes ça marche !!
    Merci beaucoup !!!!!
    Je vais passer à la suite maintenant !

  14. #13
    phryte

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    En fait j'avais mis des apostrophes :
    Il faut mettre les apostrophes quand on n'est pas en symbolique.

  15. #14
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Bonjour,
    Maintenant que j'ai la formule complexe de b, je cherche à trouver l'angle beta qui lui correspond. J'ai utilisé :

    R=abs(Z)
    theta=angle(Z)

    en posant Z=solve(b-1)

    Il trouve R sans problème mais pas l'angle theta. Il m'affiche :

    ??? Function 'atan2' is not defined for values of class 'sym'.

    Error in ==> atan2 at 15
    [varargout{1:nargout}] = builtin('atan2', varargin{:});

    Error in ==> essaisophiebeta at 24
    theta = atan2(imag(Z),real(Z))


    Pourtant je n'ai pas défini Z comme variable symbolique.

    D'ailleurs normalement le résultat b qu'il me donne devrait être une seule valeur non ? Un angle, vu qu'il résout b-1 et que l'inconnue dans b est beta. D'ailleurs je ne comprends pas trop pourquoi il faut écrire :

    solve (imag(S/pi)-1)
    Z=solve(b-1)


    car c'est deux fois la même chose qu'on lui demande là non ? Quel est le code qu'il réalise derrière ces deux solves pour me sortir un résultat ? Et à quoi correspond exactement ce résultat ?

    Merci de m'éclairer encore une fois. Tout n'est pas vraiment clair pour moi...

  16. #15
    phryte

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Bonjour.
    Essaie :
    theta = atan(imag(Z), real(Z))

  17. #16
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Il sert à quoi le 2 alors ? Là oui ça m'a renvoyé une valeur de theta. Mais ce résultat de theta c'est le beta de mon équation f(r) ? C'est les mêmes ?

  18. #17
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    Rebonjour ,

    Maintenant que, pour un alpha donné, j'arrive à avoir une valeur de beta, j'aimerais que toutes mes valeurs de beta s'inscrivent dans un vecteur colonne dont le nombre de lignes correspondrait au nombre de valeurs de alpha.

    J'ai donc initialisé mon vecteur :

    P=5
    theta=zeros(P,1)

    et rajouté une boucle :

    for alpha=1:1:P
    le reste
    end

    et il me calcule bien les différentes valeurs de beta en fonction des différents alpha ms ne range rien dans mon vecteur...

    Comment faire ?

  19. #18
    invite90708822

    Re : MATLAB : résolution d'une équation avec exponentielle complexe

    c'est bon. J'ai résolu mon problème !

Discussions similaires

  1. Fonction exponentielle et résolution d'une équation.
    Par invite8efa6fc2 dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 15/11/2008, 09h56
  2. résolution equation avec exponentielle
    Par invitec77afd19 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 09/07/2008, 15h44
  3. Résolution d'une équation avec puissances.
    Par invite618fbec2 dans le forum Mathématiques du collège et du lycée
    Réponses: 7
    Dernier message: 26/04/2008, 14h33
  4. résolution d'une équation complexe avec racines n-ièmes
    Par inviteee20e3bc dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 28/09/2007, 08h53
  5. Résolution d'une équation sous Matlab
    Par invite4621550e dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 07/05/2007, 16h38