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 :

comment utiliser spline


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut comment utiliser spline
    bonsoir a tous;
    je travaille sur le suivi d'une trajectoire sous matlab
    j ai dessiné la trajectoire avec "line"
    maintenant je veux que la forme que je dessine sera souple (sans l'apparition des droite linéaire)
    j ai cherché sur net et j ai trouvé la fonction "spline" amis ca marche pas avec moi !!
    aidez-moi svp

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Bonjour,
    Citation Envoyé par asma_bbs Voir le message
    ca marche pas avec moi !!
    As tu un message d'erreur? Tu peux nous montrer ton code, même s'il est faux?

  3. #3
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut
    Oui ça m'affiche un message d'erreur:
    ??? Error using ==> chckxy at 42
    There should be at least two data points.
    Le problème est que j'ai trouvé beaucoup d'exemples sur les splines
    J'en ai essayé quelques-uns mais les résultats sont faux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    hold on
    plot(c2,c1,'b*');
    coorde = [coorde ; [c1 c2]];
    save('coorde.mat')
    load('coorde.mat');
    fs=spline(c1,c2,10);
    plot(10,fs)
    hold off

  4. #4
    Invité
    Invité(e)
    Par défaut
    Le message d'erreur est suffisamment clair : tu dois lui fournir au moins deux points.
    Soit avec le code suivant : fs=spline(c1,c2,10); c1 et c2 sont deux vecteurs d'au moins deux valeurs.

  5. #5
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut
    oui je sais mais c1 et c2 pour moi ce sont des vecteurs mais toujours j'obtiens le même message !! si tu connais au autre méthode pour utiliser le spline merci de m’indique

  6. #6
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Bonjour,
    peux tu nous montrer ce que vaux :

  7. #7
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut
    ok !!!
    alors ici c2 et c1 se sont deux vecteur qui contient tout les points d1,d2 en suivant la trajectoire !!
    j’espère que tu m'a compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    hold on
    plot(d2,d1,'b*');
    coorde = [coorde ; [d1 d2]];
      save('coorde.mat')
      load('coorde.mat');
       c1=coorde(:,1);
       c2=coorde(:,2);
    fs=spline(c1,c2,10);
    plot(10,fs)

  8. #8
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Une petite remarque tout d'abord : lorsque tu écris
    Tu enregistres dans le .mat toutes les variables du workspace, et non pas seulement la variable coorde. Est ce bien ce que tu souhaites faire?
    Pourquoi faire un load juste après? Les variables n'ont pas disparus suite au save.
    Pour mieux comprendre le problème j'aimerai vraiment voir ce que matlab renvoie lorsque tu lui demandes : ou bien

  9. #9
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut
    je travail sur le temps réel (on utilisant une web cam) alors la taille est variable
    ça dépant au trajectoire dessiné tu ma compris !!

  10. #10
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Dans ce cas je te conseil de vérifier la taille de c1 et c2 avant le spline, pour ne pas qu'il fasse d'erreur si tu n'as pas encore assez de point à dessiner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(numel(c1)>1 && numel(c2)>1)
        fs=spline(c1,c2,10);
    end

  11. #11
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut
    ok merci je vais essayé
    et dis moi stp y a pas une autre méthode d'utiliser le spline ??

  12. #12
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Tu veux dire une autre méthode que spline? Décrit nous précisément ce que tu veux faire avec cette méthode.
    Ou est ce que tu veux dire une autre façon d'appeler la méthode spline? Dans ce cas lis attentivement la doc sur le sujet.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    pour utiliser spline tu n'as pas le choix il faut toujours respecter ceci :
    avec x, y et xx trois vecteur qui ont minimum 2composantes.
    x et y doivent avoir la même taille!

    comme on te l'a dit précédemment il faut que tu fasses quelque chose qui vérifie la taille de tes vecteur. Si la taille ne respecte pas les conditions que l'on t'a dit alors il ne faut pas appeler spline sinon tu auras toujours l'erreur.

  14. #14
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut
    ok merci bien j ai trouvé la solution !!!

  15. #15
    Membre à l'essai
    Femme Profil pro
    programmation
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : programmation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 15
    Points
    15
    Par défaut
    J'ai trouvé la solution pour la moitié de trajectoire seulement mais lorsque je fais le demi-tour ça marche pas !!!

    Pour vous expliquer mieux :
    j'ai 2 vecteurs d3 pour les Y et d4 pour les X qui contiennent les coordonnées de la trajectoire pour appliquer la spline. Je dois chercher le max dans les 2 vecteurs puis je parcours de 1 jusqu'au max j'applique le 1er spline et puis de max jusqu’à la fin pour le 2ème spline.
    J'ai utilisé 2 spline parce que ma trajectoire est sous forme de cercle alors j'ai couper le cercle en deux et j'ai fait mon travail.
    Merci de proposer une solution

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. Comment utiliser un cache ?
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 14/03/2003, 09h55
  3. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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