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 :

Fonction par morceaux


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Par défaut Fonction par morceaux
    petit souci : je voudrais definir une fonction par morceaux comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function y = hum(t)
    d=365*24*3600;
    if t<9.833,
        y = 7.9516+52.0484*exp(-1.0433*10^(-8)*t*d);
    else 
        y = 6;
    end
    probleme, quand j'applique ma fonction à un vecteur, elle ne renvoie que l'image du premier élément du vecteur. Impossible par exemple d'afficher le graphe de la fonction.
    une solution?

  2. #2
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    Bonjour,

    le probleme est là:
    cette condition n'est vraie que si tout les element de "t" sont inferieur à 9.833.
    je te propose ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function y = hum(t)
    d=365*24*3600;
    y = 7.9516+52.0484*exp(-1.0433*10^(-8)*t*d);
    y(t>=9.833)=6;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Par défaut
    merci, c'est impeccable !
    quelle rapidité !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Par défaut
    mince, une idée pourquoi ceci ne marche pas ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function y = morc(t)
    d=365*24*3600;
    y = -11.8635-0.05321*exp(1.1468*10^(-8)*t*d);
    y(t<=9.833) = 7.9516+52.0484*exp(-1.0433*10^(-8)*t*d);
    y(16.6419<=t)=-34.03225-44.03225*exp(-5.2163*10^(-9)*t*d);

  5. #5
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    parce que le nombre d'elements dans "y(t<=9.833)" est different de celui dans "t".
    tu dois faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function y = morc(t)
    d=365*24*3600;
    y = -11.8635-0.05321*exp(1.1468*10^(-8)*t*d);
    y(t<=9.833) = 7.9516+52.0484*exp(-1.0433*10^(-8)*t(t<=9.833)*d);
    y(16.6419<=t) =-34.03225-44.03225*exp(-5.2163*10^(-9)*t(16.6419<=t)*d);

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Par défaut
    Genial, grand merci !

Discussions similaires

  1. fonction affine par morceaux
    Par xavierdestev dans le forum Scilab
    Réponses: 2
    Dernier message: 05/12/2013, 11h55
  2. fonction régulière par morceaux et d'ordre exponentiel
    Par ministeur dans le forum Mathématiques
    Réponses: 3
    Dernier message: 03/04/2012, 19h28
  3. [Débutant] fonction par morceaux avec symbole
    Par gregos-winus dans le forum MATLAB
    Réponses: 3
    Dernier message: 07/05/2011, 01h29
  4. Réponses: 2
    Dernier message: 26/12/2010, 18h34
  5. fonction constante par morceaux
    Par lamine10 dans le forum Signal
    Réponses: 1
    Dernier message: 19/08/2010, 15h32

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