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 :

syntaxe


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    janvier 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2020
    Messages : 10
    Points : 4
    Points
    4
    Par défaut syntaxe
    Bonjour,
    je souhaite écrire un programme sur MATLAB, qui décrit une expérience de laboratoire.
    en fait, supposons que j'ai une fonction f(t)=v*cos(w*t)+exp(-t) sur un intervalle t=[0,10]s avec v=non nul par exemple, je voudrais la représenter dans cette intervalle mais qu’au bout d'un temps t=5s, v=0 (j'annule l'amplitude).
    est ce possible d'obtenir une syntaxe me permettant d'écrire ce type de programme de telle sorte que j'ai une courbe traduisant cette expérience.?
    en fait v est nul pour t>5s
    Merci..

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    mai 2008
    Messages
    1 925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2008
    Messages : 1 925
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,

    Un essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    t=0:0.1:10;
    w=1;
    v=3*ones(1,length(t));
    v=v.*(t<6);
    f=v.*cos(w*t)+exp(-t);
    plot(t,f)

  3. #3
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    janvier 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2020
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjour,

    Un essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    t=0:0.1:10;
    w=1;
    v=3*ones(1,length(t));
    v=v.*(t<6);
    f=v.*cos(w*t)+exp(-t);
    plot(t,f)
    Merci ,Bonjour
    Pourquoi lorsque v est nul la fonction n'a pas l'allure de exp(-t)?

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2019
    Messages : 66
    Points : 200
    Points
    200
    Par défaut
    Bonjour,

    le code fonctionne, mais lorsque v= (i.e. pour t>6), l'exponentielle est d'amplitude négligeable par rapport au cos(w*t) (pour t<6). En effet, pour t<6, le cosinus est d'amplitude proche de v, soit environ 3 alors que pour t>6, l'exponentielle est d'amplitude max: 1/exp(6) ~ 1/(3^6) ~0.001
    La fonction a donc l'air identiquement nulle pour t>6.

    En changeant le paramètres, on rend les différentes contributions plus visibles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    t=0:0.01:10;
    w=10;
    v=0.1*ones(1,length(t));
    v=v.*(t<6);
    f=v.*cos(w*t)+exp(-0.2*t);
    plot(t,f)

  5. #5
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    janvier 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2020
    Messages : 10
    Points : 4
    Points
    4
    Par défaut syntaxe
    en fait je revient toujours sur cette courbe Nom : figure.PNG
Affichages : 8
Taille : 51,3 Ko
    j'ai ce programme ci-dessus
    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
    rho=2600;
    f = 10000;
    z = 7e-3;
    y = 20;
    M = 10e9;
    V = 1e-5;
    b = 0;
    d = 0;
    g0 =0;
    % % % %A la matrice contenant les éléments du coefficients de fourier an % % % % % % % 
    % % % % B la matrice contenant les éléments du coefficients de fourier bn % % % % % % %
    t=linspace(0,9e-3,20000);
    def=V*sin(2*pi*f*t);
    figure(1)
    plot(t,def)
    % % % % % % % % % % % % % % % % % % % % % % % % % 
    A=[0.5-3*d*V^2/16 0 -0.25+d*V^2/8 0 -d*V^2/32];
    B=[0 -0.25*b*V 0 b*V/12 0];
    % % % % % % % % % % % % % % % % % 
    w= 2*pi*f;
    zy=z/y;
    Ev=M*V*V/y;
    N=w*zy;  
        r2=(A(2)-N*2*B(2))/(1 + (2*w*zy)^2);
        r3=(A(3)-N*3*B(3))/(1 + (3*w*zy)^2);
        r4=(A(4)-N*4*B(4))/(1 + (4*w*zy)^2);
        r5=(A(5)-N*5*B(5))/(1 + (5*w*zy)^2);
    % % % % % % % % % % % % % % % % % % % % % % % %     
        p2=(B(2)+N*2*A(2))/(1 + (2*w*zy)^2);
        p3=(B(3)+N*3*A(3))/(1 + (3*w*zy)^2);
        p4=(B(4)+N*4*A(4))/(1 + (4*w*zy)^2);
        p5=(B(5)+N*5*A(5))/(1 + (5*w*zy)^2);
    % % % % % % %mise sur pied de la fonction de ramollissement % % % % % % % % % % % % % % % % %  
    g=(g0 - Ev*(A(1)/2 + r2+r3+r4+r5 ))*exp(-t/zy) + Ev*(A(1)/2 +r2*cos(2*w*t) + p2*sin(2*w*t)+ r3*cos(3*w*t) + p3*sin(3*w*t)+ r4*cos(4*w*t)+ p4*sin(4*w*t)+r5*cos(5*w*t)+ p5*sin(5*w*t) );
    figure (2)
    plot(t,(g0 - Ev*(A(1)/2 + r2+r3+r4+r5 ))*exp(-t/zy))
    % % % % % % % expression de la variation relative de module élastique % % % % % % % % % % % % 
    deltaM=((1-g).*(1-2*b*def-3*d*def.^2)-1).*(t<=5)+(((g0 - Ev*(A(1)/2 + r2+r3+r4+r5 ))*exp(-t/zy)).*(t>=5));
    figure (3)
    plot(t,deltaM)
    mais la seconde parti n'apparait pas (la partie croissante) mais si je les dessine à part ca marche (les deux courbures apparaissent bien)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    figure (3)
    hold on
    plot(t,deltaM)
    plot(t,(g0 - Ev*(A(1)/2 + r2+r3+r4+r5 ))*exp(-t/zy))
    I need help

Discussions similaires

  1. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 13h53
  2. Syntaxe requete
    Par Chipolata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2003, 15h22
  3. [Syntaxe] Action simultanée sur plusieurs élements
    Par FranT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/03/2003, 21h20
  4. Syntaxe TASM <-> MASM
    Par LFC dans le forum Assembleur
    Réponses: 3
    Dernier message: 28/02/2003, 16h56
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 16h33

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