要编写既能从 shell 调用时作为可执行程序、又能在 Octave 内部调用时作为普通函数的 m-文件,请使用通过 argv 函数初始化的默认输入参数。
如果从 shell 调用函数,Octave 不会向该函数传递任何输入参数,因此将使用默认参数。但当从解释器调用函数时,任何参数都会传递给函数,并覆盖默认值。
此外,文件必须以 .m 扩展名结尾,以便解释器将其识别为 Octave 函数。最后,argv 的输出是一个字符串元胞数组。在处理之前,可能需要使用 str2double 或 str2num 将其转换为数值。
作为一个完整示例,请考虑位于文件 mysin.m 中的以下代码。
#! /bin/octave -qf
function retval = mysin (x = str2double (argv(){end}))
retval = sin (x)
endfunction
这可以从 shell 中通过以下方式调用
mysin.m 1.5
或从 Octave 中通过以下方式调用
mysin (1.5)
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4