Problème sous matlab fonction introuvable
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Problème sous matlab fonction introuvable



  1. #1
    invitecc0489b8

    Problème sous matlab fonction introuvable


    ------

    Bonjour,
    Je suis actuellement en stage au Canada et mon maitre de stage souhaiterait que je réalise un programme matlab permettant de tracker un objet sur une video et ensuite déterminer sa vitesse et tracer sa trajectoire (dendrite en photo ci-jointe). Dans mon école d'ingénieur, la formation a matlab est loin d'être une priorité et donc j'ai un peu de mal à me lancer dessus.

    En regardant sur un forum, j'ai trouvé ce programme qui avait été posté (http://www.developpez.net/forums/d62...ideo-ultrason/) et qui correspondrait bien voire très bien à ce que je veux. Mais lorsque je tente de le lancer sur ma video, il y a un problème avec la fonction max_corr:

    ??? Undefined function or method 'max_corr' for input arguments of type 'double'.

    Error in ==> vitesse at 85
    [corr_max_row,corr_max_column]=max_corr(corr);

    C'est parce que il ne connait pas la fonction mais je ne sais pas ou trouver le fichier.m pour la définir. Quelqu'un pourrait m'expliquer ce que réalise cette fonction?

    merci beaucoup pour votre aide

    -----
    Images attachées Images attachées  

  2. #2
    invitecc0489b8

    Re : Problème sous matlab fonction introuvable

    Help SVP, ce que j'ai compri c'est que cette fonction max_corr permet d'extraire la valeur max de chaque ligne et de chaque colonne et d'en extraire deux vecteurs colonnes ou lignes. Est ce bien cela?

    Merci de votre aide

  3. #3
    invite0ab6bca5

    Re : Problème sous matlab fonction introuvable

    Bonjour,

    Je n'ai plus Matlab (depuis que je suis en retraite), donc pardonnez la précision imparfaite de ma réponse.
    Si max_corr n'aime pas les arguments de type "double", c'est probablement que cette fonction travaille sur des nombres de type entier court ; les tableaux que l'on obtient à partir d'images à l'aide de "imread" sont composés de tels nombres. On les transforme, pour les calculs, en nombres "double précision", à l'aide de la commande "double" (à vérifier).
    Si max_corr se trouve dans Matlab sur votre ordinateur, vous en obtiendrez la liste en tapant à la fenêtre de commande la commande "type max_corr.m".

    Bonne continuation

  4. #4
    invitecc0489b8

    Re : Problème sous matlab fonction introuvable

    merci pour votre réponse

    Lorsque je tape ce que vs m'avez dit, matlab me renvoie ceci:

    >> type max_corr.m
    ??? Error using ==> type
    File 'max_corr.m' not found.

    Donc cette fonction n'existe pas sous matlab sans doute, elle a été créée par l'auteur du programme.

    Mon soucis c'est que je n'arrive pas à comprendre à mon niveaux ce qu'elle effectue. Voici le code

    http://www.developpez.net/forums/d62...ideo-ultrason/

    Merci

  5. A voir en vidéo sur Futura
  6. #5
    invite0ab6bca5

    Re : Problème sous matlab fonction introuvable

    Re-Bonjour,

    Je suis ignorante concernant "template".
    Il semble qu'on utilise l'outil mathématique "intercorrélation". Vous pourriez :
    - regarder dans un livre de traitement du signal ce qui concerne l'intercorrélation (une image = un tableau de nombre = un vecteur, doc je peux faire le produit scalaire de deux images...) ;
    - vous allez probablement calculer votre intercorrélation à l'aide de fft, donc une révision de la transformée de Fourier et de fft sera peu-être nécessaire, elle aussi. Il y a quelques temps (semaines), j'ai donné dans ce forum desindications sur l'usage de fft (mais elle vous est peut-être déjà familière !)
    Bilan : ce n'est pas en Matlab que se situe le gros du travail, mais plutôt en Maths.
    Bonne continuation

  7. #6
    invitecc0489b8

    Re : Problème sous matlab fonction introuvable

    J'aurais plutot intérêt à enlever la fonction max_corr. Il me semble qu'elle va stocker les valeurs max des lignes et colonnes de la matrice corr dans deux vecteurs.

    Comment ceci est réalisable sans cette fonction?

    Merci

  8. #7
    invite0ab6bca5

    Re : Problème sous matlab fonction introuvable

    Bnsoir,

    Pour repérer et stocker des maxima, voir la commande "max" (je ne dispose plus de Matlab, donc ne puis vous donner plus de détails).
    Il semble, à vous lire, que le programme que vous avez récupéré calcule la matrice "corr". Donc le plus gros est fait, je m'en réjouis pour vous.

    Bonne continuation

  9. #8
    invite50d0f366

    Re : Problème sous matlab fonction introuvable

    Bonjour,

    je suis desolée, je ne viens pas la pour repondre mais plutot pour poser une question.

    Je debute seulement matlab mais me trouve dans un stage ou je l uilise...bref...je bloque..

    Voila, j'ai un ensemble de données presentées en colonnes dans un fichier .txt et je veux en extraire deux colonnes distinctes pour obtenir deux matrices distinctes elles aussi (A et B) par exemple en format matlab..

    ca fait maintenant une semaine que je coince..quelqu un pourrait il m'orienter svp!!!

    merci beaucoup!!!

  10. #9
    invite0ab6bca5

    Re : à Hello 1412

    Bonsoir,

    Si les deux colonnes ont même longueur, vous pouvez charger en mémoire ce fichier à l'aide de la commande "load" (voir "help load") ;
    ensuite, si le tableau contenu dans le fichier s'appelle, par exemple, A, voici de quoi séparer en deux vecteurs les deux colonnes :
    V1=A(:,1);
    V2=A(:,2);

    bonne continuation

  11. #10
    invite50d0f366

    Re : Problème sous matlab fonction introuvable

    Merci beaucoup pour la reponse !!!

    j ai essayé mais je n'ai pas du bien comprendre..je ne sais absolument pas ou cloche mon programme, je vous le presente, si quelqu'un pouvait mapporter une petite aide, ca me sauverait ...

    je reprends du debut:
    --j ai recu sous excel un ensemble de données telles que:
    1.8; 2; 300; Car; 13.72; 0.16;
    1.8; 1; 300; Car; 12.45; 0.49;
    2.0; 2; 300; Car; 13.76; 0.16;
    2.0; 1; 300; Car; 12.62; 0.69;
    2.3; 2; 300; Car; 13.80; 0.16;
    2.3; 1; 300; Car; 12.79; 0.69;
    2.5; 2; 300; Car; 13.84; 0.16;
    2.5; 1; 300; Car; 12.92; 0.52;
    2.8; 2; 300; Car; 13.88; 0.16;
    2.8; 1; 300; Car; 13.02; 0.39;
    3.0; 2; 300; Car; 13.92; 0.16;
    3.0; 1; 300; Car; 13.09; 0.29;
    3.3; 2; 300; Car; 13.96; 0.16;
    3.3; 1; 300; Car; 13.15; 0.22;
    3.5; 2; 300; Car; 14.00; 0.16;
    3.5; 3; 300; Car; 12.33; 0.16;
    3.5; 1; 300; Car; 13.19; 0.16;
    3.8; 2; 300; Car; 14.04; 0.16;
    3.8; 3; 300; Car; 12.36; 0.16;

    la premiere colonne etant le temps, la deuxieme le numero du vehicule et la quatrieme sa vitesse


    -Il a fallu que j extrais les données des colonnes 1 et 4 pour le vehicule 1 seulement, les resultats devant etre obtenus sous forme de deux vecteurs(par ex T et V) en format matlab

    voici donc le programme que j ai ecris:



    fid = fopen('test.txt', 'r');
    fout = fopen('result1000.m', 'w+');

    i=1;

    %% while we are not at the end of the file
    while i<100000000 & ~feof(fid)

    %% read in a line to a and b
    a = fscanf(fid, ' %g; %i; %i; %s; %g; %g;', [8 inf]);
    b = fscanf(fid, ' %g; %g;', [2 1]);

    %% if vehicle number is 1 write to an output file
    if a
    if a(2,1)==1
    fprintf(fout,'%g\t;%g\n',a(1,1 ),b(1,1));
    end
    end


    i=i+1;

    end

    fclose(fout);
    fclose(fid);



    -jobtiens alors des resultats tels que:




    1.8 ;12.45
    2 ;12.62
    2.3 ;12.79
    2.5 ;12.92
    2.8 ;13.02
    3 ;13.09
    3.3 ;13.15
    3.5 ;13.19
    3.8 ;13.22
    4 ;13.24
    4.3 ;13.26
    4.5 ;13.27
    4.8 ;13.28
    5 ;13.29
    5.3 ;13.3
    5.5 ;13.3
    5.8 ;13.3
    6 ;13.31
    6.3 ;13.31
    6.5 ;13.31
    6.8 ;13.31
    7 ;13.31
    7.3 ;13.31
    7.5 ;13.31
    7.8 ;13.31






    le resultat n est donc pas sous forme de deux vecteurs et le point virgule entre les deux colonnes est inaproprié...

    Que se passe t il???


    Une aide serait vraiment la bienvenue


    Merci beaucoup d'avance!!
    8 ;13.31
    8.3 ;13.31

  12. #11
    invite0ab6bca5

    Re : Problème sous matlab fonction introuvable

    Bonsoir,
    Je ne saurais qu'utiliser le "rechercher - remplacer" du bloc-notes pour remplacer les points-virgule par des espaces.
    Mille excuses !

  13. #12
    invite50d0f366

    Re : Problème sous matlab fonction introuvable

    Bonjour,

    je vous remercie beaucoup..
    Decidement, a force d etre le nez collé à un programme, on ne voit vraiment plus rien...
    ceci regle donc le probleme du point virgule

    Jai donc exactement le meme resultat, sauf le point virgule entre les deux colonnes , mais je ne parviens toujours pas a definir chacune de ces colonnes comme un vecteur.Je ne comprends pas ou est la coquille dans le programme..
    Avez vous une idée

    Merci beaucoup!!

Discussions similaires

  1. passer une fonction en paramètre sous matlab
    Par invite8b6c7fe1 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 11/06/2009, 16h00
  2. Antécédent d'une fonction sous matlab
    Par invite9f5d8dd0 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 28/04/2009, 15h11
  3. probleme d'interpolation sous matlab
    Par invite228a0da8 dans le forum Logiciel - Software - Open Source
    Réponses: 11
    Dernier message: 26/02/2009, 14h36
  4. probléme stupide sous matlab
    Par invite68ef1cc0 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 04/05/2006, 20h51
  5. Probleme de Calcul sous Matlab
    Par invite745632d7 dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 20/12/2004, 13h29
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...