2011-04-05 1 views
1

Je viens de télécharger la version compatible Octave (et MATLAB aussi) de la boîte à outils d'auto-calibrage multi-caméras. Il a une vérification intégrée et une section dans le fichier readme, qui indique quelles sont les valeurs attendues lorsque cette vérification est exécutée.comment exécuter un programme de ligne de commande d'octave dans MATLAB

La ligne de commande suivante est ce qui commence le contrôle intégré:

octave gocal.m --config=../strawlab/test-data/DATA20100906_134124/no-global-iterations.cfg 

De l'readme il y a une section qui indique quels sont les résultats supposés de l'exécution de ce contrôle, et quels sont les résultats finaux.

Mon problème est que j'obtiens des valeurs légèrement différentes, comparées à celles mentionnées dans le readme. Est-il possible que j'obtienne ces différences (comme 0,62 contre 0,70 pour les erreurs de pixels) parce que j'utilise une version win32 d'Octave, et pas une version linux native?

Mon autre question et plus importante est que comment pourrais-je exécuter ce script (gocal.m) de MATLAB? Ce script a une partie, qui prend le nom du fichier de configuration à partir de l'argument de la ligne de commande --config =. Peu importe comment j'essaie d'exécuter ce script depuis MATLAB, cela me dit toujours qu'il manque quelque chose à argv.

Le code est le suivant:

function [config] = read_configuration(filename) 

if nargin == 0 
    % No argument given -- look for --config= on the command-line. 
    found_cfg = 0; 
    for cmdline_arg = argv() 
    arg = cmdline_arg{1} 
    szarg = size(arg); 
    if szarg(2) >= 10 
     if strcmp(arg(1:9), '--config=') 
     found_cfg = 1; 
     filename = arg(10:size(arg,2)); 
     end 
    end 
    end 
    if ~found_cfg 
    error('missing --config=FILENAME command-line argument'); 
    end 
end 

Pouvez-vous me dire une façon de la façon de transmettre des données données pour argv() et lancer le script nécessaire avec l'--config = option?

  1. à partir de l'interface graphique Matlab, avec course GOCAL ...
  2. de la ligne de commande, avec Matlab -r GOCAL ...?

Répondre

1

argv est un Octave-isme. Vous avez deux options du haut de ma tête:

  1. passe le fichier de configuration comme argument pour gocal, en supposant gocal soutient que.
  2. Ecrivez une fonction nommée "argv" qui retourne '--config ...'.
Questions connexes