【问题标题】:how to run an octave command line program in MATLAB如何在 MATLAB 中运行 octave 命令行程序
【发布时间】:2011-04-05 17:12:32
【问题描述】:

我刚刚下载了多相机自校准工具箱的 Octave(和 MATLAB)兼容版本。它有一个内置检查和自述文件中的一个部分,其中说明了运行该检查时的预期值。

以下命令行启动内置检查:

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

readme 中有一个部分说明运行该检查的假定结果是什么,以及最终结果是什么。

我的问题是,与自述文件中提到的值相比,我得到的值略有不同。是否有可能因为我使用的是 Octave 的 win32 版本而不是本机 linux 版本而得到这些差异(例如 0.62 与 0.70 的像素错误)?

我的另一个更重要的问题是我如何从 MATLAB 运行这个脚本 (gocal.m)?这个脚本有一个部分,它从命令行参数 --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. 在 MATLAB GUI 中,运行 gocal ...
  2. 从命令行,使用 matlab -r gocal ...?

【问题讨论】:

    标签: command-line octave matlab


    【解决方案1】:

    argv 是八度主义。你有两个选择:

    1. 将配置文件作为参数传递给gocal,假设gocal 支持。
    2. 编写一个名为“argv”的函数,该函数返回“--config...”。

    【讨论】:

      猜你喜欢
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多