implantation d'une fonction contenant une integrale sur matlab
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

implantation d'une fonction contenant une integrale sur matlab



  1. #1
    invite164df21a

    implantation d'une fonction contenant une integrale sur matlab


    ------

    bonjour,
    j'ai une fonction qui contient une intégrale que j'arrive pas à implémenter sur matlab, la voici

    avec:
    n et B deux inconnues à déterminer ultérieurement (c'est le but du code: optimisation de n et B)
    t est le temps: entier positif
    je suis débutante sur matlab et je confond tous, et toujours des messages d'erreur

    -----

  2. #2
    invitea29b3af3

    Re : implantation d'une fonction contenant une integrale sur matlab

    salut

    tu sais à quoi tu veux arriver? ce que je veux savoir est-ce que par exemple tu sais que cette intégrale vaut (par ex.) 37 et tu veux connaître n et B en fonction de ça?
    Et si j'ai bien compris, t est connu?

    j'ai essayé d'avoir l'expression approchée de l'intégrale avec:
    Code:
    syms y n B t
    f = y*((n-1)*B*1400*t+(-35.95*y)^(1-n))^(1/(1-n));
    int(f,-1.8,1.8)
    mais malheureusement Matlab ne trouve pas de solution d'expression explicite de l'intégrale. Message d'erreur: Warning: Explicit integral could not be found.

    Par contre si tu sais à quoi tu veux arriver, tu peux résoudre numériquement avec une fonction comme lsqonlin ou lsqcurvefit

  3. #3
    invite164df21a

    Re : implantation d'une fonction contenant une integrale sur matlab

    bonsoir,
    tu sais à quoi tu veux arriver? ce que je veux savoir est-ce que par exemple tu sais que cette intégrale vaut (par ex.) 37 et tu veux connaître n et B en fonction de ça?
    Et si j'ai bien compris, t est connu?
    en fait non je sais pas, ce que j'ai c'est la valeur de f en certain instant t, bien sur t est connu, n et b sont inconnus je cherche à les déterminer,
    pour ça j'ai un code d'optimisation qui marche correctement avec des fonction simples, j'ai voulu l'appliquer à cette fonction, mais pour ça, il faut implémenter la fonction j'ai déjà essayé ta proposition ainsi que la méthode du trapèze mais je reçoit toujours des messages d'erreurs

  4. #4
    invite164df21a

    Re : implantation d'une fonction contenant une integrale sur matlab

    en fait il ne reconnait pas syms
    Code:
    ??? Undefined function or method 'syms' for input arguments of type 'char'.
    
    Error in ==> main>f at 10
    syms v a(1) a(2) t

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

    Re : implantation d'une fonction contenant une integrale sur matlab

    je reçoit toujours des messages d'erreurs
    Mais si tu reçois des messages d'erreurs, ça veut sans doute dire qu'il y a une erreur, pas forcément que la méthode est fausse... A la limite montre-nous ton code, comme ça on pourra voir quel message d'erreur ça génère et voir où ça cloche.

    A part ça, si tu sais par exemple que pour t=3 tu as f=34, tu peux sans problème déterminer n et B de façon itérative, genre avec lsqonlin ou lsqcurvefit comme j'ai dit.


    EDIT:
    il ne reconnait pas syms
    je pense plutôt qu'il faut genre nommer c=a(1) et d=a(2) et faire syms v c d t

  7. #6
    invite164df21a

    Re : implantation d'une fonction contenant une integrale sur matlab

    bon voici le code
    Code:
    function main
    global ti yi	 
    ti = [10800 43200 86400 172800 604800];
    yi = [0.6 0.7 1 1.2 1.4];
    a0 = [0.1 5]; 
    asol = fminsearch ( @F, a0)
    plot (ti, yi, '*', ti, f(asol, ti))
    
    function y = f(a,t) 
    syms v a(1) a(2) t
    fc = v.*((a(2)-1).*a(1).*1400.*t+(-35.95.*v).^(1-a(2))).^(1/(1-a(2)));
    int(fc,-1.8,1.8);
    y=0.035.*int(fc,-1.8,1.8);
    
    function out = F(a)
    global ti yi
    out = sum ( (yi - f(a,ti)).^2 );

Discussions similaires

  1. Integrale d'une fonction impaire sur R
    Par inviteb7283ac9 dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 26/11/2010, 15h34
  2. Dérivée d'une fonction définie par une intégrale...
    Par invitef37901e4 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 09/10/2010, 09h59
  3. Comment insérer une fonction Matlab dans les paramètres d'entrée d'une autre fonction ??
    Par inviteac36b108 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 04/01/2010, 08h16
  4. TS Limite en -infini d'une fonction contenant racine
    Par invite72ea9d3f dans le forum Mathématiques du collège et du lycée
    Réponses: 15
    Dernier message: 16/09/2007, 20h43
  5. Dérivée d'une intégrale bornée par une fonction
    Par invite3e5ede0a dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 06/07/2007, 16h36