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 :

Double intégrale et dérivée d'une fonction


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Double intégrale et dérivée d'une fonction
    bonjour,
    J'ai un problème de double intégrale et dérivé d'une fonction.j'ai tenté déjà de programmer et voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    clear all;
    d=1.7*10^-6;
    A=6.327;
    w=5; 
    epsilon0=8.86*10^-12;
     
    f=inline('epsilon0*A/d-w');
    c=int(int(f(A,d,w),0,6.327),0,6.327);
    j'aimerais savoir comment programmer le dérivé (dA) en matlab. La fonction (voir fichier attachée).

    Merci pour toute réponse.
    Meilleures salutations.
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    dA ne correspond pas à une dérivée, mais à la variation infinitésimale de ta surface, tout comme dx dans Nom : Intégrale.jpg
Affichages : 270
Taille : 1,4 Ko
    Quelles sont ici les variables d'intégration et la géométrie?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Salut Winjerome,
    Mon but est d’étudier la déflexion d’une membrane carré lorsqu’on applique une pression
    L’équation de ce système est une équation aux dérivées partielles de Lagrange d’ordre 4 est en dessous (voir les images)
    ∝_Si : Le coefficient d’anisotropie est constant
    La géométrie (la structure) est en dessous (voir les images)
    h : l’épaisseur de la membrane
    d : distance entre les deux armatures
    L : la longueur de la membrane (dans mon cas c’est « a »)
    A : est la surface de l’électrode
    La relation de la capacité est en dessous (voir les images)
    w(x,y,p) la déflexion bidimensionnelle de la membrane en fonction de la pression appliquée P au point des coordonnées cartésiennes (x,y) de la membrane.
    L’expression de la déflexion de la membrane de forme carrée en dessous (voir les images)
    W0 : déflexion de la membrane au centre
    D, K, Kij : sont des constants
    P : pression appliquée
    J’ai tenté déjà de programmer et voici le code :

    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
    37
    38
    39
    40
    41
    clear all;
     
    h=50*10^-6;
    d=1.7*10^-6;
    A=6.327;
    a=sqrt(A);
    eps=8.86*10^-12;
    nu=0.22;
    E=210*10^6;
    K=0.0220; 
    P=2;
     
    % Lorsqu'on applique une pression P
     
    D=(E*h^3)/(12*(1-nu^2));
     
    k02=0.2140;
    k20=0.2140;
    k22=0.2700;
    k40=-0.0062;
    k04=-0.0062;
    k42=0.0980;
    k24=0.0980;
    k44=-0.103;
     
     
    for x=1:a
        for y=1:a
     
            w(x,y)=(P*a^4*K/16*D*((1-(2*x/a)^2)^2)*((1-(2*y/a)^2)^2))*(1+(k02*(2*y/a)^2)+(k20*(2*x/a)^2)+(k22*(2*x/a)^2*(2*y/a)^2)+(k40*(2*x/a)^4)+(k04*(2*y/a)^4)+(k42*(2*x/a)^4*(2*y/a)^2)+(k24*(2*x/a)^2*(2*y/a)^4)+(k44*(2*x/a)^4*(2*y/a)^4));
        end
    end
     
    f=inline('eps/d-w(x,y)');
    c=int(int(f(d,w),0,6.327),0,6.327);
     
    plot(P,c,'--rs');
    grid on;
    ylabel('capacité (pF)');
    xlabel('pression (bar)');
    title('capacité en fonction de la pression');
    J’aimerais savoir le problème de cette erreur :
    ??? Error using ==> inline.subsref at 14
    Not enough inputs to inline function.
    Error in ==> capts2 at 36
    c=int(int(f(d,w),0,6.327),0,6.327);
    
    Et comment programmer l’équation aux dérivées partielles de Lagrange d’ordre 4 en MATLAB

    Merci pour toute réponse.
    Meilleures salutations.
    Images attachées Images attachées      

  4. #4
    Invité
    Invité(e)
    Par défaut
    Alors concernant ton erreur: ta fonction inline est définie telle que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    f=inline('eps/(d-w(x,y))')
    
    f =
    
         Inline function:
         f(d,x,y) = eps/(d-w(x,y))
    Qui accepte 3 paramètres d'entrées: d, x et y et non seulement 2 comme tu le fais à la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c=int(int(f(d,w),0,6.327),0,6.327);
    Autre chose importante: eps est le nom d'une fonction MATLAB, et la définition telle que tu la donnes l’interprète en tant que telle. Reviens-en donc à epsilon0 ou n'importe quel autre nom non déjà utilisé par MATLAB (voir ceci).

    Ensuite, ces lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for x=1:a
        for y=1:a
            w(x,y)=(P*a^4*K/16*D*((1-(2*x/a)^2)^2)*((1-(2*y/a)^2)^2))*(1+(k02*(2*y/a)^2)+(k20*(2*x/a)^2)+(k22*(2*x/a)^2*(2*y/a)^2)+(k40*(2*x/a)^4)+(k04*(2*y/a)^4)+(k42*(2*x/a)^4*(2*y/a)^2)+(k24*(2*x/a)^2*(2*y/a)^4)+(k44*(2*x/a)^4*(2*y/a)^4));
        end
    end
    Ne te serviront à rien dans ce calcul symbolique, il te faudra utiliser une fonction.

    >> Ton calcul étant numérique, je te conseille de justement utiliser ces lignes et la fonction doc trapz. Une petite recherche sur le forum te donnera des exemples.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Les variables d'intégration -a/2 jusqu'à +a/2
    j'ai essayé de programmer
    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
    37
    38
    39
    40
    41
    42
    clear all;
     
    h=50*10^-6;
    d=1.7*10^-6;
    A=6.327;
    a=sqrt(A);
    epsilon0=8.86*10^-12;
    nu=0.22;
    E=210*10^6;
    K=0.0220; 
    P=2;
     
    % Lorsqu'on applique une pression P
     
    D=(E*h^3)/(12*(1-nu^2));
     
    k02=0.2140;
    k20=0.2140;
    k22=0.2700;
    k40=-0.0062;
    k04=-0.0062;
    k42=0.0980;
    k24=0.0980;
    k44=-0.103;
     
     
    for x=1:a
        for y=1:a
     
    w(x,y)=(P*a^4*K/16*D*((1-(2*x/a)^2)^2)*((1-(2*y/a)^2)^2))*(1+(k02*(2*y/a)^2)+(k20*(2*x/a)^2)+(k22*(2*x/a)^2*(2*y/a)^2)+(k40*(2*x/a)^4)+(k04*(2*y/a)^4)+(k42*(2*x/a)^4*(2*y/a)^2)+(k24*(2*x/a)^2*(2*y/a)^4)+(k44*(2*x/a)^4*(2*y/a)^4));
        end
    end
     
    Y=epsilon0/(d-w(x,y));
    X=-a/2:1:a/2;
    Z=trapz(X,Y);
     
    plot(P,Z,'--rs');
    grid on;
    ylabel('capacité (pF)');
    xlabel('pression (bar)');
    title('capacité en fonction de la pression');
    J’aimerais savoir le problème de cette erreur :
    ??? Error using ==> permute
    ORDER contains an invalid permutation index
    
    Error in ==> trapz at 44
      y = permute(y,perm);
    
    Error in ==> capts3 at 37
    Z=trapz(X,Y);
    Et comment programmer l’équation aux dérivées partielles de Lagrange d’ordre 4 en MATLAB?

    Merci pour toute réponse.
    Meilleures salutations.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Regarde les dimensions de tes variables X et Y, à priori, elles devraient être les mêmes.

Discussions similaires

  1. calcul de dérivée d'une fonction
    Par maria2013 dans le forum R
    Réponses: 3
    Dernier message: 03/08/2013, 02h08
  2. Dérivée d'une fonction
    Par arbas dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/01/2012, 11h47
  3. Dérivée d'une fonction à deux dimensions f(x,y)
    Par an1981 dans le forum MATLAB
    Réponses: 4
    Dernier message: 12/02/2008, 09h29
  4. dériveé d'une fonction
    Par speedcore dans le forum C
    Réponses: 3
    Dernier message: 09/04/2006, 14h49
  5. codage du calcul de dérivée d'une fonction mathématique
    Par pispa2005 dans le forum Mathématiques
    Réponses: 5
    Dernier message: 08/01/2005, 20h54

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