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 :

Appliquer une fonction monovariable aux éléments d'un vecteur


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Appliquer une fonction monovariable aux éléments d'un vecteur
    Bonjour.

    Je rencontre des difficultés pour appliquer une fonction à chaque élément d'un vecteur.

    Si par exemple je définis
    T=[ 0 1 2 3 4 ]
    F=@(x)x.^2
    et que je fais F(T), j'obtiens bien
    F(T)=[0 1 4 9 16]

    Par contre si je définis une nouvelle fonction de 1 variable comme suit :
    G=@(x)quad(F,0,x)
    Et que je fais F(T), j'obtiens un message d'erreur :
    ??? Error using ==> quad
    The limits of integration must be scalars.

    Error in ==> @(x)quad(f,-1,x)
    Evidemment je pourrais utiliser une boucle mais j'imagine qu'il existe une solution plus élégante !

    Merci de votre aide et je m'excuse si un problème équivalent a déjà été soumis mais je ne l'ai pas trouvé.

  2. #2
    Membre éprouvé
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Salut,

    le problème est que la fonction quad n'accepte pas un vecteur.

    pour cette exemple essaie les fonction cumsum, cumtrapz, ou bien ode45.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    J'avais bien compris que la fonction quad n'admettait que des scalaires pour les bornes.

    J'avais mal formuler ma question !

    Considérons que l'on a une fonction
    F : R -->R
    x ---> F(x)

    Est ce qu'il existe une méthode (sans utiliser de boucle) pour appliquer cette fonction à chacun des éléments d'un vecteur et ceci sans se soucier de comment est définie la fonction F (qui n'admet pas forcément d'expression analytique).

    J'espère que ce n'est pas trop flou

    Merci !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    J'ai honte il s'agit simplement de la fonction arrayfun de MatLab...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appliquer une macro uniquement aux lignes visibles
    Par Mickrey dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/10/2007, 14h26
  2. Réponses: 4
    Dernier message: 03/07/2007, 14h03
  3. appliquer une fonction à toutes les balises <a>
    Par trotters213 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/10/2006, 16h49
  4. [MySQL] Appliquer une fonction sur un champ lors d'une requête
    Par Jérémy197 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/08/2006, 13h29
  5. Peut-on appliquer une fonction sur un champs ajouté?
    Par tinwul dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 31/05/2006, 17h02

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