在另一个 Octave 函数文件中使用变量

Using variables from one Octave function file in another

假设我在同一加载路径中有两个 Octave 函数文件:file1.m 和 file2.m。

文件 1:

function [variable] = file1()
    variable = 1;
endfunction

文件 2:

function file2()
    variable2 = variable*2;
endfunction

如何才能在 file2 中使用 variable

我试过很多东西,比如:

1.

function [variable] = file1()
    global variable = 1;
endfunction

function file2()
    global variable;
    variable2 = variable*2;
endfunction

2.

在 file2.m

中的 file2() 之前或之内调用 file1()
file1();
function file2()
    global variable;
    variable2 = variable*2;
endfunction

3.

调用file2()时使用变量作为参数

function file2(variable)
    variable2 = variable*2;
endfunction

没有成功。任何帮助将不胜感激!

最简单的解决方案是在 file2 中调用 file1:

function file2()
    variable = file1();
    variable2 = variable*2; % do you want to return variable2 as the output of file2?
endfunction

编辑

如果你的函数returns不止一个变量,过程完全一样,即:

function [x,y,z] = file1()
    x = 1;
    y = 2;
    z = 3;
endfunction

function file2()
    [x,y,z] = file1();
    variable2 = 2*(x+y+z); % do you want to return variable2 as the output of file2?
endfunction