八度函数定义错误
Octave function definition error
我是第一次尝试使用 Octave,我想创建一个函数如下:
1;
function test=calc(x)
a=x^2;
factorial(a)
endfunction
val = calc (3)
我将它保存为 calc.m,当我 运行 它时,我得到一个错误,变量 x 未定义。
我做错了什么?
更新:最初的问题我设法解决了,但现在我遇到了另一个问题。请考虑以下代码:
init = 5.;
function val=prodval(x)
global init;
val=x+init^2;
endfunction
fin=prodval(3)
当我将脚本另存为 test.m 和 运行 时,出现以下错误:
>> test
error: for x^A, A must be a square matrix. Use .^ for elementwise power.
error: called from
prodval at line 5 column 6
test at line 7 column 4
这里到底发生了什么?我没有看到我在哪里错误地定义了矩阵...我也意识到这可能不是函数的最佳定义,但我正在尝试...
[更新]
对于每个你想要全局的范围 "visible" 你必须声明
它是全局的。 Reference
global init = 5;
function val = prodval (x)
global init;
val = x + init^2;
endfunction
fin=prodval(3)
fin = 28
我是第一次尝试使用 Octave,我想创建一个函数如下:
1;
function test=calc(x)
a=x^2;
factorial(a)
endfunction
val = calc (3)
我将它保存为 calc.m,当我 运行 它时,我得到一个错误,变量 x 未定义。
我做错了什么?
更新:最初的问题我设法解决了,但现在我遇到了另一个问题。请考虑以下代码:
init = 5.;
function val=prodval(x)
global init;
val=x+init^2;
endfunction
fin=prodval(3)
当我将脚本另存为 test.m 和 运行 时,出现以下错误:
>> test
error: for x^A, A must be a square matrix. Use .^ for elementwise power.
error: called from
prodval at line 5 column 6
test at line 7 column 4
这里到底发生了什么?我没有看到我在哪里错误地定义了矩阵...我也意识到这可能不是函数的最佳定义,但我正在尝试...
[更新]
对于每个你想要全局的范围 "visible" 你必须声明 它是全局的。 Reference
global init = 5;
function val = prodval (x)
global init;
val = x + init^2;
endfunction
fin=prodval(3)
fin = 28