首页 > 解决方案 > 如何使用包括矩阵在内的多个参数从终端运行 ocatve 命令?

问题描述

我想从终端运行一个带有几个参数的八度脚本。

考虑函数

function matrixMultiply (A, x)
  result = A * x ; 
  presult = sprintf('%s %s\n', 'A * x =', mat2str(result));
  printf ("\a%s\n", presult);
endfunction 

如何从终端调用此函数。我尝试使用

arg_list = argv ();
for i = 1:nargin
  printf (" %s", arg_list{i});
printf ("\n");
endfor

在没有运气的单独脚本中。

我怎么能跑

$ octave  matrixMultiply(eye(2) , [3;4])

从终端?

标签: octave

解决方案


您可以在不使用的情况下调用函数文件argv ()

文件matrixMultiply.m:

function matrixMultiply (A, x)
  result = A * x ; 
  presult = sprintf('%s %s\n', 'A * x =', mat2str(result));
  printf ("\a%s\n", presult);
endfunction 

从终端:

$ octave --eval "matrixMultiply(eye(2) , [3;4])"
A * x = [3;4]

推荐阅读