aide svppp
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

aide svppp



  1. #1
    invitec61d261b

    aide svppp


    ------

    Bonjour
    j'ai besoin d'aide car je me trouve vraiment bloquée a vous les matheux de m'aider svp :
    bon j'ai la fonction suivante :
    h(t) = h0*U(t-t1) %U(t-t1) est la fonction échelon décalée a t1
    les questions :
    1- si je veut obtenir h^(3/2) alors je l'écrit comme ca :

    h^(3/2)= (h0^(3/2))*(U(t-t1)^(3/2))??
    2-je veut calculer l’intégrale de cette fonction donc je me trouve censée de calculer cet intégrale :
    f= intégrale((t^(3/2))* exp(-a*t)) les bornes de l’intégrale sont [0 20]; avec a: constante et t est le temps (variable )
    j'ai essayé de faire cette integrale avec matlab mais il m'affiche cette message d'erreur

    Warning: Explicit integral could not be found.

    ans =

    piecewise([not a in R_, pi^(1/2)/(2*a^(3/2)) - (pi^(1/2)*erfc((20*a)^(1/2)))/(2*a^(3/2)) - (2*5^(1/2))/(a*exp(20*a))], [Otherwise, int(x^(1/2)/exp(a*x), x = 0..20)])
    alors pouvez vous m'aider svp
    merci

    -----

  2. #2
    invitec61d261b

    Re : aide svppp

    rebonjour
    je veut juste corriger une chose la fonction dont je dispose est la fonction suivante :
    h(t) = h0 * y(t)
    avec y(t) = t/t1 si t<= t1
    =1 si t>t1
    MERCI

  3. #3
    invite152a412d

    Re : aide svppp

    Pour être sur de ne pas me tromper , tu cherches bien :


  4. #4
    invitec61d261b

    Re : aide svppp

    d'abord merci,
    et oui c'est bien ça ce que je cherche
    pouvez vous m'aider?

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

    Re : aide svppp

    Salut

    Qu'est-ce que tu as fait sous Matlab? Il y a des fonctions toutes faites pour les intégrales. Du genre la fonction quad.
    Tu crées une fonction "ma_fonction":
    Code:
    function f = ma_fonction(t)
    a = 2; %par exemple
    f = t.^(3/2).*exp(-a*t);
    end
    Et tu calcules l'intégrale
    Code:
    Q = quad(@ma_fonction,0,20);
    Par exemple avec a=2 on trouve Q=0.235.

  7. #6
    invitec61d261b

    Re : aide svppp

    merci fiatlux
    mais la en fait (a) c'est pas une constante mais en fait tout l’intégrale représente la transformée de Laplace donc (a) c'est plutôt le paramètre (p) de la transformée de Laplace.

  8. #7
    invitea29b3af3

    Re : aide svppp

    Ok d'accord mais alors tu veux faire quoi exactement? Si tu veux l'expression analytique de l'intégrale, c'est pas Matlab qui va t'aider.
    Et tu peux me montrer le code qui a généré ton erreur?

  9. #8
    invitec61d261b

    Re : aide svppp

    non je veut pas avoir la forme analytique moi je veut bien faire la transformée de Laplace de la fonction (h^(3/2))(t) avec h(t) = h0*y(t) et y(t) est la fonction rampe .
    tout simplement la première partie de l’intégrale c'est cette partie que je peut pas calculer??? c'est bien l’intégrale entre 0 et 20 de la fonction suivante : f = t.^(3/2).*exp(-a*t);
    et la j'ai utilisé matlab :

    > syms a ;
    >> f=(x^(3/2))*exp(-a*x);
    >> int(f,0,20)
    Warning: Explicit integral could not be found.

    ans =

    piecewise([not a in R_, (3*pi^(1/2))/(4*a^(5/2)) - (3*pi^(1/2)*erfc((20*a)^(1/2)))/(4*a^(5/2)) - (20*20^(1/2))/(a*exp(20*a)) - (3*20^(1/2))/(2*a^2*exp(20*a))], [Otherwise, int(x^(3/2)/exp(a*x), x = 0..20)])

    >> f=x^2*exp(-a*x);
    >> int(f,0,20)

    ans =

    2/a^3 - (400*a^2 + 40*a + 2)/(a^3*exp(20*a))
    le problème c'est avec x^(3/2) ne me donne pas la solution par contre pour x² il donne la solution
    j’espère que t'as compris ce que je vient de faire

  10. #9
    invitea29b3af3

    Re : aide svppp

    Ben en fait si ça marche. Bon personnellement j'ai pas exactement la même réponse que toi, j'ai (ça dépend peut-être de la version de Matlab):
    Code:
    piecewise([abs(arg(a)) <= pi/2 and a <> 0, (20^(1/2)*(3*pi^(1/2)*erf((20*a)^(1/2)) - (6*(20*a)^(1/2))/exp(20*a))*(20*a)^(1/2))/(80*a^3) - (20*20^(1/2))/(a*exp(20*a))], [Otherwise, int(x^(3/2)/exp(a*x), x = 0..20)])
    (version Matlab 7.9.0 2009b). Mais ta réponse revient au même. "not in R_" c'est "a" non-négatif.
    En gros il te dit que si abs(arg(a)) <= pi/2 (c'est-à-dire "a" non-négatif) et "a" différent de 0, la solution est donnée par (20^(1/2))*etc... Tu peux essayer, mets une valeur positive pour "a", ça marche.
    Sinon (c'est-à-dire si "a" est négatif), alors il te dit de calculer int(x^(3/2)/exp(a*x) au lieu de int(x^(3/2)/exp(-a*x). Traduction, si tu veux calculer pour a=-2, tu enlèves le signe moins dans l'exponentielle. Ce qui est logique.
    La raison pour laquelle il veut "a" non-nul est logique puisque "a" apparaît au dénominateur à certains endroits. La raison pourquoi il le veut positif est parce qu'on a "a^(1/2)" à plusieurs endroits, donc racine de a.
    Ce problème de racine n'apparaît effectivement pas pour la réponse avec x^2, d'où le fait qu'il ne fait pas de distinction entre a>0 et a<0 et donc ne te met pas de "Warning". Par contre on aurait pu s'attendre à ce qu'il mette quand même un message d'avertissement pour dire qu'il faut "a" différent de 0.

  11. #10
    invitec61d261b

    Re : aide svppp

    merci beaucoup pour ta réponse et c'est vrai t'as raison en fait j'ai pensé que c'est un message d’erreur et voila enfin mon problème est résolu merci beaucoup pour ta précieuse aide .

  12. #11
    invitec61d261b

    Re : aide svppp

    mais la ( a ) représente le paramètre en domaine de Laplace c'est a dire je n'est pas d'information sur a(s ou p d'habitude) et donc tu me conseille d'utiliser l’expression que donne matlab??

  13. #12
    invitea29b3af3

    Re : aide svppp

    Bon, je ne suis de loin pas un spécialiste et je ne sais pas comment tu comptes l'utiliser, mais tu peux faire une fonction "par morceaux".
    Code:
    F(p) = f(p) si p>0
         = f(-p) si p<0 
         = 715.5418 si p=0
    Mais comme je t'ai dit, moi et Laplace ça fait 2, j'ai vu ça y'a longtemps, je n'ai jamais utilisé, donc...
    A noter quand même que la transformée de Laplace de t^2/2 est 1/p^3 donc celle de t^2 et 2/p^3 et en fait tu peux voir que, à par pour des valeurs très petites (tendant vers 0, là où ça commence à diverger), ça:
    2/a^3 - (400*a^2 + 40*a + 2)/(a^3*exp(20*a))
    vaut bien la même chose que ça:
    2/a^3

  14. #13
    invitec61d261b

    Re : aide svppp

    on ne peut pas faire comme ca cad par morceau on fait lorsque tu utilise latransformée de laplace c'est qu'o utilise un paramétre p :
    je vait t'expliquer un peu l'idée :
    moi j'

  15. #14
    invitec61d261b

    Re : aide svppp

    on ne peut pas faire comme ca cad par morceau on fait lorsque tu utilise latransformée de laplace c'est qu'o utilise un paramétre p :
    je vait t'expliquer un peu l'idée :
    moi j'ai la foction suivante :
    h(t) = h0 * y(t)
    y(t) = t/t1 si t<=t1
    = 1 si t>t1
    moi je veut faire la transformée de Laplace de la fonction g(t) = (y(t))^(3/2)
    alors je doit faire l'intégrale entre 0 et +infini de la fonction g(t)*exp(-p*t) avec paramètre du domaine de Laplace.Donc on doit pas parler de p ositif ou négatif.
    J'espére que c'est bien compris

  16. #15
    invitea29b3af3

    Re : aide svppp

    Ben dans ce cas-là tu en sais plus que moi, comment veux-tu que t'aide
    J'ai juste aidé pour l'aspect Matlab, mais pour l'aspect Laplace, c'est pas à moi qu'il faut demander

  17. #16
    invitec61d261b

    Re : aide svppp

    nnon justement j'ai pas demander ça j'ai juste voulu t’éclaircir le problème c tout
    en plus voila j'ai trouvé enfin la solution c'est ce que me donne matlab lorsque a est positif. tu peut voir le document cijoint
    Images attachées Images attachées

  18. #17
    invite8241b23e

    Re : aide svppp

    Salut !

    Ce document est-il libre de droits ?

  19. #18
    invitec61d261b

    Re : aide svppp

    ?? g pas compris

  20. #19
    invitea29b3af3

    Re : aide svppp

    ?? g pas compris
    Avant qu'il puisse valider la pièce jointe (pour que je puisse la voir), il veut savoir si tu as le droit de la partager. C'est comme pour un film, est-ce qu'il y a des droits d'auteur sur ce document ? Il n'a pas le droit de valider des documents protégés. D'où sa question: sont-ils libres de droits?

    tu me conseille d'utiliser l’expression que donne matlab??
    nnon justement j'ai pas demander ça j'ai juste voulu t’éclaircir le problème c tout
    C'est quand même un peu contradictoire, hein D'abord tu me poses une question, puis en fait non tu voulais juste m'expliquer quelque chose.

  21. #20
    invitec61d261b

    Re : aide svppp

    BONJOUR
    pour le document je l'ai trouvé sur internet.
    concernant la contradiction je veut te dire quelque chose,d'abord je t'ai demandé est ce que je doit utiliser l'expression que me donne matlab t'as dit oui moi j'ai compris.
    Après tu m'as parlé de valeur négatif et positif de a j'ai dit que non c'est un transformée de Laplace on ne parle pas de négatif et positif tu m'as dit que c mon truc donc toi tu m'as aider en matlab et c'est bon et tu m'as demandé qu'est ce que je veut encore de toi moi j'ai dit non c bon juste pour t'expliquer le truc du paramètre a c tou et après j'ai trouvé le document qui indique que ce paramètre est positif.Et voila
    je pense qu'il ya pas de contradiction maintenant

  22. #21
    invite8241b23e

    Re : aide svppp

    Salut !

    Si tu l'as trouvé sur internet, peux-tu mettre un lien vers le lieu où il était ?

  23. #22
    invitec61d261b

    Re : aide svppp


  24. #23
    invitec61d261b

    Re : aide svppp

    bonjour
    j'ai de nouveau un problème :
    voila le code que j'ai utilisé pour minimiser l'erreur entre deux courbes expérimentales et numérique:
    le code principal est (minas):
    clear;


    lam0=[0.01 0.05 0.05 ]
    t0=clock;
    optio=optimset('TolFun',10e-8,'TolX',10e-7,'MaxFunEvals',2000,'MaxIter' ,1500,'display','iter','DiffMi nChange',0.04,'DiffMaxChange', 0.51);
    %[lam,FVAL,EXITFLAG,OUTPUT] = fminunc('fonct',e,optio);
    [lam,FVAL,EXITFLAG,output] = fminsearch('fonct',lam0,optio) ;

    lam
    output
    execution_time=etime(clock, t0);
    disp(sprintf(' L''algoritme= %s \r',output.algorithm));
    disp(sprintf(' Le temps d''exécution= %g \r',execution_time));
    disp(sprintf(' Le nombre d''itérations=%g \r',output.iterations));
    disp(sprintf(' lam=%g \r',lam));
    disp(sprintf(' FVAL =%g \r',FVAL));
    disp(sprintf(' ______________________________ ______________________________ ______________________________ __'));

    la fonction fonct est :
    function b = fonct(lam)
    global Uexp RFexp
    %lecture des données expérimentaux
    fid =fopen('données expérimentaux.m','r');
    M = fscanf(fid,'%e',[1,1]);
    xy=fscanf(fid,'%e%e',[2,M]);
    xy1=xy';
    Uexp=xy1(:,1) %vesteur colonne U2- déplacement
    RFexp=xy1(:,2) %vecteur colonne RF2- réaction
    mef(lam);
    rf4;
    Fint=interp1(Uexp,RFexp,-c(:,3),'spline');
    Fsim= - c(:,5);
    b=0;
    for i=1:40
    X=(Fint(i)-Fsim(i)).^2;
    b=b+X
    end
    b


    la fonction (mef) est :

    function mef(lam)
    readwrite(lam);
    !exec2

    la fonction (readwrite) est :

    function readwrite(lam)
    E1=lam(:,1);
    E2=lam(:,2);
    nu=lam(:,3);
    E0=E1+E2;
    K=(E1+E2)/0.12;
    G=(3*K*E1)/(9*K-E1);
    G0=(3*K*(E1+E2))/(9*K-(E1+E2));
    g1=1-G/G0;
    taux=(nu*(9*K-E1-E2))/(E2*(9*K-E1));
    fid8=fopen('pp.inp','w');
    fprintf(fid8,'%s \n','*PARAMETER');
    fprintf(fid8,'%s %12.9e\n','E0=',E0);
    fprintf(fid8,'%s %12.9e\n','g1=',g1);
    fprintf(fid8,'%s %12.9e\n','taux=',taux);
    fclose(fid8);
    % fclose(fid8);
    %fcrit


    la fonction rf4 est :
    fid=fopen('essai1force.dat');
    %lire fichier.dat
    i=0;
    c=[];
    while 1
    i=i+1;
    tline = fgetl(fid);

    xy1=fscanf(fid,'%c',[1,16]);
    a=xy1;
    C = strcmp(xy1,' NOTE');
    y=i;
    if strcmp(xy1,' NOTE')==1,
    y=i;
    xy=fscanf(fid,'%12e ',[1,5]);
    a=xy';
    % react1(1,=rx(xy(2:3,');
    react1=xy(1,;

    c= [c;react1];
    end

    if ~ischar(tline), break, end
    % disp(tline);

    end
    fclose(fid);




    le problème est que lorsque je fait seulement la fonction fonct il me donne la valeur de l’erreur mais si je veut lancer le programme principal il m'affiche cet erreur :
    ??? Attempted to access Fint(14); index out of bounds because numel(Fint)=13.

    Error in ==> fonct at 17
    X=(Fint(i)-Fsim(i)).^2;

    Error in ==> fminsearch at 326
    x( = xe; fxe = funfcn(x,varargin{:});

    Error in ==> minas at 10
    [lam,FVAL,EXITFLAG,output] = fminsearch('fonct',lam0,optio) ;

    alors y'a t'il quelqu’un qui peut m'aider a résoudre ce problème merci

Discussions similaires

  1. asymptote , limites .. aidez moi svppp
    Par invite3e07a874 dans le forum Mathématiques du collège et du lycée
    Réponses: 10
    Dernier message: 07/09/2008, 21h16
  2. svppp klk1 aide moiii!!!!!!! c urgent
    Par invite88e99b6f dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 01/06/2008, 09h55
  3. aide svppp!!!!
    Par invitec255fe1c dans le forum Électronique
    Réponses: 11
    Dernier message: 07/01/2007, 15h10
  4. aide urgent svppp
    Par invite026573d4 dans le forum Électronique
    Réponses: 4
    Dernier message: 09/02/2006, 23h13
  5. AiDez Moi SVPPP
    Par invite3b09ac13 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 24/10/2005, 15h50