如何从终端运行带有多个参数(包括矩阵)的ocatve命令?

时间:2018-09-21 08:48:56

标签: octave

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

考虑功能

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])
从终端

1 个答案:

答案 0 :(得分:2)

您可以不使用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]