Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

grand besoin d'aide sur matlab....



  1. #1
    sonaluna

    grand besoin d'aide sur matlab....

    --------------------------------------------------------------------------------

    Voilà j'ai un programme à écrire en matlab et je ne vois vraiment pas comment faire. Car ce que l'on me demande est beaucoup trop complexe par rapport aun peu d'heures d'enseignement que j'ai eu sur matlab.

    Alors si vous pouvez m'aider rien qu'un petit peu afin de m'aider à avancer je vous en serais énormément reconnaissante..

    voilà le sujet

    je dois écrire un programme permettant de visualiser à 3D la fonction à deux dimensions
    F(x,y)=exp(-[x²/a²+y²/b²]) et cos ax+cosby et e^(-ax)sin(by)

    je dois écrire une routine de test qui diommensionne la figure aux paramètres a et b et une autre routine qui utilise repmat au lieu de meshgrid

    Voilà si ce sujet vous inspire plus que moi....

    ce serait vraiment super sympa de m'aider

    -----


  2. Publicité
  3. #2
    jepoirrier

    Post Re : grand besoin d'aide sur matlab....

    Salut,

    Je n'ai pas bien compris ton énoncé, en fait (probablement parce que les maths, c'est loin pour moi) :
    Citation Envoyé par sonaluna
    je dois écrire un programme permettant de visualiser à 3D la fonction à deux dimensions
    F(x,y)=exp(-[x²/a²+y²/b²]) et cos ax+cosby et e^(-ax)sin(by)
    Il y a 3 équations là ? Pourquoi il n'y a pas 2 membres aux 2 dernières équations ?
    Code:
    F(x,y)=exp(-[x²/a²+y²/b²])
    cos ax+cosby
    e^(-ax)sin(by)
    T'es sûr(e) que tu as bien noté l'énoncé ? Si oui, comment résoudrais-tu ces équations "sur papier" ? Généralement, sous Matlab, tu peux appliquer la solution papier au script que tu vas écrire (puis tu optimises ).
    Citation Envoyé par sonaluna
    je dois écrire une routine de test qui diommensionne la figure aux paramètres a et b et une autre routine qui utilise repmat au lieu de meshgrid
    Cà fait partie du même exercice ou bien c'est un autre exercice ? As-tu regardé comment utiliser ces 2 fonctions dans l'aide ("help repmat" et "help meshgrid") ?

    P.S. : je n'ai pas eu le temps de répondre à ton message privé concernant la même question, c'est pourquoi je répond ici

  4. #3
    sonaluna

    Re : grand besoin d'aide sur matlab....

    Tout d'abord je vous remercie,
    Je dois représenter 3 fonctions en 3D
    F(x,y)=exp(-[x²/a²+y²/b²])
    G(x,y)=cos ax+cosby
    H(x,y)=e^(-ax)*sin(by)

    J'ai réussi à les représenter en posant a et b, le problème est que je dois maintenant arriver à parametrer chaque graphique de manière à ce que les échelles de mes axes soient en accord avec la partie interessante de mon graphique....qu'elle que soit a et b et c'est là que je suis coincée....je ne sais pas trop comment faire....

    merci de votre réponse

  5. #4
    jepoirrier

    Re : grand besoin d'aide sur matlab....

    Salut,

    Je suppose que tu es arrivé à la même chose que moi pour résoudre séparément chaque équation. Quelque chose comme ceci :
    Code:
    a = 5;
    b = 17;
    
    a2 = a * a;
    b2 = b * b;
    
    for x = 1:100
        for y = 1:100
            f(x, y) = exp(-(x * x / a2 + y * y / b2));
        end
    end
    
    surf(f); % qui calibre les axes pour tout voir
    Je me suis demandé aussi comment faire pour trouver a et b. Puis je me suis rappelé qu'on pouvait calculer des systèmes d'équations (désolé de débarquer et de trouver cela intéressant : je ne suis pas mathématicien). Donc, pour moi, en l'état actuel, on doit résoudre les 3 équations ensembles. C'est çà ? Si c'est bien le cas, je chercherais à résoudre le système, trouver a, b et résoudre. J'ai commencé comme çà mais je ne sais pas si c'est la bonne solution ...
    Code:
    F(x,y)=exp(-[x²/a²+y²/b²])
    
    G(x,y)=cos ax+cosby
    ---> pour G(x, y) = 0 : 0 = cos(a*x)+cos(b*y)
    ---> cos(a*x) = -cos(b*y)
    ---> a*x = acos(-cos(b*y))                  [1]
    ---> a = acos(-cos(b*y)) / x                [2]
    
    H(x,y)=e^(-ax)*sin(by)
    ---> pour H(x, y) = 1 : 1 = exp(-a*x)*sin(b*y)
    ---> 0 = -a*x + log(sin(b*y))
    ---> a*x = log(sin(b * y))                  [3]
    ---> OU : 1 / exp(-a/x) = sin(b*y)
    ---> b*y = asin(1/exp(-a/x))                [4]
    
    ---> avec [1] et [3] :
    ---> acos(-cos(b*y)) = log(sin(b * y))
    et après ?
    
    ---> avec [2] et [4] :
     ---> a = acos(-cos(asin(1/exp(-a/x)))) / x
    et après ?
    Et après ? ...

  6. #5
    sonaluna

    Re : grand besoin d'aide sur matlab....

    Pour la première partie, j'ai effectivement trouver cela, par contre les 3 équations sont à résoudre séparement...je l'ai afficherai dans trois cadres différentes en même temps, je n'ai toujoyrs pas résolu mon problème pour adapter les axes quelles que soinet les valeurs de a et de b que je donne. Je cherche actuellement aussi à utiliser repmat....je cherche ...je cherche un peu dans le brouillard .....je vous remercie beaucoup de m'aider c'est vraiment sympa... je dois rendre mon programme dasn 15 jours....j'espère réussir à le finir correctement.

    Merci encore

  7. A voir en vidéo sur Futura
  8. #6
    jepoirrier

    Re : grand besoin d'aide sur matlab....

    S'il faut resoudre les 3 equations separement, ca devient plus facile. Si je ne donne pas les valeurs des axes a Matlab, il les calibrera pour qu'on puisse voir tout.

    Si je fixe les valeurs de a et b au debut, voila ce que je ferais ...
    Code:
    % Sonaluna2
    % F(x,y)=exp(-[x²/a²+y²/b²])
    % G(x,y)=cos ax+cosby
    % H(x,y)=e^(-ax)*sin(by)
    
    % Definition de constantes
    a = 2;
    b = 3;
    
    % Utilisation de meshgrid, plus facile qu'une boucle :-)
    % Voir "help meshgrid"
    
    [X,Y] = meshgrid(-5:.1:5, -5:.1:5);
    F = exp(-(X.^2/a^2) + (Y.^2/b^2));
    G = cos(a*X)+cos(b*Y);
    H = exp(-a*X)*sin(b*Y);
    
    % Utilisation de repmat (pour moi = simple recopie de matrice)
    % Voir "help repmat"
    
    RMF = repmat(F, 2, 2);
    RMG = repmat(G, 2, 2);
    RMH = repmat(H, 2, 2);
    
    % Affichage de F, G, H a gauche et de RMF, RMG, RMH a droite
    subplot(3,2,1);
    mesh(F);
    title('F');
    subplot(3,2,2);
    mesh(RMF);
    title('repmat de F');
    subplot(3,2,3);
    mesh(G);
    title('G');
    subplot(3,2,4);
    mesh(RMG);
    title('repmat de G');
    subplot(3,2,5);
    mesh(H);
    title('H');
    subplot(3,2,6);
    mesh(RMH);
    title('repmat de H');
    Le fichier .mat est ici, la figure resultante est ceci (agrandissement ici):


    Est-ce que ca repond a ta question ?
    Et si vous n'avez pas vu grand chose dans Matlab, comment font les autres pour resoudre l'exercice ?

  9. Publicité

Sur le même thème :

Discussions similaires

  1. Besoin d'aide en MATLAB
    Par gregoory dans le forum Mathématiques du supérieur
    Réponses: 33
    Dernier message: 15/01/2010, 19h05
  2. [Matlab] Besoin d'aide sur les modifications apportées par la commande figure
    Par Stud-ENSPG dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 20/07/2007, 15h16
  3. grand besoin d'aide
    Par mathgros dans le forum Électronique
    Réponses: 0
    Dernier message: 10/02/2007, 10h19
  4. Matlab - besoin d'aide sur la fonction guide
    Par mamouth38 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/06/2006, 08h32