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 avec symbole


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut fonction par morceaux avec symbole
    bonjour,

    dans le cadre d'un projet en aérodynamique, je dois écrire une fonction définies par morceaux et dont la variable est un symbole (afin de simplifier les manipulations et intégrations des fonctions par la suite).

    les conditions s'appliquent donc sur la variable x, qui est un symbole.
    si x avait été une matrice, la fonction aurait été écrite comme ceci:

    delta_s = (delta1+delta2)/2 - alpha + de.*(x>x_gouverne).*(x<x_gouverne+dec_gouverne) - de.*(x>x_gouverne+dec_gouverne) + dt.*(x>x_tab).*(x<x_tab+dec_tab) - dt.*(x>x_tab+dec_tab)

    j'ai essayé d'écrire la fonction avec des "if"... sans succès
    j'ai aussi tenté heaviside, toujours sans succès.


    si vous avez une idée à me suggérer, je vous en remercie d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je ne suis pas sûr d'avoir saisi la définition de ta fonction par morceaux...
    Aurais-tu plutôt une définition de la forme
    delta_s =	...  si x < x_gouverne
    		...  si x > x_gouverne
    		...  si x > x_tab
    		    ...		

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    effectivement c'est ce que je veux faire mais le souci est dans l'utilisation des < et > avec une variable de type symbole (cela n'est pas possible)

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut Numérise tes symboles
    Si ton ensemble est totalement ordonnée, tu peux associer un numérique à chaque symbole
    - Par le biais d'une fonction qui contient une liste des symboles ordonnée, et une recherche d'indice dedans à chaque appel de ordre()
    - Avec un "dictionnaire" (table de hashage java par exemple)

    Puis tu as juste à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ordre(symbole)  > ordre('*') 
    if ordre(symbole)  > ordre('£')
    Après pour trouver une version version vraiment optimisée, ce dépendra du problème.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/12/2010, 18h34
  2. fonction constante par morceaux
    Par lamine10 dans le forum Signal
    Réponses: 1
    Dernier message: 19/08/2010, 15h32
  3. Fonction par morceaux
    Par fracx dans le forum MATLAB
    Réponses: 6
    Dernier message: 29/03/2007, 12h22
  4. changer un textarea par fonction JS : texte avec des sauts de ligne
    Par agrotic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2006, 14h08
  5. Réponses: 8
    Dernier message: 10/03/2006, 17h28

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