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 :

MATLAB : Nomenclature


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 7
    Par défaut MATLAB : Nomenclature
    Bonjour à tous,

    Je débute sous matlab, j'ai déjà fait pas mal de C, Java. Mais j'ai vraiment du mal avec la nomenclature utilisée dans matlab.

    Je voudrais savoir comment définir une simple fonction, par exemple :

    f(x) = 3x+3 et être capable de calculer f(2).
    Pour commencer, comment définir x ? ensuite pour la fonction, faut il obligatoirement creer un fichier fonction ?

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Contrairement à ce que tu as pu voir en C ou Java, tu n'as pas de déclaration à faire, ni de type à spécifier devant. Tu peux rentrer x = 2 directement en ligne de commande ou dans une fonction. Par défaut le type sera double.

    La définition d'une fonction, se fait le mot clé function : elle doit obligatoirement se trouver dans un fichier .m
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function sortie = nom_fonction(x)
     
    sortie = 3*x + 3;
    Pour plus de précision, je t'invite à taper doc function.
    Une autre définition "rapide" consiste à utiliser le symbole @, la suite ici...

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 7
    Par défaut
    Merci pour votre réponse, Mais quand vous dites que la fonction doit absolument être dans un fichier.m. Parlez vous d'un fichier .m fonction ou d'un fichier .m script ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Dur comme choix
    Une fonction dans un fichier .m fonction ou script...

    Dans MATLAB un fichier .m peut
    • soit ne contenir aucune définition de fonction (sauf anonymes), on l'appelle alors script ;
    • soit contenir au minimum une définition de fonction.

    En aucun cas une combinaison des deux.

    Voir aussi ce message

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 7
    Par défaut
    Mon problème est le suivant , j'ai crée un fichier fonction .m :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function [ v ] = response( v0, wd, v0_dot, xi, wn, t )
     
    v = (v0*cos(wd*t) + ((v0_dot+xi*wn*v0)*(sin(wd*t))/wd))*exp(-xi*wn*t);
     
    end
    et une autre fonction pour exprimer la dérivée :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function [ v_dot ] = Derivative(v0,wd,v0_dot,xi,wn,t )
     
    v_dot= diff(response( v0, wd, v0_dot, xi, wn, t ),'t');
     
    end
    déjà ma première question est : Peut on utiliser une fonction dans une autre ?
    Ce que je voudrais c'est crée la dérivée , donc en tapant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    V_dot= derivative(v0,wd,v0_dot,xi,wn, t)
    Mais comment ensuite dans le script, dire, je veux la valeur de V_dot pour t=1 ?
    Est il possible lorsque je définis la fonction de dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v_dot (t )= diff(response( v0, wd, v0_dot, xi, wn, t ),'t');
    ???
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tristan15 Voir le message
    déjà ma première question est : Peut on utiliser une fonction dans une autre ?
    Bien évidemment, et heureusement
    cos, sin, diff sont aussi des fonctions, et tu les utilises bien

    Alors attention :
    • MATLAB est sensible à la case, d'autant plus sur les versions récentes. (derivative)
    • Ta syntaxe diff( ... ,'t'); présume que tu utilises la fonction diff de la Symbolic Math Toolbox. Est-ce vraiment le cas ? Si oui je t'invite à taper doc symbolic/diff.

Discussions similaires

  1. [LabView-MATLAB] Conversion de fichier binaire
    Par flzox dans le forum LabVIEW
    Réponses: 3
    Dernier message: 20/01/2007, 18h42
  2. Réponses: 2
    Dernier message: 02/09/2005, 15h23
  3. Clone Matlab
    Par devmat dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 30/04/2005, 16h44
  4. OpenGl - Matlab
    Par ManuG dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/01/2005, 15h04
  5. Réponses: 11
    Dernier message: 11/07/2003, 16h47

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