как запустить программу командной строки октавы в MATLAB - PullRequest
1 голос
/ 05 апреля 2011

Я только что загрузил совместимую с Octave (и MATLAB) версию Multi-Camera Self-Calibration toolbox. Он имеет встроенную проверку и раздел в файле readme, в котором указано ожидаемое значение при выполнении этой проверки.

Следующая командная строка запускает встроенную проверку:

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

Из readme есть раздел, который сообщает, каковы предполагаемые результаты выполнения этой проверки и каковы окончательные результаты.

Моя проблема в том, что я получаю немного другие значения по сравнению с теми, что упоминаются в файле readme. Возможно ли, что я получаю эти различия (например, 0,62 против 0,70 для ошибок пикселей), потому что я использую Win32-сборку Octave, а не нативную версию Linux?

Мой другой и более важный вопрос: как мне запустить этот скрипт (gocal.m) из MATLAB ? Этот скрипт имеет часть, которая берет имя файла конфигурации из аргумента командной строки --config =. Независимо от того, как я пытаюсь запустить этот скрипт из MATLAB, он всегда говорит мне, что чего-то не хватает в argv.

Код следующий:

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

Можете ли вы сказать мне, как передать данные для argv () и запустить необходимый скрипт с параметром --config =?

  1. из GUI MATLAB , с фокусным расстоянием ...
  2. из командной строки , с помощью matlab -r gocal ...?

1 Ответ

1 голос
/ 06 апреля 2011

argv - это октавизм.У вас есть две возможности:

  1. Передать файл конфигурации в качестве аргумента gocal, предполагая, что gocal поддерживает это.
  2. Написать функцию с именем "argv ", который возвращает '--config ...'.
...