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 :

la fonction syms [Débutant]


Sujet :

MATLAB

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut la fonction syms
    bonjour a tous, j'ai un probleme avec la fonction syms, je voudrais faire du calcul symbolique mais j'obtiens une erreur des que j'arrive a la fonction sym:
    voici mon code:

    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
    41
    42
    clc;
    clear all;
    close all;
    t=input('J=?');
    entree=[];
    T=[];
     
    for k=1:1:t
        k
    alpha=input('\nalpha=','s');  
     
    d=input('d=','s');
     
    theta=input('theta=','s'); %pren en entree un string 
    theta=syms(theta);      %le transforme en symbole
     
    r=input('r=','s');
    r=syms(r);
     
    entree=[entree ; alpha d theta r];
     
     
     
    end
     
     
     
    for l=1:1:t   %calcule de T pour chaque affichage
     
        disp(int2str(l));
        disp('T');
        disp(int2str(l-1));   %transforme un entier en string c juste pour l'affichage
        disp('');
        disp('');
     
        T=[cos(entree(l,3)) -sin(entree(l,3)) 0 entree(l,2)];
        T=[T;cos(entree(l,3))*sin(entree(l,1)) cos(entree(l,3))*cos(entree(l,1)) -sin(entree(l,1)) -sin(entree(l,1))*entree(l,4)];
        T=[T;sin(entree(l,3))*sin(entree(l,1)) cos(entree(l,3))*sin(entree(l,1)) cos(entree(l,1)) cos(entree(l,1))*entree(l,4)];
        T=[T;0 0 0 1];
        T %en sortie la matrice en symbole
     
    end
    mon but est d'afficher T avec des variables (en symbolique)
    l'erreur que j'obtiens quand je simule est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ??? Undefined function or variable 'syms'.
     
    Error in ==> D:\Documents and Settings\100039780\Desktop\DH1.m
    On line 22  ==> theta=syms(theta);
    merci de bien vouloir m'aider

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 134
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Undefined function or variable 'syms
    Ton fichier syms.m est bien présent dans tes toolbox ? celles-ci sont bien prisent en compte par Matlab ? (File > Seth Path...)

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut
    comment le verifier , si mon fichier syms.m est dans mon toolbox?
    sinon j'ai essayer ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >> ver
    --------------------------------------------------
    MATLAB Version 6.1.0.450 (R12.1) on PCWIN
    MATLAB License Number: ******
    --------------------------------------------------
    MATLAB Toolbox                          Version 6.1   (R12.1)      18-May-2001
    Simulink                                Version 4.1   (R12.1)      06-Apr-2001
    Control System Toolbox                  Version 5.1   (R12.1)      18-May-2001
    Optimization Toolbox                    Version 2.1.1 (R12.1)      18-May-2001
    SB2SL (converts SystemBuild to Simu...  Version 2.2   (R12.1)      10-Apr-2001
    Signal Processing Toolbox               Version 5.1   (R12.1)      06-Apr-2001
    et j pense que c'est la version de matlab que j'ai (version 6.1) qui cause probleme!!

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    Tu ne dois pas avoir la fonction syms... Elle fait partie de la symbolic Math toolbox et d'après ta version, tu ne l'as pas...

    sinon, pour d'autres post, met ton code entre les balises code et /code...

    et pour ta programmation, "indent" ton code, tu verras, c'est plus facile pour le lire... Tu fais un ctrl+A et ensuite un ctrl+I...

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut
    effectivement j'ai une ancienne version et pas de symbolic, daccords ca marche, merci pour les conseils en tous cas et bonne journée

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/11/2014, 21h29
  2. Fonction Syms avec Matlab 2008 sous Windows 7
    Par b.lambert dans le forum MATLAB
    Réponses: 4
    Dernier message: 04/02/2010, 17h00
  3. Inverse Fonction sym
    Par chabacano dans le forum MATLAB
    Réponses: 5
    Dernier message: 24/06/2009, 13h52
  4. [Débutant] Fonction Syms
    Par piver dans le forum MATLAB
    Réponses: 7
    Dernier message: 16/12/2008, 01h58
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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